8.х Печатная форма с ссылкой на номер другой печатной формы.

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем PtaMask, 12 сен 2016.

  1. TopicStarter Overlay
    PtaMask
    Offline

    PtaMask

    Регистрация:
    14 июл 2016
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Так как их прописать? Напишите пример кода.
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204
    На коленке пример кода как-то так:
    Код:
    ДоговорПоле1 = СсылкаНаДокумент.Договор.Поле1;
    ДоговорПоле2 = СсылкаНаДокумент.Договор.Поле2;
  3. 1с-ник
    Offline

    1с-ник Профессионал в 1С Заблокирован

    Регистрация:
    5 окт 2014
    Сообщения:
    998
    Симпатии:
    164
    Баллы:
    104
    Может он имеет ввиду как сделать шаблон (судя из поста #4)?
    Тогда нарисуй область в макете, где будешь выводить свой договор, задай ей имя.
    В свойстве ячейки укажи заполнение - Шаблон, его текст будет типа «[Продавец]» в соответствии с договором поставки мебели № [НомерДоговора] от [ДатаДоговора]. предоставляет товар «[Покупатель]».
    И заполняешь его как у тебя в примере:
    Код:
    ТвояОбласть.Параметры.НомерДоговора = СсылкаНаДоговор.Номер;
    ТвояОбласть.Параметры.ДатаДоговора = Формат(СсылкаНаДоговор.Дата, ТвойФормат);
    PtaMask нравится это.
  4. TopicStarter Overlay
    PtaMask
    Offline

    PtaMask

    Регистрация:
    14 июл 2016
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Да я как раз об этом! Спасибо, сейчас попробую сделать.
  5. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.878
    Симпатии:
    1.027
    Баллы:
    204
    /offtopic mode on
    да нафига читать какую-либо литературу/смотреть обучалки по программированию 1С........
    /offtopic mode off
  6. TopicStarter Overlay
    PtaMask
    Offline

    PtaMask

    Регистрация:
    14 июл 2016
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Выдает ошибку переменная не определена. Думаю из-за типа данных реквизита СсылкаНаДоговор, какой тип ему присваивать к заказу покупателя?
    --- Объединение сообщений, 14 сен 2016 ---
    Код:
    Функция Печать() Экспорт
    
    ТабличныйДокумент = истина; //по ширине страницы
    
    ТабличныйДокумент = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    
    //заполняем шапку
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьШапка.Параметры.НомерАкта = СсылкаНаОбъект.Номер;
    ОбластьШапка.Параметры.ДатаАкта = Формат(СсылкаНаОбъект.Дата,"ДФ=dd.MM.yy; ДЛФ=DD");
    ТабличныйДокумент.Вывести(ОбластьШапка);
    
    //ОбластьПродавец = Макет.ПолучитьОбласть("Продавец");
    //ТабличныйДокумент.Вывести(ОбластьПродавец);
    
    //ОбластьПокупатель = Макет.ПолучитьОбласть("Покупатель");
    //ОбластьПокупатель.Параметры.Покупатель = СсылкаНаОбъект.Контрагент;
    //ТабличныйДокумент.Вывести(ОбластьПокупатель);
    
    
    ОбластьОбласть1 = Макет.ПолучитьОбласть("Область1");
    ТабличныйДокумент.Вывести(ОбластьОбласть1);
    
    //ОбластьРасчеты = Макет.ПолучитьОбласть("Расчеты");
    //ОбластьРасчеты.Параметры.Итого = СсылкаНаОбъект.СуммаДокумента;
    //ТабличныйДокумент.Вывести(ОбластьРасчеты);
    
    ОбластьОбласть2 = Макет.ПолучитьОбласть("Область2");
    Область2.Параметры.НомерДоговораКП = СсылкаНаДоговор.ДоговорКонтрагента.Номер;
    Область2.Параметры.ДатаДоговораКП = Формат(СсылкаНаДоговор.ДоговорКонтрагента.Дата, "ДФ=dd.MM.yyyy; ДЛФ=DD");
    ТабличныйДокумент.Вывести(ОбластьОбласть2);
    
    //ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    //ТабличныйДокумент.Вывести(ОбластьПодвал);
    
    возврат ТабличныйДокумент;
    КонецФункции
    
    Текущий код формы
    Сделал два реквизита СсылкаНаОбъект ссылается на документ реализация товаров и СсылкаНаДокумент идет в документ заказ покупателя.
    Ошибка:
    МодульОбъекта(30,1)}: Переменная не определена (Область2): {ВнешняяОбработка.АктПриемки.МодульОбъекта(30,1)}: Переменная не определена (Область2)
    Последнее редактирование: 14 сен 2016
  7. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204
    У вас нет параметра Область2. Может стоит почитать литературу по созданию печатных форм из шаблонов Word ?
  8. TopicStarter Overlay
    PtaMask
    Offline

    PtaMask

    Регистрация:
    14 июл 2016
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Первую я как-то сделал =) И как раз используя литературу. Но если бросите ссылку, которую вы как профи одобряете, буду очень благодарен. Область в макете есть, у ячейки стоит заполнение шаблон. Должно же все работать.
    Последнее редактирование: 14 сен 2016
  9. 1с-ник
    Offline

    1с-ник Профессионал в 1С Заблокирован

    Регистрация:
    5 окт 2014
    Сообщения:
    998
    Симпатии:
    164
    Баллы:
    104
    Код:
    ОбластьОбласть2 = Макет.ПолучитьОбласть("Область2");
    
    Область2.Параметры.НомерДоговораКП = СсылкаНаДоговор.ДоговорКонтрагента.Номер;

    ОбластьОбласть2 И Область2 - разные переменные :)
    Внимательней.
    PtaMask нравится это.
  10. TopicStarter Overlay
    PtaMask
    Offline

    PtaMask

    Регистрация:
    14 июл 2016
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    ЕХУ!!!!!! Все получилось! Очень стыдно за ошибку,извините, это я уже заработался, третий день сижу.
    1с-ник ОГРОМНОЕ ТЕБЕ СПАСИБО!!! Только ты один помог!!!
    Вот рабочий код!

    Код:
    Функция Печать() Экспорт
       
    ТабличныйДокумент = истина; //по ширине страницы
    
    ТабличныйДокумент = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    
    //заполняем шапку
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьШапка.Параметры.НомерАкта = СсылкаНаОбъект.Номер;
    ОбластьШапка.Параметры.ДатаАкта = Формат(СсылкаНаОбъект.Дата,"ДФ=dd.MM.yy; ДЛФ=DD");
    ТабличныйДокумент.Вывести(ОбластьШапка);
    
    //ОбластьПродавец = Макет.ПолучитьОбласть("Продавец");
    //ТабличныйДокумент.Вывести(ОбластьПродавец);
    
    //ОбластьПокупатель = Макет.ПолучитьОбласть("Покупатель");
    //ОбластьПокупатель.Параметры.Покупатель = СсылкаНаОбъект.Контрагент;
    //ТабличныйДокумент.Вывести(ОбластьПокупатель);
    
    
    ОбластьОбласть1 = Макет.ПолучитьОбласть("Область1");
    ТабличныйДокумент.Вывести(ОбластьОбласть1);
    
    //ОбластьРасчеты = Макет.ПолучитьОбласть("Расчеты");
    //ОбластьРасчеты.Параметры.Итого = СсылкаНаОбъект.СуммаДокумента;
    //ТабличныйДокумент.Вывести(ОбластьРасчеты);
    
    ОбластьОбласть2 = Макет.ПолучитьОбласть("Область2");
    ОбластьОбласть2.Параметры.НомерДоговораКП = СсылкаНаОбъект.Сделка.Номер;
    ОбластьОбласть2.Параметры.ДатаДоговораКП = Формат(СсылкаНаОбъект.Сделка.Дата, "ДФ=dd.MM.yyyy; ДЛФ=DD");
    ТабличныйДокумент.Вывести(ОбластьОбласть2);
    
    //ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    //ТабличныйДокумент.Вывести(ОбластьПодвал);
    
    возврат ТабличныйДокумент;
    КонецФункции