|
ТОРГ12 для УПП | ☑ | ||
---|---|---|---|---|
0
den17
05.12.11
✎
08:24
|
Здравствуйте, участники форума!! Помогите пожалуйста с созданием ВПФ ТОРГ12 для УПП. Создаю внешнюю обработку с реквизитом ссылка на объект (ДокументОбъект.РеализацияТоваровУслуг), из общих макетов беру макет ТОРГ12, открываю модуль менеджера д-нта "РТУ" и копирую себе в модуль объекта:
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина; УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ТОРГ12", "ТОРГ-12 (Товарная накладная с услугами)", ПечатьТОРГ12(МассивОбъектов, ОбъектыПечати, Ложь)); КонецПроцедуры и всю функцию: Функция ПечатьТОРГ12(МассивОбъектов, ОбъектыПечати, БезУслуг = Ложь) Подключаю ВПФ и при печати возникает ошибка "Обращение к процедуре объекта как к функции". А чего не так мож. посмотрите)) Заранее спасибо!! |
|||
1
PuhUfa
05.12.11
✎
08:27
|
||||
2
den17
05.12.11
✎
08:47
|
А если сделать так:
Функция Печать(МассивОбъектов, ОбъектыПечати, БезУслуг = Ложь) Экспорт мВалютаРегламентированногоУчета = глЗначениеПеременной("ВалютаРегламентированногоУчета"); ЕдиницаИзмеренияВеса = Константы.ЕдиницаИзмеренияВеса.Получить(); ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ТоварКод = "Артикул"; Иначе ТоварКод = "Код"; КонецЕсли; ТекстЗапросаШапка = "ВЫБРАТЬ | Номер, | Дата КАК ДатаДокумента, | РеализацияТоваровУслуг.Организация, | РеализацияТоваровУслуг.Организация КАК ЮрФизЛицо, | РеализацияТоваровУслуг.Организация КАК Поставщик, | РеализацияТоваровУслуг.Организация КАК Контрагент, | РеализацияТоваровУслуг.Организация КАК Руководители, | АдресДоставки КАК АдресДоставки, | ВЫБОР КОГДА Грузополучатель = &ПустойКонтрагент | ТОГДА Контрагент | ИНАЧЕ Грузополучатель КОНЕЦ КАК Грузополучатель, | ВЫБОР КОГДА Грузоотправитель = &ПустойКонтрагент | ТОГДА РеализацияТоваровУслуг.Организация | ИНАЧЕ Грузоотправитель КОНЕЦ КАК Грузоотправитель, | БанковскийСчетОрганизации КАК БанковскийСчет, | Контрагент КАК Покупатель, | Контрагент КАК Плательщик, | Сделка, | ДоговорКонтрагента.Представление КАК Основание, | ДоговорКонтрагента.ВедениеВзаиморасчетов КАК ВедениеВзаиморасчетов, | ОтветственныеЛица.ФизическоеЛицо КАК ОтветственноеЛицо, | ПРЕДСТАВЛЕНИЕ( | ВЫБОР КОГДА РеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете | ТОГДА ЕСТЬNULL(ТаблицаСоответствиеОрганизации.ПодразделениеОрганизации, """") | ИНАЧЕ РеализацияТоваровУслуг.Подразделение | КОНЕЦ) КАК ПредставлениеПодразделения, | ВЫБОР КОГДА РеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете | ТОГДА ЕСТЬNULL(ТаблицаСоответствиеОрганизации.ПодразделениеОрганизации, """") | ИНАЧЕ РеализацияТоваровУслуг.Подразделение | КОНЕЦ КАК Подразделение, | ВалютаДокумента, | КурсВзаиморасчетов КАК Курс, | КратностьВзаиморасчетов КАК Кратность, | УчитыватьНДС, | СуммаВключаетНДС, | ОтпускРазрешил, | ОтпускПроизвел, | ДоверенностьНомер, | ДоверенностьДата, | ДоверенностьВыдана, | ДоверенностьЧерезКого |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | |ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.ОтветственныеЛица.СрезПоследних(&ДатаСреза, СтруктурнаяЕдиница = &СтруктурнаяЕдиница) КАК ОтветственныеЛица |ПО | ОтветственныеЛица.СтруктурнаяЕдиница = РеализацияТоваровУслуг.Склад |ЛЕВОЕ СОЕДИНЕНИЕ |( | ВЫБРАТЬ | СоответсвиеПодразделений.Подразделение, | СоответсвиеПодразделений.Организация, | МИНИМУМ(СоответсвиеПодразделений.ПодразделениеОрганизации) КАК ПодразделениеОрганизации, | МАКСИМУМ(СоответсвиеПодразделений.ПодразделениеОрганизации) КАК ПодразделениеОрг | ИЗ | РегистрСведений.СоответствиеПодразделенийИПодразделенийОрганизаций КАК СоответсвиеПодразделений | ГДЕ | Подразделение = &Подразделение | И Организация = &Организация | И Организация <> ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) | И Подразделение <> ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка) | СГРУППИРОВАТЬ ПО | Подразделение, | Организация | ИМЕЮЩИЕ | КОЛИЧЕСТВО(*) = 1 |) ТаблицаСоответствиеОрганизации |ПО | ТаблицаСоответствиеОрганизации.Подразделение = РеализацияТоваровУслуг.Подразделение | И ТаблицаСоответствиеОрганизации.Организация = РеализацияТоваровУслуг.Организация |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент |"; ТекстЗапросаТовары = "ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК ТоварНаименование, | ВложенныйЗапрос.Номенклатура." + ТоварКод + " КАК ТоварКод, | ВложенныйЗапрос.ЕдиницаИзмерения.Представление КАК БазоваяЕдиницаНаименование, | ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ, | ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ВложенныйЗапрос.ЕдиницаИзмеренияМест.Представление КАК ВидУпаковки, | ВложенныйЗапрос.КоэффициентМест / ВложенныйЗапрос.Коэффициент КАК КоличествоВОдномМесте, | ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоМест > 0 ТОГДА ВложенныйЗапрос.КоличествоМест * ВложенныйЗапрос.ЕдиницаИзмеренияМест.Вес | ИНАЧЕ ВложенныйЗапрос.Количество * ВложенныйЗапрос.ЕдиницаИзмерения.Вес | КОНЕЦ КАК МассаБрутто, | ВложенныйЗапрос.Характеристика КАК Характеристика, | ВложенныйЗапрос.Серия КАК Серия, | ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС, | ВложенныйЗапрос.Цена КАК Цена, | ВЫБОР | КОГДА((ВложенныйЗапрос.ПроцентСкидкиНаценки = 0) И | (ВложенныйЗапрос.ПроцентАвтоматическихСкидок = 0)) | ТОГДА ЛОЖЬ | ИНАЧЕ Истина | КОНЕЦ КАК ЕстьСкидкиПоСтроке, | ВложенныйЗапрос.Количество КАК Количество, | ВложенныйЗапрос.КоличествоМест КАК КоличествоМест, | ВложенныйЗапрос.Сумма КАК Сумма, | ВложенныйЗапрос.СуммаНДС КАК СуммаНДС, | ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, | ВложенныйЗапрос.Метка КАК Метка |ИЗ | | ( | ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура, | РеализацияТоваровУслуг.Коэффициент, | РеализацияТоваровУслуг.ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест.Коэффициент КАК КоэффициентМест, | РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК Характеристика, | РеализацияТоваровУслуг.СерияНоменклатуры КАК Серия, | РеализацияТоваровУслуг.СтавкаНДС, | РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок, | СУММА(РеализацияТоваровУслуг.Количество) КАК Количество, | СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест, | СУММА(РеализацияТоваровУслуг.Сумма * &Курс / &Кратность) КАК Сумма, | СУММА(РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность) КАК СуммаНДС, | МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки, | 0 КАК Метка | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслуг.Номенклатура, | РеализацияТоваровУслуг.Коэффициент, | РеализацияТоваровУслуг.ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест, | РеализацияТоваровУслуг.ХарактеристикаНоменклатуры, | РеализацияТоваровУслуг.СерияНоменклатуры, | РеализацияТоваровУслуг.СтавкаНДС, | РеализацияТоваровУслуг.Цена, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок | ) КАК ВложенныйЗапрос |"; СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг"); Если НЕ БезУслуг Тогда ТекстЗапросаТовары = ТекстЗапросаТовары + " | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура КАК Номенклатура, | " + СтрокаВыборкиПоляСодержания + " КАК ТоварНаименование, | РеализацияТоваровУслуг.Номенклатура." + ТоварКод + " КАК ТоварКод, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК БазоваяЕдиницаНаименование, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, | NULL КАК ВидУпаковки, | NULL КАК КоличествоВОдномМесте, | 0 КАК МассаБрутто, | NULL КАК Характеристика, | NULL КАК Серия, | РеализацияТоваровУслуг.СтавкаНДС КАК СтавкаНДС, | РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена, | ВЫБОР | КОГДА(РеализацияТоваровУслуг.ПроцентСкидкиНаценки = 0) | ТОГДА ЛОЖЬ | ИНАЧЕ Истина | КОНЕЦ КАК ЕстьСкидкиПоСтроке, | РеализацияТоваровУслуг.Количество КАК Количество, | NULL КАК КоличествоМест, | РеализацияТоваровУслуг.Сумма * &Курс / &Кратность КАК Сумма, | РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность КАК СуммаНДС, | РеализацияТоваровУслуг.НомерСтроки КАК НомерСтроки, | 1 КАК Метка |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент |"; КонецЕсли; ТекстЗапросаТовары = ТекстЗапросаТовары + " | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК ТоварНаименование, | РеализацияТоваровУслуг.Номенклатура." + ТоварКод + " КАК ТоварКод, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК БазоваяЕдиницаНаименование, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, | NULL КАК ВидУпаковки, | NULL КАК КоличествоВОдномМесте, | РеализацияТоваровУслуг.Количество * РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Вес КАК МассаБрутто, | NULL КАК Характеристика, | NULL КАК Серия, | ""Без НДС"" КАК СтавкаНДС, | РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена, | Ложь КАК ЕстьСкидкиПоСтроке, | РеализацияТоваровУслуг.Количество КАК Количество, | NULL КАК КоличествоМест, | РеализацияТоваровУслуг.Сумма * &Курс / &Кратность КАК Сумма, | 0 КАК СуммаНДС, | РеализацияТоваровУслуг.НомерСтроки КАК НомерСтроки, | 2 КАК Метка |ИЗ | Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | | |УПОРЯДОЧИТЬ ПО Метка ВОЗР, НомерСтроки ВОЗР | |"; ТабДокумент = Новый ТабличныйДокумент; // Зададим параметры печатной формы по умолчанию ТабДокумент.ПолеСверху = 0; ТабДокумент.ПолеСлева = 0; ТабДокумент.ПолеСнизу = 0; ТабДокумент.ПолеСправа = 0; ТабДокумент.РазмерКолонтитулаСверху = 0; ТабДокумент.РазмерКолонтитулаСнизу = 0; ТабДокумент.АвтоМасштаб = Истина; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; // Восстановим установленные пользователем параметры печатной формы ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_ТОРГ12"; Макет = ПолучитьОбщийМакет("ТОРГ12"); ПервыйДокумент = Истина; Для каждого Ссылка Из МассивОбъектов Цикл Если Не ПервыйДокумент Тогда ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ПервыйДокумент = Ложь; НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДатаСреза", Ссылка.Дата); Запрос.УстановитьПараметр("СтруктурнаяЕдиница", Ссылка.Склад); Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка); Запрос.УстановитьПараметр("ПустойКонтрагент", Справочники.Контрагенты.ПустаяСсылка()); Запрос.УстановитьПараметр("Организация", Ссылка.Организация); Запрос.УстановитьПараметр("Подразделение", Ссылка.Подразделение); Запрос.Текст = ТекстЗапросаШапка; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка); // Вычислим курс документа для печати Если Ссылка.ВалютаДокумента <> мВалютаРегламентированногоУчета И Ссылка.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах И Ссылка.ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом Тогда ЗапросКурсАванса = Новый Запрос; ЗапросКурсАванса.УстановитьПараметр("ДокументСсылка", Ссылка); ЗапросКурсАванса.Текст = "ВЫБРАТЬ | Док.СуммаВзаиморасчетов, | Док.СуммаРегл |ИЗ | Документ.РеализацияТоваровУслуг.ДокументыРасчетовСКонтрагентом КАК Док |ГДЕ Док.Ссылка = &ДокументСсылка |ИТОГИ СУММА(СуммаВзаиморасчетов), СУММА(СуммаРегл) ПО ОБЩИЕ"; Выборка = ЗапросКурсАванса.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Если Выборка.Следующий() Тогда КурсОплаты = ?(Выборка.СуммаВзаиморасчетов = 0, 0, Выборка.СуммаРегл/Выборка.СуммаВзаиморасчетов); ВыборкаСуммаВзаиморасчетов = Выборка.СуммаВзаиморасчетов; ВыборкаСуммаРегл = Выборка.СуммаРегл; Иначе КурсОплаты = 0; ВыборкаСуммаВзаиморасчетов = 0; ВыборкаСуммаРегл = 0; КонецЕсли; СуммаВзаиморасчетов = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(УчетНДС.ПолучитьСуммуДокументаСНДС(Ссылка), Ссылка.ВалютаДокумента, Ссылка.ДоговорКонтрагента.ВалютаВзаиморасчетов, ЗаполнениеДокументов.КурсДокумента(Ссылка, мВалютаРегламентированногоУчета), Ссылка.КурсВзаиморасчетов, ЗаполнениеДокументов.КратностьДокумента(Ссылка, мВалютаРегламентированногоУчета), Ссылка.КратностьВзаиморасчетов); НеоплаченнаяСумма = СуммаВзаиморасчетов - ВыборкаСуммаВзаиморасчетов; Если НеоплаченнаяСумма > 0 Тогда КурсДляПечати = (НеоплаченнаяСумма * Ссылка.КурсВзаиморасчетов + ВыборкаСуммаРегл)/(НеоплаченнаяСумма + ВыборкаСуммаВзаиморасчетов); Иначе КурсДляПечати = КурсОплаты; КонецЕсли; Если КурсДляПечати = 0 Тогда Запрос.УстановитьПараметр("Курс", Ссылка.КурсВзаиморасчетов); Запрос.УстановитьПараметр("Кратность", ?(Ссылка.КратностьВзаиморасчетов=0,1,Ссылка.КратностьВзаиморасчетов)); Иначе Запрос.УстановитьПараметр("Курс", КурсДляПечати); Запрос.УстановитьПараметр("Кратность", 1); КонецЕсли; ИначеЕсли Ссылка.ВалютаДокумента = Ссылка.ДоговорКонтрагента.ВалютаВзаиморасчетов Тогда // Документ оформлен в валюте взаиморасчетов Запрос.УстановитьПараметр("Курс", Ссылка.КурсВзаиморасчетов); Запрос.УстановитьПараметр("Кратность", ?(Ссылка.КратностьВзаиморасчетов=0,1,Ссылка.КратностьВзаиморасчетов)); Иначе // Документ оформлен в валюте регламентированного учета Запрос.УстановитьПараметр("Курс", 1); Запрос.УстановитьПараметр("Кратность", 1); КонецЕсли; Запрос.Текст = ТекстЗапросаТовары; ЗапросТовары = Запрос.Выполнить().Выгрузить(); // Выводим общие реквизиты шапки СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.ЮрФизЛицо, Шапка.ДатаДокумента,, Шапка.БанковскийСчет); СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.ДатаДокумента); СведенияОГрузополучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Грузополучатель, Шапка.ДатаДокумента); СведенияОГрузоотправитель = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Грузоотправитель, Шапка.ДатаДокумента); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка); ОбластьМакета.Параметры.ДатаДокумента = Шапка.ДатаДокумента; Если Шапка.ЮрФизЛицо = Шапка.Грузоотправитель Тогда ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОПоставщике); Иначе ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОГрузоотправитель, "ПолноеНаименование,ИНН,ФактическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет"); КонецЕсли; ОбластьМакета.Параметры.ПредставлениеПодразделения = Шапка.Подразделение; ОбластьМакета.Параметры.ПредставлениеГрузополучателя = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОГрузополучателе, "ПолноеНаименование,ИНН,ФактическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет"); Если СокрЛП(Шапка.АдресДоставки) <> "" Тогда ОбластьМакета.Параметры.АдресДоставки = УправлениеКонтактнойИнформацией.ПолучитьПредставлениеАдресаПоСтрока(Шапка.АдресДоставки); Иначе ОбластьМакета.Параметры.АдресДоставки = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОГрузополучателе, "ФактическийАдрес"); КонецЕсли; ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОПоставщике); ОбластьМакета.Параметры.ПредставлениеПлательщика = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОПокупателе); Если Шапка.ВедениеВзаиморасчетов <> Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам И Шапка.ВедениеВзаиморасчетов <> Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоСчетам Тогда ОбластьМакета.Параметры.Основание = Шапка.Основание; Иначе Если ЗначениеЗаполнено(Шапка.Сделка) Тогда ОбластьМакета.Параметры.Основание = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка.Сделка, Строка(Шапка.Сделка.Метаданные().Синоним)); КонецЕсли; КонецЕсли; // Выводим всевозможные коды ОбластьМакета.Параметры.ОрганизацияПоОКПО = СведенияОГрузоотправитель.КодПоОКПО; ОбластьМакета.Параметры.ВидДеятельностиПоОКДП = ""; ОбластьМакета.Параметры.ГрузополучательПоОКПО = СведенияОГрузополучателе.КодПоОКПО; ОбластьМакета.Параметры.ПоставщикПоОКПО = СведенияОПоставщике.КодПоОКПО; ОбластьМакета.Параметры.ПлательщикПоОКПО = СведенияОПокупателе.КодПоОКПО; ОбластьМакета.Параметры.ОснованиеНомер = ""; ОбластьМакета.Параметры.ОснованиеДата = ""; ОбластьМакета.Параметры.ТранспортнаяНакладнаяНомер = ""; ОбластьМакета.Параметры.ТранспортнаяНакладнаяДата = ""; ТабДокумент.Вывести(ОбластьМакета); НомерСтраницы = 1; КоличествоСтрок = ЗапросТовары.Количество(); // инициализация итогов по странице ИтогоМассаБруттоНаСтранице = 0; ИтогоМестНаСтранице = 0; ИтогоКоличествоНаСтранице = 0; ИтогоСуммаНаСтранице = 0; ИтогоНДСНаСтранице = 0; ИтогоСуммаСНДСНаСтранице = 0; // инициализация итогов по документу ИтогоМассаБрутто = 0; ИтогоМест = 0; ИтогоКоличество = 0; ИтогоСуммаСНДС = 0; ИтогоСумма = 0; ИтогоНДС = 0; НомерСтроки = 0; // Создаем массив для проверки вывода МассивВыводимыхОбластей = Новый Массив; // Выводим многострочную часть докмента ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаб"); ОбластьМакета = Макет.ПолучитьОбласть("Строка"); ОбластьИтоговПоСтранице = Макет.ПолучитьОбласть("ИтогоПоСтранице"); ОбластьПодвала = Макет.ПолучитьОбласть("Подвал"); ОбластьМакетаВсего = Макет.ПолучитьОбласть("Всего"); Для Каждого ВыборкаСтрок Из ЗапросТовары Цикл Если НЕ ЗначениеЗаполнено(ВыборкаСтрок.Номенклатура) Тогда Продолжить; КонецЕсли; НомерСтроки = НомерСтроки + 1; ОбластьМакета.Параметры.Заполнить(ВыборкаСтрок); ОбластьМакета.Параметры.Номер = ЗапросТовары.Индекс(ВыборкаСтрок) + 1; ОбластьМакета.Параметры.ТоварНаименование = СокрЛП(ВыборкаСтрок.ТоварНаименование) + ФормированиеПечатныхФормСервер.ПредставлениеСерий(ВыборкаСтрок) + ?(ВыборкаСтрок.Метка = 2, " (возвратная тара)", ""); Если НЕ ЗначениеЗаполнено(ЕдиницаИзмеренияВеса) Тогда МассаБрутто = 0; Иначе МассаБрутто = ВыборкаСтрок.МассаБрутто; МассаБрутто = ?(МассаБрутто <> Неопределено И МассаБрутто <> NULL, МассаБрутто, 0); КонецЕсли; Мест = ВыборкаСтрок.КоличествоМест; Мест = ?(Мест <> Неопределено И Мест <> NULL, Мест, 0); Количество = ВыборкаСтрок.Количество; СуммаСНДС = Окр((ВыборкаСтрок.Сумма + ?(Шапка.СуммаВключаетНДС, 0, ВыборкаСтрок.СуммаНДС)), 2); СуммаНДС = Окр(ВыборкаСтрок.СуммаНДС, 2); СуммаБезНДС = СуммаСНДС - СуммаНДС; ОбластьМакета.Параметры.МассаБрутто = МассаБрутто; ОбластьМакета.Параметры.СуммаСНДС = СуммаСНДС; ОбластьМакета.Параметры.СуммаНДС = СуммаНДС; ОбластьМакета.Параметры.СтавкаНДС = ВыборкаСтрок.СтавкаНДС; ОбластьМакета.Параметры.СуммаБезНДС = СуммаБезНДС; Если Шапка.СуммаВключаетНДС Или ВыборкаСтрок.ЕстьСкидкиПоСтроке Тогда ОбластьМакета.Параметры.Цена = ?(Количество = 0, 0, СуммаБезНДС / Количество); Иначе ОбластьМакета.Параметры.Цена = ВыборкаСтрок.Цена; КонецЕсли; Если НомерСтроки = 1 Тогда // первая срока ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы; ТабДокумент.Вывести(ЗаголовокТаблицы); Иначе МассивВыводимыхОбластей.Очистить(); МассивВыводимыхОбластей.Добавить(ОбластьМакета); МассивВыводимыхОбластей.Добавить(ОбластьИтоговПоСтранице); Если НомерСтроки = КоличествоСтрок Тогда МассивВыводимыхОбластей.Добавить(ОбластьПодвала); МассивВыводимыхОбластей.Добавить(ОбластьМакетаВсего); КонецЕсли; Если НомерСтроки <> 1 И НЕ ФормированиеПечатныхФормСервер.ПроверитьВыводТабличногоДокумента(ТабДокумент, МассивВыводимыхОбластей) Тогда ОбластьИтоговПоСтранице.Параметры.ИтогМассаБруттоПоСтранице = ИтогоМассаБруттоНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогМестПоСтранице = ИтогоМестНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогКоличествоПоСтранице = ИтогоКоличествоНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогСуммыПоСтранице = ИтогоСуммаНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогНДСПоСтранице = ИтогоНДСНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогСуммыСНДСПоСтранице = ИтогоСуммаСНДСНаСтранице; ТабДокумент.Вывести(ОбластьИтоговПоСтранице); // очистим итоги по странице ИтогоМассаБруттоНаСтранице = 0; ИтогоМестНаСтранице = 0; ИтогоКоличествоНаСтранице = 0; ИтогоСуммаНаСтранице = 0; ИтогоНДСНаСтранице = 0; ИтогоСуммаСНДСНаСтранице = 0; НомерСтраницы = НомерСтраницы + 1; ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы; ТабДокумент.Вывести(ЗаголовокТаблицы); КонецЕсли; КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); // увеличим итоги по странице ИтогоМассаБруттоНаСтранице = ИтогоМассаБруттоНаСтранице + МассаБрутто; ИтогоМестНаСтранице = ИтогоМестНаСтранице + Мест; ИтогоКоличествоНаСтранице = ИтогоКоличествоНаСтранице + Количество; ИтогоСуммаНаСтранице = ИтогоСуммаНаСтранице + СуммаБезНДС; ИтогоНДСНаСтранице = ИтогоНДСНаСтранице + СуммаНДС; ИтогоСуммаСНДСНаСтранице = ИтогоСуммаСНДСНаСтранице + СуммаСНДС; // увеличим итоги по дукументу ИтогоМассаБрутто = ИтогоМассаБрутто + МассаБрут |
|||
3
den17
05.12.11
✎
08:47
|
Недостаточно фактических параметров
|
|||
4
John83
05.12.11
✎
09:02
|
значит недостаточно фактических параметров
попробуй при добавлении в самом справочнике прописать эти параметры |
|||
5
PuhUfa
05.12.11
✎
09:05
|
В модуле объекта
Функция ПечатьТОРГ12(БезУслуг = Ложь) //тут код из оригинала КонецФункции Функция Печать() Экспорт Накладная = ПечатьТОРГ12(); Возврат Накладная; КонецФункции // Печать В модуле формы: Процедура КнопкаВыполнитьНажатие(Кнопка) Таб = Печать(); Таб.ОтображатьСетку = Ложь; Таб.Защита = Ложь; Таб.ТолькоПросмотр = Ложь; Таб.ОтображатьЗаголовки = Ложь; Таб.Показать(); КонецПроцедуры |
|||
6
den17
05.12.11
✎
09:20
|
Функция ПечатьТОРГ12(МассивОбъектов, ОбъектыПечати, БезУслуг = Ложь)
//тут код из оригинала КонецФункции Функция Печать() Экспорт Накладная = ПечатьТОРГ12(); Возврат Накладная; КонецФункции // Печать При Ctrl+F7 пишет {ВнешняяОбработка.МК_ТОРГ12.МодульОбъекта(1071,17)}: Недостаточно фактических параметров (ПечатьТОРГ12) |
|||
7
den17
05.12.11
✎
09:21
|
Ну всё это конец.. Сейчас начнут разбивать молотком мой значёк 1С-Проф))
|
|||
8
PuhUfa
05.12.11
✎
09:22
|
(6) займись лучше кройкой и шитьем...
|
|||
9
John83
05.12.11
✎
09:23
|
(6) ээ... так параметры кто за тебя передавать будет? о_О
|
|||
10
den17
05.12.11
✎
09:25
|
А где? Ну. в смысле какие?
|
|||
11
John83
05.12.11
✎
09:25
|
(8) он же так покалечиться может :)
|
|||
12
John83
05.12.11
✎
09:26
|
вот тут
Накладная = ПечатьТОРГ12(Массив, Объекты); |
|||
13
PuhUfa
05.12.11
✎
09:28
|
(12) не надо там ничего передавать -)
|
|||
14
den17
05.12.11
✎
09:29
|
Так если я их туда добавлю, то про каждый из них программа пишет, что "переменная не определена", а если ничего не добавлять, то недостаточно фактических параметров..
|
|||
15
PuhUfa
05.12.11
✎
09:30
|
(14) по чем "значёк 1С-Проф" купил?
|
|||
16
den17
05.12.11
✎
09:32
|
Снял с пьяного 1с-ника
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |