8.х Печать документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем pitgtn, 4 мар 2011.

  1. TopicStarter Overlay
    pitgtn
    Offline

    pitgtn

    Регистрация:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Всем привет.
    Я программирую ровно неделю(сильно не пинайте).
    Создал документ на прием техники в ремонт с нуля. Теперь необходимо печатать 3 бумаги(Квитанция, Акт выполненных работ, гарантийный талон на запчасти). Уже пару дней изучаю как это сделать, но пока ни чего не выходит.
    Как лучше сделать макеты добавлять через конструктор и ставить каждому кнопку. Или же делать по средствам внешней обработки?
    Посоветуйте как быть.
    1С:8.1 (8.1.15.14) УТ 10.3 (10.3.13.2)
  2. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
  3. TopicStarter Overlay
    pitgtn
    Offline

    pitgtn

    Регистрация:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Спасибо за совет, а то я сомневался, как лучше.

    Воспользовавшись примером, я его отредактировал, но у меня почему то не вставляются данные в макет
    Вот код
    Код:
    Функция Печать() Экспорт
    Перем Запрос, ВыборкаШапки, ВыборкаТоваров; // Определяем переменные, используемые
    Перем ТабДокумент, Макет, ОбластьМакета;     // в нашей обработке
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
    Запрос.Текст = "
    |ВЫБРАТЬ
    |    Док.Номер,
    |    Док.Дата,
    |    Док.Заказчик,
    |    Док.Телефон,
    |    Док.Адрес,
    |    Док.Оборудование,
    |    Док.СерийныйНомер,
    |   Док.Модель,
    |    Док.ВнешнийВид,
    |    Док.Комплектация,
    |    Док.Дополнительно,
    |    Док.ЗаявленныеНесправности,
    |    Док.ОриентировачнаяЦена
    |ИЗ
    |    Документ.КвитанцияНаРемонт КАК Док
    |ГДЕ
    |    Док.Ссылка = &ТекущийДокумент";
    ВыборкаШапки = Запрос.Выполнить().Выбрать();    // Собираем данные пол шапке документа
    ВыборкаШапки.Следующий();    // Собираем данные пол шапке документа
    
    ТабДокумент = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Квитанция");
    
    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
    ТабДокумент.Вывести(ОбластьМакета);
    ТабДокумент.Показать();
    КонецФункции 
    
    
    В макете все переменные взяты в треугольные скобки "<>"
  4. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Надеюсь, вы эти скобки не вручную ставили?:) Надо в свойствах ячейки "заполнение" поставить "Параметр". Это первое.

    Второе. Все эти ваши параметры в макете находятся в одной области "Заголовок"??? Потому что, как видно из кода, вы выводите одну область - "Заголовок". Если ваши параметры находятся в других областях, вам их соответственно тоже все надо выводить.

    И третье. Перед тем как выводить область в табличный документ, параметры надо заполнить значениями. Т.е. между строками:
    Код:
    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
    
    
    
    и
    Код:
    ТабДокумент.Вывести(ОбластьМакета);
    
    
    
    вам надо писать:
    Код:
    ОбластьМакета.Параметры.Номер = ВыборкаШапки.Номер;
    ОбластьМакета.Параметры.Дата= ВыборкаШапки.Дата;
    //и т.д.
    
    
    
    Или проще - сразу все параметры заполнить из выборки:
    Код:
    ОбластьМакета.Параметры.Заполнить(ВыборкаШапки);
    
    
    
    Только для этого в тексте запроса надо псевдонимы полям присвоить. И чтобы они совпадали с параметрами в макете.
    Код:
    "|ВЫБРАТЬ
    |    Док.Номер КАК Номер,
    |    Док.Дата КАК Дата,
    |    ...и т.д."
    
    
  5. TopicStarter Overlay
    pitgtn
    Offline

    pitgtn

    Регистрация:
    27 фев 2011
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Тогда что бы не плодить тем на форуме.
    Не подскажите как Параметр Дата обрезать, чтобы был без часов, минут и секунд? =) спасибо.
  6. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    См. функцию Формат().

Поделиться этой страницей