Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 04:42

Создание печатной формы Товарный Чек

Автор 064madman, 17 апр 2012, 21:05

0 Пользователей и 1 гость просматривают эту тему.

064madman

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

И выдается вот такая ошибка:(см. приложение)

МаксимВікторович

так постав ";" где указано в ошыбке!

064madman

А теперь пишет при подключении в Предприятии:
Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (ПолучитьОбласть): Область не найдена: СтрокаТаблицы

МаксимВікторович

Ошибка при вызове метода контекста (ПолучитьОбласть): Область не найдена: СтрокаТаблицы

Значит нет у Вас етой области у печатной форме (именно макете).

064madman


МаксимВікторович

Я не спецыалист, потому не много знаю...
Вот, может поможет Вам:

http://howknow1c.ru/programmirovanie-1c/pechatnaja-forma-1s.html

has

Цитата: 064madman от 18 апр 2012, 22:01
но макет есть  :dfbsdfbsdf:
Говорят то про область. Скрин макета в студию.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск