Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 июн 2021, 07:44

Помогите с внешней обработкой

Автор Vladimir369, 10 фев 2017, 12:45

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

Vladimir369

Помогите с внешней обработкой печатной формы счета на оплату. Замучился уже. Сижу 3 дня и не сдвинулся с места. Очень буду признателен.

Первый снимок есть, его нужно изменить на второй, что бы я не делал, всегда ошибка. Может я что то не так делаю.

Вот код:

Процедура ПечатьСчета(СчетЗаказ, КоличествоЭкземпляров = 1, НаПринтер = Ложь, НепосредственнаяПечать = Ложь) Экспорт
   
   // Получить экземпляр документа на печать
   Если СчетЗаказ = "Счет" Тогда
      
      ТабДокумент = ПечатьСчетаЗаказа(СчетЗаказ);
      
   КонецЕсли;
   
   УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(СчетЗаказ, ""), НепосредственнаяПечать);
   
КонецПроцедуры // Печать
   
   
Функция ПолучитьСтруктуруПечатныхФорм() Экспорт
   
   Возврат Новый Структура("Счет","Счет на оплату");

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


Golickoff

Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Vladimir369

Написал код для счета на оплату покупателю, и вдруг. При попытке напечатать документ выдается ошибка - !!Поле объекта не обнаружено (НомерДоговораКонтрагента).

Подскажите пожалуйста, как мне в коде указать правильно номер договора контрагента.

Заранее спасибо

Tyts

Я не вижу такого поля на макете.

Теги: обработка 

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

Рейтинг@Mail.ru Rambler's Top100

Поиск