|
Как добить модуль, чтобы в макете внешней печатной форме печатался вес и объем товара УТ11 | ☑ | ||
---|---|---|---|---|
0
VID1234
12.12.19
✎
11:45
|
Создал ВПФ, но знаний по написанию модуля не хватает, подскажите, что прописать в модуле, чтобы отображался вес и объем, выше итоговой суммы, колонки не обязательны, просто суммарный объем и вес
|
|||
1
Uzyf
12.12.19
✎
12:36
|
Ну ты и спросил, покажи код модуля и макет хоть
|
|||
2
bolero
12.12.19
✎
12:41
|
(1) код модуля там километровый, парсер устанет, да и читать никто не будет.
Сам тоже хочу вес-объем в счете, но как подумаю, что эту колбасу потом поддерживать при обновлениях - все откладываю на потом. Засада в том, что нельзя расширением вклиниться в середину вывода макета. Либо в начало, либо в конец, либо полностью копировать, а потом при обновлениях сопровождать. |
|||
3
hhhh
12.12.19
✎
12:44
|
(2) там же в последних платформах уже есть вклиниться в середину
|
|||
4
Uzyf
12.12.19
✎
12:49
|
(2) добавляешь данные к запросу, в модуле есть "заполнитьзначения", расширяешь макет необходимыми параметрами - профит
|
|||
5
unbred
12.12.19
✎
12:50
|
(0) у тебя своя Печать() или БСП?
|
|||
6
VID1234
12.12.19
✎
12:59
|
Процедура ЗаполнитьТабличныйДокументСчетаНаОплату(ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати, ПараметрыПечати)
Перем КомплектПечатиПоСсылке; ШаблоныОшибок = Новый Структура; ШаблоныОшибок.Вставить("Товары", НСтр("ru = 'В документе %1 отсутствуют товары. Печать счета на оплату не требуется'")); ШаблоныОшибок.Вставить("ЗаменяющиеТовары", НСтр("ru = 'В документе %1 отсутствуют заменяющие товары. Печать счета на оплату не требуется'")); ШаблоныОшибок.Вставить("Этапы", НСтр("ru = 'В документе %1 отсутствуют этапы оплаты. Печать счета на оплату не требуется'")); ИспользоватьРучныеСкидки = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВПродажах"); ИспользоватьАвтоматическиеСкидки = ПолучитьФункциональнуюОпцию("ИспользоватьАвтоматическиеСкидкиВПродажах"); СтруктураИмяДопКолонки = Новый Структура("ИмяКолонкиКодов", ФормированиеПечатныхФорм.ИмяДополнительнойКолонки()); ДанныеПечати = ДанныеДляПечати.РезультатПоШапке.Выбрать(); ЭтапыОплаты = ДанныеДляПечати.РезультатПоЭтапамОплаты.Выгрузить(); Товары = ДанныеДляПечати.РезультатПоТабличнойЧасти.Выгрузить(); ЭтапыЗалоговойТары = ЭтапыОплаты.НайтиСтроки(Новый Структура("ЭтоЗалогЗаТару", Истина)); ТолькоЗалогЗаТару = ЭтапыЗалоговойТары.Количество() = ЭтапыОплаты.Количество() И ЭтапыЗалоговойТары.Количество() > 0; Если Товары.Колонки.Найти("Содержание")=Неопределено Тогда ЕстьСодержание = Ложь; Иначе ЕстьСодержание = Истина; КонецЕсли; ПоказыватьНДС = Константы.ВыводитьДопКолонкиНДС.Получить(); ПервыйДокумент = Истина; Пока ДанныеПечати.Следующий() Цикл Отказ = Ложь; СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка); ТаблицаТовары = Товары.НайтиСтроки(СтруктураПоиска); ТаблицаЭтапыОплаты = ЭтапыОплаты.НайтиСтроки(СтруктураПоиска); ПроверкаЗаполненияДокумента(ДанныеПечати, ТаблицаТовары, ТаблицаЭтапыОплаты, ШаблоныОшибок, Отказ); Если Отказ Тогда Продолжить; КонецЕсли; Если ПервыйДокумент Тогда ПервыйДокумент = Ложь; Иначе ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1; ЗаголовокСкидки = ФормированиеПечатныхФорм.НужноВыводитьСкидки(ТаблицаТовары, ИспользоватьРучныеСкидки Или ИспользоватьАвтоматическиеСкидки); ЕстьСкидки = ЗаголовокСкидки.ЕстьСкидки; СуффиксОбласти = ?(ДанныеПечати.УчитыватьНДС И НЕ ТолькоЗалогЗаТару И ПоказыватьНДС, "СНДС", "") + ?(ЕстьСкидки, "СоСкидкой", ""); Макет = Новый ТабличныйДокумент; ЗаполнитьРеквизитыШапкиСчетаНаОплату(ДанныеПечати, Макет, ТабличныйДокумент, ТаблицаЭтапыОплаты, ТаблицаТовары); Если ДанныеПечати.ЧастичнаяОплата ИЛИ ТипЗнч(ДанныеПечати.ДокументОснование) = Тип("ДокументСсылка.ОтчетКомитенту") Тогда ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицыЧастичнаяОплата"); ОбластьШапкаТаблицы.Параметры.Заполнить(СтруктураИмяДопКолонки); ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы); ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицыЧастичнаяОплата"); ОбластьСтрокаТаблицы.Параметры.Заполнить(ДанныеПечати); ОбластьСтрокаТаблицы.Параметры.НомерСтроки = 1; ТабличныйДокумент.Вывести(ОбластьСтрокаТаблицы); ОбластьИтого = Макет.ПолучитьОбласть("ПодвалТаблицыЧастичнаяОплата"); СтруктураДанныхИтого = Новый Структура; СтруктураДанныхИтого.Вставить("Всего", ДанныеПечати.СуммаДокумента); ОбластьИтого.Параметры.Заполнить(СтруктураДанныхИтого); ОбластьИтого.Параметры.Заполнить(ДанныеПечати); ТабличныйДокумент.Присоединить(ОбластьИтого); // Вывести ИтогоНДС СоответствиеСтавокНДС = Новый Соответствие; Если ДанныеПечати.УчитыватьНДС И НЕ ТолькоЗалогЗаТару Тогда ОбластьИтогоНДС = Макет.ПолучитьОбласть("ПодвалТаблицыНДС"); Для Каждого СтрокаТовара Из ТаблицаТовары Цикл СуммаНДС = СоответствиеСтавокНДС[СтрокаТовара.СтавкаНДС]; Если СуммаНДС = Неопределено Тогда СуммаНДС = СтрокаТовара.СуммаНДС; Иначе СуммаНДС = СуммаНДС + СтрокаТовара.СуммаНДС; КонецЕсли; СоответствиеСтавокНДС.Вставить(СтрокаТовара.СтавкаНДС, СуммаНДС); КонецЦикла; Для Каждого ТекСтавкаНДС Из СоответствиеСтавокНДС Цикл СтруктураДанныхИтогоНДС = Новый Структура; СтруктураДанныхИтогоНДС.Вставить("НДС", ФормированиеПечатныхФорм.ТекстНДСПоСтавке(ТекСтавкаНДС.Ключ, ДанныеПечати.ЦенаВключаетНДС)); Если ЗначениеЗаполнено(ТекСтавкаНДС.Значение) Тогда СтруктураДанныхИтогоНДС.Вставить("ВсегоНДС", ФормированиеПечатныхФорм.ФорматСумм(ТекСтавкаНДС.Значение /100 * ДанныеПечати.ПроцентОплаты)); Иначе СтруктураДанныхИтогоНДС.Вставить("ВсегоНДС","-"); КонецЕсли; ОбластьИтогоНДС.Параметры.Заполнить(СтруктураДанныхИтогоНДС); ТабличныйДокумент.Вывести(ОбластьИтогоНДС); КонецЦикла; ОбластьПодвалСНДС = Макет.ПолучитьОбласть("ПодвалТаблицыВсего"); СтруктураДанныхПодвалСНДС = Новый Структура("ВсегоСНДС", ФормированиеПечатныхФорм.ФорматСумм(ДанныеПечати.СуммаДокумента)); ОбластьПодвалСНДС.Параметры.Заполнить(СтруктураДанныхПодвалСНДС); ТабличныйДокумент.Вывести(ОбластьПодвалСНДС); КонецЕсли; // Вывести Сумму прописью ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописьюЧастичныйСчет"); СуммаПрописью = НСтр("ru='Всего на сумму %СуммаПрописью%'"); СуммаПрописью = СтрЗаменить(СуммаПрописью, "%СуммаПрописью%", РаботаСКурсамиВалют.СформироватьСуммуПрописью(ДанныеПечати.СуммаДокумента, ДанныеПечати.Валюта)); СтруктураДанныхСуммаПрописью = Новый Структура("СуммаПрописью", СуммаПрописью); ОбластьМакета.Параметры.Заполнить(СтруктураДанныхСуммаПрописью); ТабличныйДокумент.Вывести(ОбластьМакета); Иначе // Таблица "Товары" ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбласти); ОбластьСтрокаТаблицыСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбласти); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбласти); ОбластьПодвалНДС = Макет.ПолучитьОбласть("ПодвалТаблицыНДС"); ИспользоватьНаборы = Ложь; Если Товары.Колонки.Найти("ЭтоНабор") <> Неопределено Тогда ИспользоватьНаборы = Истина; ОбластьСтрокаТаблицыНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбласти + "Набор"); ОбластьСтрокаТаблицыКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбласти + "Комплектующие"); КонецЕсли; ПустыеДанные = НаборыСервер.ПустыеДанные(); ВыводШапки = 0; Если ДанныеПечати.УчитыватьНДС И НЕ ТолькоЗалогЗаТару Тогда СуффиксОбластиПодвал = "СНДС" + ?(ЕстьСкидки, "СоСкидкой", ""); ОбластьПодвалСНДС = Макет.ПолучитьОбласть("ПодвалТаблицыВсего" + СуффиксОбластиПодвал); КонецЕсли; Если ЕстьСкидки Тогда СтруктураЗаголовокСкидки = Новый Структура("Скидка, СуммаБезСкидки", ЗаголовокСкидки.Скидка, ЗаголовокСкидки.СуммаСкидки); ОбластьШапкаТаблицы.Параметры.Заполнить(СтруктураЗаголовокСкидки); КонецЕсли; ОбластьШапкаТаблицы.Параметры.Заполнить(СтруктураИмяДопКолонки); ОбластьСуммаПрописью = Макет.ПолучитьОбласть(?(ДанныеПечати.СчетКВозврату, "СуммаПрописьюКВозврату", "СуммаПрописью")); МассивПроверкиВывода = Новый Массив; Сумма = 0; СуммаНДС = 0; ВсегоСкидок = 0; ВсегоБезСкидок = 0; НомерСтроки = 0; СоответствиеСтавокНДС = Новый Соответствие; Для Каждого СтрокаТовары Из ТаблицаТовары Цикл Если НаборыСервер.ИспользоватьОбластьНабор(СтрокаТовары, ИспользоватьНаборы) Тогда ОбластьСтрокаТаблицы = ОбластьСтрокаТаблицыНабор; ИначеЕсли НаборыСервер.ИспользоватьОбластьКомплектующие(СтрокаТовары, ИспользоватьНаборы) Тогда ОбластьСтрокаТаблицы = ОбластьСтрокаТаблицыКомплектующие; Иначе ОбластьСтрокаТаблицы = ОбластьСтрокаТаблицыСтандарт; КонецЕсли; Если НаборыСервер.ВыводитьТолькоЗаголовок(СтрокаТовары, ИспользоватьНаборы) Тогда НомерСтрокиПечать = ""; Иначе НомерСтроки = НомерСтроки + 1; НомерСтрокиПечать = НомерСтроки; КонецЕсли; Если НомерСтроки = 0 И ВыводШапки <> 2 Тогда ВыводШапки = 1; КонецЕсли; ПрефиксИПостфикс = НаборыСервер.ПолучитьПрефиксИПостфикс(СтрокаТовары, ИспользоватьНаборы); ДополнительныеПараметрыПолученияНаименованияДляПечати = НоменклатураКлиентСервер.ДополнительныеПараметрыПредставлениеНоменклатурыДляПечати(); ДополнительныеПараметрыПолученияНаименованияДляПечати.ВозвратнаяТара = СтрокаТовары.ЭтоВозвратнаяТара; Если ЕстьСодержание Тогда ДополнительныеПараметрыПолученияНаименованияДляПечати.Содержание = СтрокаТовары.Содержание; КонецЕсли; Товар = ПрефиксИПостфикс.Префикс + НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати( СтрокаТовары.НаименованиеПолное, СтрокаТовары.Характеристика, , , // Серия ДополнительныеПараметрыПолученияНаименованияДляПечати) + ПрефиксИПостфикс.Постфикс; СтруктураДанныхСтроки = Новый Структура; СтруктураДанныхСтроки.Вставить("Товар", Товар); СтруктураДанныхСтроки.Вставить("НомерСтроки", НомерСтрокиПечать); ОбластьСтрокаТаблицы.Параметры.Заполнить(СтрокаТовары); Если ЗаголовокСкидки.ЕстьСкидки Тогда СтруктураДанныхСтроки.Вставить("СуммаСкидки", ?(ЗаголовокСкидки.ТолькоНаценка,- СтрокаТовары.СуммаСкидки,СтрокаТовары.СуммаСкидки)); КонецЕсли; Если ЗначениеЗаполнено(СтруктураИмяДопКолонки.ИмяКолонкиКодов) Тогда СтруктураДанныхСтроки.Вставить("Артикул", СтрокаТовары[СтруктураИмяДопКолонки.ИмяКолонкиКодов]); КонецЕсли; ОбластьСтрокаТаблицы.Параметры.Заполнить(СтруктураДанныхСтроки); Если НаборыСервер.ВыводитьТолькоЗаголовок(СтрокаТовары, ИспользоватьНаборы) Тогда ОбластьСтрокаТаблицы.Параметры.Заполнить(ПустыеДанные); КонецЕсли; МассивПроверкиВывода.Очистить(); МассивПроверкиВывода.Добавить(ОбластьСтрокаТаблицы); Если НомерСтроки = ТаблицаТовары.Количество() Тогда МассивПроверкиВывода.Добавить(ОбластьПодвалТаблицы); МассивПроверкиВывода.Добавить(ОбластьПодвалНДС); МассивПроверкиВывода.Добавить(ОбластьСуммаПрописью); КонецЕсли; Если ТабличныйДокумент.ПроверитьВывод(МассивПроверкиВывода) Тогда Если (НомерСтроки = 1 И ВыводШапки = 0) ИЛИ (НомерСтроки = 0 И ВыводШапки = 1) Тогда ВыводШапки = 2; ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы); КонецЕсли; Иначе ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы); КонецЕсли; ТабличныйДокумент.Вывести(ОбластьСтрокаТаблицы); Если Не НаборыСервер.ИспользоватьОбластьКомплектующие(СтрокаТовары, ИспользоватьНаборы) Тогда Сумма = Сумма + СтрокаТовары.Сумма; СуммаНДС = СуммаНДС + СтрокаТовары.СуммаНДС; Если ЕстьСкидки Тогда ВсегоСкидок = ВсегоСкидок + СтрокаТовары.СуммаСкидки; ВсегоБезСкидок = ВсегоБезСкидок + СтрокаТовары.СуммаБезСкидки; КонецЕсли; Если ДанныеПечати.УчитыватьНДС И НЕ ТолькоЗалогЗаТару Тогда СуммаНДСПоСтавке = СоответствиеСтавокНДС[СтрокаТовары.СтавкаНДС]; Если СуммаНДСПоСтавке = Неопределено Тогда СуммаНДСПоСтавке = 0; КонецЕсли; СоответствиеСтавокНДС.Вставить(СтрокаТовары.СтавкаНДС, СуммаНДСПоСтавке + СтрокаТовары.СуммаНДС); КонецЕсли; КонецЕсли; КонецЦикла; СтруктураДанныхВсегоСкидки = Новый Структура; // Подвал таблицы "Товары" Если ЕстьСкидки Тогда СтруктураДанныхВсегоСкидки.Вставить("ВсегоСкидок", ?(ЗаголовокСкидки.ТолькоНаценка,-ВсегоСкидок, ВсегоСкидок)); СтруктураДанныхВсегоСкидки.Вставить("ВсегоБезСкидок", ВсегоБезСкидок); Если ДанныеПечати.УчитыватьНДС И НЕ ТолькоЗалогЗаТару Тогда СтруктураДанныхВсегоСкидки.Вставить("ВсегоСуммаНДС", СуммаНДС); КонецЕсли; КонецЕсли; СтруктураДанныхВсегоСкидки.Вставить("Всего", ФормированиеПечатныхФорм.ФорматСумм(Сумма)); ОбластьПодвалТаблицы.Параметры.Заполнить(СтруктураДанныхВсегоСкидки); ТабличныйДокумент.Вывести(ОбластьПодвалТаблицы); // Область "ПодвалТаблицыНДС" Если ДанныеПечати.УчитыватьНДС И НЕ ТолькоЗалогЗаТару Тогда Для Каждого ТекСтавкаНДС Из СоответствиеСтавокНДС Цикл СтруктураДанныхПодвалНДС = Новый Структура; СтруктураДанныхПодвалНДС.Вставить("НДС", ФормированиеПечатныхФорм.ТекстНДСПоСтавке(ТекСтавкаНДС.Ключ, ДанныеПечати.ЦенаВключаетНДС)); СтруктураДанныхПодвалНДС.Вставить("ВсегоНДС", ФормированиеПечатныхФорм.ФорматСумм(ТекСтавкаНДС.Значение, ,"-")); ОбластьПодвалНДС.Параметры.Заполнить(СтруктураДанныхПодвалНДС); ТабличныйДокумент.Вывести(ОбластьПодвалНДС); КонецЦикла; СтруктураДанныхПодвалВсегоСНДС = Новый Структура; СтруктураДанныхПодвалНДС.Вставить("ВсегоСНДС", ФормированиеПечатныхФорм.ФорматСумм(Сумма + ?(ДанныеПечати.ЦенаВключаетНДС, 0, СуммаНДС))); ОбластьПодвалСНДС.Параметры.Заполнить(СтруктураДанныхПодвалНДС); ТабличныйДокумент.Вывести(ОбластьПодвалСНДС); Иначе СтруктураДанныхПодвалНДС = Новый Структура; СтруктураДанныхПодвалНДС.Вставить("НДС", НСтр("ru='Без налога (НДС)'")); СтруктураДанныхПодвалНДС.Вставить("ВсегоНДС", "-"); ОбластьПодвалНДС.Параметры.Заполнить(СтруктураДанныхПодвалНДС); ТабличныйДокумент.Вывести(ОбластьПодвалНДС); КонецЕсли; // Вывести Сумму прописью СуммаКПрописи = Сумма + ?(ДанныеПечати.ЦенаВключаетНДС, 0, СуммаНДС); ИтоговаяСтрока = НСтр("ru='Всего наименований %Количество%, на сумму %Сумма%'"); ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%Количество%", НомерСтроки); ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%Сумма%", ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ДанныеПечати.Валюта)); //VID++++++++++++++++++ //Вес_ = 0; //Объем_ = 0; //++++++++++++++++++++ // //VID( // ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописьют"); //ОбластьМакета.Параметры.ВесТовара = ВыборкаСтрокаТаблицыСтандарт.Количество*ЕдиницаИзмерения.Вес; //ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьСуммаПрописью.Параметры.ВесТовара = ВыборкаСтрокаТаблицыСтандарт.Количество*ЕдиницаИзмерения.Вес; ОбластьСуммаПрописью.Параметры.ОбъемТовара = ТвойОбъем; //VID) // VID Вывести Вес Объем++++++++++++++++++ //ОбластьМакета.Параметры.ВесОбъем = "Объем = " + Объем_ + " куб. м.; Вес = " + Вес_ + " кг."; // VID++++++++++++ СтруктураДанныхСуммаПрописью = Новый Структура; Если ДанныеПечати.СчетКВозврату Тогда СуммаКВозврату = ДанныеПечати.СуммаКВозврату; СуммаИтого = СуммаКПрописи-СуммаКВозврату; Если СуммаИтого < 0 Тогда СуммаИтого = 0; КонецЕсли; СтруктураДанныхСуммаПрописью.Вставить("СуммаВозврата", ФормированиеПечатныхФорм.ФорматСумм(СуммаКВозврату, ДанныеПечати.Валюта)); СтруктураДанныхСуммаПрописью.Вставить("СуммаИтогоКОплате", ФормированиеПечатныхФорм.ФорматСумм(СуммаИтого, ДанныеПечати.Валюта, "0")); СтруктураДанныхСуммаПрописью.Вставить("СуммаПрописью", РаботаСКурсамиВалют.СформироватьСуммуПрописью(СуммаИтого, ДанныеПечати.Валюта)); Иначе СтруктураДанныхСуммаПрописью.Вставить("СуммаПрописью", РаботаСКурсамиВалют.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеПечати.Валюта)); КонецЕсли; СтруктураДанныхСуммаПрописью.Вставить("ИтоговаяСтрока", ИтоговаяСтрока); ОбластьСуммаПрописью.Параметры.Заполнить(СтруктураДанныхСуммаПрописью); ТабличныйДокумент.Вывести(ОбластьСуммаПрописью); КонецЕсли; ЗаполнитьРеквизитыПодвалаСчетаНаОплату(ДанныеПечати, Макет, ТабличныйДокумент, ТаблицаЭтапыОплаты, СоответствиеСтавокНДС, ПараметрыПечати); УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка); КонецЦикла; КонецПроцедуры |
|||
7
VID1234
12.12.19
✎
13:00
|
Извините, что сразу не ответил, у меня внешняя печатная форма, созданная на основе внутренней макет тоже скопирован с конфигуратора.
|
|||
8
VID1234
12.12.19
✎
13:03
|
БСП!
|
|||
9
VID1234
12.12.19
✎
13:07
|
(1) А как макет загрузить сюда. Где кнопка возможности прикрепления изображения?
|
|||
10
Uzyf
12.12.19
✎
13:10
|
(9) только ссылкой
|
|||
11
VID1234
12.12.19
✎
13:14
|
(10) ок, сейчас сделаю
|
|||
12
Uzyf
12.12.19
✎
13:17
|
(11)
ОбластьСуммаПрописью.Параметры.ВесТовара = ВыборкаСтрокаТаблицыСтандарт.Количество*ЕдиницаИзмерения.Вес; ОбластьСуммаПрописью.Параметры.ОбъемТовара = ТвойОбъем; Ну заполнил параметры, в макет тоже добавил "ВесТовара" и "ОбъемТовара"? |
|||
13
VID1234
12.12.19
✎
13:18
|
https://dropmefiles.com/BIcYE - макет, место добавления параметров обведен
|
|||
14
VID1234
12.12.19
✎
13:21
|
(12) параметры не определены, как их определить или ссылку нужно прописать
|
|||
15
VID1234
12.12.19
✎
13:24
|
опять же ВыборкаСтрокаСаблицыСтандарт - это тоже не определено, как выбрать вес с номенклатуры и умножить его на количество товаров которое указано в таблице
|
|||
16
Uzyf
12.12.19
✎
13:27
|
(13) Макет = Новый ТабличныйДокумент;
ЗаполнитьРеквизитыШапкиСчетаНаОплату(ДанныеПечати, Макет, ТабличныйДокумент, ТаблицаЭтапыОплаты, ТаблицаТовары); |
|||
17
Uzyf
12.12.19
✎
13:28
|
(16) тут выбирается стандартный макет
Макет = УправлениеПечатью.МакетПечатнойФормы("Обработка.ПечатьСчетовНаОплату.ПФ_MXL_СчетНаОплату"); Ты это не переделывал? |
|||
18
Rema Dan
12.12.19
✎
13:28
|
(0) Я подобное считал в УТ через функционал типовых модулей ОбработкаТабличнойЧасти: https://pastebin.com/wnCy4kgX
|
|||
19
VID1234
12.12.19
✎
13:57
|
(17) переделал, у меня макет подтягивается с внешней обработки!
|
|||
20
Uzyf
12.12.19
✎
13:57
|
В общем можно так сделать
ТвойМакет = ПолучитьМакет("ТвойМакет"); ОбластьВесОбъем = ТвойМакет.ПолучитьОбласть("ВесОбъем"); ОбластьВесОбъем.Параметры.ВесТовара = ВыборкаСтрокаТаблицыСтандарт.Количество*ЕдиницаИзмерения.Вес; ОбластьВесОбъем.Параметры.ОбъемТовара = ТвойОбъем; ТабличныйДокумент.Вывести(ОбластьВесОбъем); |
|||
21
Uzyf
12.12.19
✎
13:58
|
(19) и че заполняются параметры?
|
|||
22
VID1234
12.12.19
✎
14:00
|
(21) Да все заполняется, как и с внутренней, только изначально в конфигураторе вес и объем не указывается в счете, поэтому я и заморачиваюсь.
|
|||
23
Uzyf
12.12.19
✎
14:04
|
(22) а, так ты их вообще их не находил, я думал ты спрашиваешь как вывести
|
|||
24
VID1234
12.12.19
✎
14:06
|
да я вообще их не выводил
{ВнешняяОбработка.СчетНаОплатуВнешний.МодульОбъекта(457,39)}: Переменная не определена (ВыборкаСтрокаТаблицыСтандарт) ОбластьВесОбъем.Параметры.ВесТовара = <<?>>ВыборкаСтрокаТаблицыСтандарт.Количество*ЕдиницаИзмерения.Вес; (Проверка: Сервер) {ВнешняяОбработка.СчетНаОплатуВнешний.МодульОбъекта(457,79)}: Переменная не определена (ЕдиницаИзмерения) ОбластьВесОбъем.Параметры.ВесТовара = ВыборкаСтрокаТаблицыСтандарт.Количество*<<?>>ЕдиницаИзмерения.Вес; (Проверка: Сервер) {ВнешняяОбработка.СчетНаОплатуВнешний.МодульОбъекта(458,41)}: Переменная не определена (ТвойОбъем) ОбластьВесОбъем.Параметры.ОбъемТовара = <<?>>ТвойОбъем; (Проверка: Сервер) |
|||
25
VID1234
12.12.19
✎
14:08
|
Область ВесОбъем я сейчас сделал, Параметр ВесОбъем тоже, но а в модуле я не указал сам параметр, оператора то создал, а откуда ему и как получить данные прога не знает, а я тем более)))))
|
|||
26
Uzyf
12.12.19
✎
14:10
|
(25) понятно, начал с конца
|
|||
27
Uzyf
12.12.19
✎
14:20
|
(24) а че у единицы измерения есть вес?
|
|||
28
Uzyf
12.12.19
✎
14:25
|
А вообще почитай (18) по ссылке, там вроде бы то что тебе надо
|
|||
29
hhhh
12.12.19
✎
14:27
|
(25) такую фигню никто в голове держать не будет. Еще голову забивать, когда всегда можно глянуть в конфигураторе. Поэтому тебе нужно ждать человека, который только вот-вот на неделе занимался этой задачей и еще помнит, что откуда брал.
|
|||
30
VID1234
12.12.19
✎
15:49
|
Если у кого нибудь будут идеи, то прошу помощи.
|
|||
31
rozer76
13.12.19
✎
07:56
|
Все не читал, но ЕдиницаИзмерения.Вес это неправильно. Расчет сложнее - см модуль менеджера УпаковкиЕдиницыИзмерения и поищи ссылки на функции расчета по конфе - например в отчетах сслылок много когда текс запроса кодом модифицируется и подставляется дикий запрос расчета объема и веса из вышеуказанного модуля менеджера. Это будет универсально -а вдруг захотят упаковки использовать...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |