|
Макет внешней печатной формы | ☑ | ||
---|---|---|---|---|
0
reznik911
12.02.14
✎
14:57
|
добрый день! Конфигурация: УТП для Казахстана 2.0.2.5.
В 1с предприятие есть возможность вывести дополнительные кнопки (Артикул,Код) .если один из них выбрать то в типовой печатной форме появляется эта колонка, вернее в макетах он есть только становится видимым. http://radikal.ru/f/s020.radikal.ru/i718/1402/95/2e7a9a6d937c.jpg.html Если не выводить доп колонки то конечно же http://radikal.ru/f/s018.radikal.ru/i524/1402/83/cc01fcce1f01.jpg.html Есть внешняя печатная форма. отредактировал ее под типовую чтоб он тоже выводил колонку артикул. http://radikal.ru/f/s002.radikal.ru/i200/1402/22/f081d518a81a.jpg.html если не выводить то получается так http://radikal.ru/f/i016.radikal.ru/1402/83/b356d75452d1.jpg.html в запросе есть текст где если доп. колонка не выводится то остальные колонки +Эта колонка(артикул), т.е. ширина этой колонки плюсуется к другим. но увы он у меня не плюсует, а просто не выводит колонку артикул. Не подскажете как привести мою таблицу http://radikal.ru/f/i016.radikal.ru/1402/83/b356d75452d1.jpg.html к этой http://radikal.ru/f/s018.radikal.ru/i524/1402/83/cc01fcce1f01.jpg.html текст в типовой печатной форме Функция ПечатьДокумента() Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.УстановитьПараметр("Дата", Дата); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата, | РеализацияТоваровУслуг.ДоговорКонтрагента, | РеализацияТоваровУслуг.Контрагент КАК Получатель, | РеализацияТоваровУслуг.Организация, | РеализацияТоваровУслуг.Организация КАК Поставщик, | РеализацияТоваровУслуг.СтруктурноеПодразделение, | РеализацияТоваровУслуг.СуммаДокумента, | РеализацияТоваровУслуг.ВалютаДокумента, | РеализацияТоваровУслуг.УчитыватьНДС, | РеализацияТоваровУслуг.СуммаВключаетНДС, | РеализацияТоваровУслуг.УчитыватьАкциз, | РеализацияТоваровУслуг.СуммаВключаетАкциз, | РеализацияТоваровУслуг.КурсВзаиморасчетов, | РеализацияТоваровУслуг.КратностьВзаиморасчетов, | РеализацияТоваровУслуг.Грузополучатель, | РеализацияТоваровУслуг.Доверенность, | РеализацияТоваровУслуг.Склад, | РеализацияТоваровУслуг.ОтпускПроизвел, | РеализацияТоваровУслуг.ОтпускРазрешил, | ОтветственныеЛицаСклад.ФизическоеЛицо КАК ОтпустилМОЛ , | РеализацияТоваровУслуг.ДоверенностьЧерезКого |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(&Дата, ) КАК ОтветственныеЛицаСклад | ПО РеализацияТоваровУслуг.Склад = ОтветственныеЛицаСклад.СтруктурнаяЕдиница |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ТекстКурс = ""; СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг"); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВложенныйЗапросПоТоварам.Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | ВложенныйЗапросПоТоварам.Номенклатура.Код КАК Код, | ВложенныйЗапросПоТоварам.Номенклатура.Артикул КАК Артикул, | ВложенныйЗапросПоТоварам.Количество, | ВложенныйЗапросПоТоварам.КоличествоМест, | ВложенныйЗапросПоТоварам.ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ВложенныйЗапросПоТоварам.ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | ВложенныйЗапросПоТоварам.Цена, | ВложенныйЗапросПоТоварам.Сумма, | ВложенныйЗапросПоТоварам.СуммаНДС, | ВложенныйЗапросПоТоварам.СуммаАкциза, | ВложенныйЗапросПоТоварам.ПроцентСкидкиНаценки КАК Скидка, | ВложенныйЗапросПоТоварам.ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ВложенныйЗапросПоТоварам.ХарактеристикаНоменклатуры КАК Характеристика, | ВложенныйЗапросПоТоварам.СтранаПроисхождения КАК СтранаПроисхождения, | ВложенныйЗапросПоТоварам.НомерГТД КАК НомерГТД, | ВложенныйЗапросПоТоварам.СерияНоменклатуры КАК Серия, | ВложенныйЗапросПоТоварам.НомерСтроки КАК НомерСтроки, | ВложенныйЗапросПоТоварам.Метка КАК Метка |ИЗ | (ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура КАК Номенклатура, | РеализацияТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | РеализацияТоваровУслуг.Цена КАК Цена, | РеализацияТоваровУслуг.СтавкаНДС КАК СтавкаНДС, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | РеализацияТоваровУслуг.СерияНоменклатуры.НомерГТД КАК НомерГТД, | РеализацияТоваровУслуг.СерияНоменклатуры.СтранаПроисхождения КАК СтранаПроисхождения, | РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | РеализацияТоваровУслуг.СерияНоменклатуры КАК СерияНоменклатуры, | СУММА(РеализацияТоваровУслуг.Количество) КАК Количество, | СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест, | СУММА(РеализацияТоваровУслуг.Сумма) КАК Сумма, | СУММА(РеализацияТоваровУслуг.СуммаНДС) КАК СуммаНДС, | СУММА(РеализацияТоваровУслуг.СуммаАкциза) КАК СуммаАкциза, | МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки, | 0 КАК Метка | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | | СГРУППИРОВАТЬ ПО | РеализацияТоваровУслуг.Номенклатура, | РеализацияТоваровУслуг.ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест, | РеализацияТоваровУслуг.Цена, | РеализацияТоваровУслуг.СтавкаНДС, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок, | РеализацияТоваровУслуг.СерияНоменклатуры, | РеализацияТоваровУслуг.ХарактеристикаНоменклатуры, | РеализацияТоваровУслуг.СерияНоменклатуры.НомерГТД, | РеализацияТоваровУслуг.СерияНоменклатуры.СтранаПроисхождения) КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура, | " + СтрокаВыборкиПоляСодержания + ", | РеализацияТоваровУслуг.Номенклатура.Код, | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.Количество, | NULL, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление, | NULL, | РеализацияТоваровУслуг.Цена, | РеализацияТоваровУслуг.Сумма, | РеализацияТоваровУслуг.СуммаНДС, | 0, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | NULL, | NULL, | NULL, | NULL, | РеализацияТоваровУслуг.НомерСтроки, | 1 |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура, | ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)), | РеализацияТоваровУслуг.Номенклатура.Код, | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.Количество, | NULL, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление, | NULL, | РеализацияТоваровУслуг.Цена, | РеализацияТоваровУслуг.Сумма, | 0, | 0, | 0, | NULL, | NULL, | NULL, | NULL, | NULL, | РеализацияТоваровУслуг.НомерСтроки, | 2 |ИЗ | Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | Метка, | НомерСтроки"; ЗапросТовары = Запрос.Выполнить().Выгрузить(); СтруктурнаяЕдиницаОрганизация = ОбщегоНазначения.ПолучитьСтруктурнуюЕдиницу(Шапка.Организация, Шапка.СтруктурноеПодразделение); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Накладная"; Макет = ПолучитьМакет("Накладная"); // Выводим шапку накладной ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакета.Параметры.ТекстЗаголовка = РаботаСДиалогами.СформироватьЗаголовокДокумента(ЭтотОбъект, "Расходная накладная"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); ПредставлениеПоставщика = ОбщегоНазначения.ОписаниеОрганизации(ОбщегоНазначения.СведенияОЮрФизЛице(СтруктурнаяЕдиницаОрганизация, Шапка.Дата), "ПолноеНаименование,", Ложь); ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика; ОбластьМакета.Параметры.Поставщик = СтруктурнаяЕдиницаОрганизация; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); ПредставлениеПолучателя = ОбщегоНазначения.ОписаниеОрганизации(ОбщегоНазначения.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата), "ПолноеНаименование,", Ложь); ОбластьМакета.Параметры.ПредставлениеПолучателя = СокрЛП(ПредставлениеПолучателя); ОбластьМакета.Параметры.Получатель = Шапка.Получатель; ТабДокумент.Вывести(ОбластьМакета); Если (Шапка.Получатель <> Шапка.Грузополучатель) И ЗначениеЗаполнено(Шапка.Грузополучатель) Тогда ОбластьМакета = Макет.ПолучитьОбласть("Грузополучатель"); ПредставлениеГрузополучателя = ОбщегоНазначения.ОписаниеОрганизации(ОбщегоНазначения.СведенияОЮрФизЛице(Шапка.Грузополучатель, Шапка.Дата), "ПолноеНаименование,", Ложь); ОбластьМакета.Параметры.ПредставлениеГрузополучателя = СокрЛП(ПредставлениеГрузополучателя); ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; Если ЗначениеЗаполнено(Шапка.Доверенность) Тогда ОбластьМакета = Макет.ПолучитьОбласть("Доверенность"); ДанныеДляДоверенности = СокрЛП(Шапка.Доверенность); Если ЗначениеЗаполнено(Шапка.ДоверенностьЧерезКого) Тогда ДанныеДляДоверенности = ДанныеДляДоверенности + " выданной, " + СокрЛП(Шапка.ДоверенностьЧерезКого); КонецЕсли; ОбластьМакета.Параметры.Доверенность = ДанныеДляДоверенности; ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; Если ЗначениеЗаполнено(Шапка.ДоговорКонтрагента) Тогда ОбластьМакета = Макет.ПолучитьОбласть("Основание"); ОбластьМакета.Параметры.Основание = Шапка.ДоговорКонтрагента; ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; Если Товары.Количество() + ВозвратнаяТара.Количество()<> 0 Тогда ОбластьМакета = Макет.ПолучитьОбласть("Склад"); ОбластьМакета.Параметры.Склад = Шапка.Склад; ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; ЕстьСкидки = ЗапросТовары.Итог("Скидка") + ЗапросТовары.Итог("АвтоматическаяСкидка") <> 0; ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ВыводитьКоды = Истина; Колонка = "Артикул"; ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда ВыводитьКоды = Истина; Колонка = "Код"; Иначе ВыводитьКоды = Ложь; КонецЕсли; ВыводитьГТД = Ложь; //Проверим нужно ли выводить страну происхождения и ГТД Для Каждого Товар ИЗ ЗапросТовары Цикл Если ЗначениеЗаполнено(Товар.НомерГТД) Или ЗначениеЗаполнено(Товар.СтранаПроисхождения) Тогда ВыводитьГТД = Истина; Прервать; КонецЕсли; КонецЦикла; ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы|Товар"); ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма"); ОбластьГТД = Макет.ПолучитьОбласть("ШапкаТаблицы|ГТД"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ТабДокумент.Присоединить(ОбластьСуммы); Если ВыводитьГТД Тогда ТабДокумент.Присоединить(ОбластьГТД); КонецЕсли; ОбластьКолонкаТовар = Макет.Область("Товар"); Если Не ВыводитьКоды Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; КонецЕсли; Если НЕ ЕстьСкидки Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("СуммаБезСкидки").ШиринаКолонки + Макет.Область("СуммаСкидки").ШиринаКолонки; КонецЕсли; Если НЕ ВыводитьГТД Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("ГТД").ШиринаКолонки; КонецЕсли; ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("Строка|Товар"); ОбластьДанных = Макет.ПолучитьОбласть("Строка|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("Строка|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("Строка|Сумма"); ОбластьГТД = Макет.ПолучитьОбласть("Строка|ГТД"); Сумма = 0; СуммаНДС = 0; ВсегоСкидок = 0; ВсегоБезСкидок = 0; Для каждого ВыборкаСтрокТовары из ЗапросТовары Цикл Если Не ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1; ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда Если Колонка = "Артикул" Тогда ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул; Иначе ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код; КонецЕсли; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ОбластьТовар.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьТовар.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары) + ?(ВыборкаСтрокТовары.Метка = 2, " (возвратная тара)", ""); ТабДокумент.Присоединить(ОбластьТовар); ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары); ТабДокумент.Присоединить(ОбластьДанных); // Скидка может быть NULL ПроцентСкидки = ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.Скидка),ВыборкаСтрокТовары.Скидка,0) + ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.АвтоматическаяСкидка),ВыборкаСтрокТовары.АвтоматическаяСкидка,0); Если ПроцентСкидки = 100 Тогда СуммаДляСкидки = Окр(ВыборкаСтрокТовары.Цена * ВыборкаСтрокТовары.Количество,2,1); Иначе СуммаДляСкидки = ВыборкаСтрокТовары.Сумма; КонецЕсли; Скидка = УправлениеЦенообразованием.ПолучитьСуммуСкидки(СуммаДляСкидки, ПроцентСкидки); Если ЕстьСкидки Тогда ОбластьСкидок.Параметры.Скидка = Скидка; ОбластьСкидок.Параметры.СуммаБезСкидки = ВыборкаСтрокТовары.Сумма + Скидка; ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТовары); ТабДокумент.Присоединить(ОбластьСуммы); Если ВыводитьГТД Тогда ОбластьГТД.Параметры.НомерГТДСтранаПроисхождения = ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.НомерГТД), СокрЛП(ВыборкаСтрокТовары.НомерГТД.Код)+",", "") + Символы.ПС + ВыборкаСтрокТовары.СтранаПроисхождения; ТабДокумент.Присоединить(ОбластьГТД); КонецЕсли; Сумма = Сумма + ВыборкаСтрокТовары.Сумма + ?((Шапка.УчитыватьАкциз И НЕ Шапка.СуммаВключаетАкциз), ВыборкаСтрокТовары.СуммаАкциза, 0); СуммаНДС = СуммаНДС + ВыборкаСтрокТовары.СуммаНДС; ВсегоСкидок = ВсегоСкидок + Скидка; ВсегоБезСкидок = Сумма + ВсегоСкидок; //прибавим к сумме акциз, если он не включен в стоимость ВсегоБезСкидок = ВсегоБезСкидок + ?((Шапка.УчитыватьАкциз И НЕ Шапка.СуммаВключаетАкциз), ВыборкаСтрокТовары.СуммаАкциза, 0); КонецЦикла; // Вывести Итого ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("Итого|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("Итого|Товар"); ОбластьДанных = Макет.ПолучитьОбласть("Итого|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("Итого|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("Итого|Сумма"); ОбластьГТД = Макет.ПолучитьОбласть("Итого|ГТД"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ОбластьСкидок.Параметры.ВсегоСкидок = ВсегоСкидок; ОбластьСкидок.Параметры.ВсегоБезСкидок = ВсегоБезСкидок; ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ОбластьСуммы.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма); ТабДокумент.Присоединить(ОбластьСуммы); Если ВыводитьГТД Тогда ТабДокумент.Присоединить(ОбластьГТД); КонецЕсли; // Вывести ИтогоНДС Если Шапка.УчитыватьНДС Тогда ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("ИтогоНДС|Товар"); ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("ИтогоНДС|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоНДС|Сумма"); ОбластьГТД = Макет.ПолучитьОбласть("ИтогоНДС|ГТД"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); ОбластьДанных.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, "В том числе НДС:", "Сумма НДС:"); ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ОбластьСуммы.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС); ТабДокумент.Присоединить(ОбластьСуммы); Если ВыводитьГТД Тогда ТабДокумент.Присоединить(ОбластьГТД); КонецЕсли; Если НЕ Шапка.СуммаВключаетНДС ТОгда ОбластьНомера = Макет.ПолучитьОбласть("ИтогоСНДС|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ИтогоСНДС|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("ИтогоСНДС|Товар"); ОбластьДанных = Макет.ПолучитьОбласть("ИтогоСНДС|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("ИтогоСНДС|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоСНДС|Сумма"); ОбластьГТД = Макет.ПолучитьОбласть("ИтогоСНДС|ГТД"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ОбластьСуммы.Параметры.ВсегоСНДС = Сумма+СуммаНДС; ТабДокумент.Присоединить(ОбластьСуммы); Если ВыводитьГТД Тогда ТабДокумент.Присоединить(ОбластьГТД); КонецЕсли; КонецЕсли; КонецЕсли; // Вывести Сумму прописью ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС); ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество() + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента); ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента); ТабДокумент.Вывести(ОбластьМакета); // Вывести подписи ОбластьМакета = Макет.ПолучитьОбласть("Подписи"); // Отпуск товара произвел Если ЗначениеЗаполнено(Шапка.ОтпускПроизвел) Тогда ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФорм.ФамилияИмяОтчество(Шапка.ОтпускПроизвел, Шапка.Дата); ФамилияИмяОтчествоОтпускПроизвел = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество; ФИООтпускПроизвел = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоОтпускПроизвел); ОбластьМакета.Параметры.ОтветственныйПредставление = ФИООтпускПроизвел; Иначе//берем из ответственного по складу ОбластьМакета.Параметры.ОтветственныйПредставление = ОбщегоНазначения.ФамилияИнициалыФизЛица(Шапка.ОтпустилМОЛ); КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); Возврат ТабДокумент; КонецФункции // ПечатьДокумента() текст внешней печатной формы Функция ПечатьРеализацияТоваровУслуг() Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекДокумент", СсылкаНаОбъект); Запрос.УстановитьПараметр("Дата", СсылкаНаОбъект.Дата); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата КАК ДатаДокумента, | РеализацияТоваровУслуг.Организация, | РеализацияТоваровУслуг.СтруктурноеПодразделение, | РеализацияТоваровУслуг.Контрагент, | РеализацияТоваровУслуг.Склад, | ВЫБОР | КОГДА РеализацияТоваровУслуг.Ответственный.ФизЛицо <> ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) | ТОГДА РеализацияТоваровУслуг.Ответственный.ФизЛицо | ИНАЧЕ РеализацияТоваровУслуг.Ответственный | КОНЕЦ КАК Ответственный, | ОтветственныеЛицаСклад.ФизическоеЛицо КАК МОЛ, | РеализацияТоваровУслуг.ВалютаДокумента, | РеализацияТоваровУслуг.ВалютаДокумента.Представление КАК ВалютаПредставление, | РеализацияТоваровУслуг.Доверенность, | РеализацияТоваровУслуг.ДоверенностьЧерезКого КАК ЧерезКого, | РеализацияТоваровУслуг.УчитыватьНДС, | РеализацияТоваровУслуг.СуммаВключаетНДС, | РеализацияТоваровУслуг.УчитыватьАкциз, | РеализацияТоваровУслуг.СуммаВключаетАкциз, | РеализацияТоваровУслуг.ОтпускПроизвел, | РеализацияТоваровУслуг.ОтпускРазрешил |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(&Дата, ) КАК ОтветственныеЛицаСклад | ПО РеализацияТоваровУслуг.Склад = ОтветственныеЛицаСклад.СтруктурнаяЕдиница |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ЗапросПоТоварам = Новый Запрос(); ЗапросПоТоварам.УстановитьПараметр("ТекДокумент", СсылкаНаОбъект); ЗапросПоТоварам.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугТовары.НомерСтроки, | РеализацияТоваровУслугТовары.Номенклатура, | РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование, | РеализацияТоваровУслугТовары.Номенклатура.Код КАК ТоварКод, | СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество, | РеализацияТоваровУслугТовары.Цена, | СУММА(РеализацияТоваровУслугТовары.Сумма) КАК Сумма, | СУММА(РеализацияТоваровУслугТовары.СуммаНДС) КАК СуммаНДС, | СУММА(Реализация |
|||
1
palpetrovich
12.02.14
✎
15:05
|
спасибо, будем знать
|
|||
2
reznik911
12.02.14
✎
15:08
|
(1) всмысле?))) я спрашиваю а не показываю как))) чет я вас не понял
|
|||
3
mehfk
12.02.14
✎
15:10
|
(2)
Вопроси?тельный знак (?) — знак препинания, ставится обычно в конце предложения для выражения вопроса или сомнения. Например: «Значит, пройти мимо, не ввязываться, не тратить времени, сил, „меня это не касается“ стало чувством привычным?» — Даниил Гранин. |
|||
4
reznik911
12.02.14
✎
15:11
|
||||
5
reznik911
12.02.14
✎
15:12
|
(3) ииии?
|
|||
6
reznik911
12.02.14
✎
15:12
|
(3) как это поможет решить задачу. вроде все описал до мелочей
|
|||
7
mehfk
12.02.14
✎
15:21
|
(5) Ответом на вопрос "ииии?" можете считать "ъъъъ!".
|
|||
8
reznik911
12.02.14
✎
15:21
|
можно и через тим вивер если есть время конечно
|
|||
9
reznik911
12.02.14
✎
15:22
|
так видимо я не смог объяснить
|
|||
10
mehfk
12.02.14
✎
15:22
|
1500р
|
|||
11
palpetrovich
12.02.14
✎
15:25
|
(10) и это правильно! :)
|
|||
12
reznik911
12.02.14
✎
15:25
|
обойдусь
|
|||
13
palpetrovich
12.02.14
✎
15:28
|
(12) и это правильно!
создать внешнюю печатную форму с нужными полями можно и самостоятельно |
|||
14
reznik911
12.02.14
✎
15:31
|
(13) вы че то не поняли о чем я спрашивал
|
|||
15
reznik911
12.02.14
✎
15:32
|
(13) у меня есть внешняя печатная форма. все пашет. кроме того что я написал
|
|||
16
mehfk
12.02.14
✎
15:35
|
Если не выбрана доп.колонка, выводи ее ПОСЛЕ колонки с номенклатурой и объединяй.
|
|||
17
reznik911
12.02.14
✎
15:42
|
(16) ОбластьКолонкаДанные = Макет.Область("Данные");
Если Не ВыводитьКоды Тогда ОбластьКолонкаДанные.ШиринаКолонки = ОбластьКолонкаДанные.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; КонецЕсли; http://s018.radikal.ru/i507/1402/5f/2741a6447c4e.png |
|||
18
reznik911
12.02.14
✎
15:42
|
||||
19
reznik911
12.02.14
✎
15:47
|
Функция ПечатьРеализацияТоваровУслуг()
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекДокумент", СсылкаНаОбъект); Запрос.УстановитьПараметр("Дата", СсылкаНаОбъект.Дата); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата КАК ДатаДокумента, | РеализацияТоваровУслуг.Организация, | РеализацияТоваровУслуг.СтруктурноеПодразделение, | РеализацияТоваровУслуг.Контрагент, | РеализацияТоваровУслуг.Склад, | ВЫБОР | КОГДА РеализацияТоваровУслуг.Ответственный.ФизЛицо <> ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) | ТОГДА РеализацияТоваровУслуг.Ответственный.ФизЛицо | ИНАЧЕ РеализацияТоваровУслуг.Ответственный | КОНЕЦ КАК Ответственный, | ОтветственныеЛицаСклад.ФизическоеЛицо КАК МОЛ, | РеализацияТоваровУслуг.ВалютаДокумента, | РеализацияТоваровУслуг.ВалютаДокумента.Представление КАК ВалютаПредставление, | РеализацияТоваровУслуг.Доверенность, | РеализацияТоваровУслуг.ДоверенностьЧерезКого КАК ЧерезКого, | РеализацияТоваровУслуг.УчитыватьНДС, | РеализацияТоваровУслуг.СуммаВключаетНДС, | РеализацияТоваровУслуг.УчитыватьАкциз, | РеализацияТоваровУслуг.СуммаВключаетАкциз, | РеализацияТоваровУслуг.ОтпускПроизвел, | РеализацияТоваровУслуг.ОтпускРазрешил |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(&Дата, ) КАК ОтветственныеЛицаСклад | ПО РеализацияТоваровУслуг.Склад = ОтветственныеЛицаСклад.СтруктурнаяЕдиница |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ЗапросПоТоварам = Новый Запрос(); ЗапросПоТоварам.УстановитьПараметр("ТекДокумент", СсылкаНаОбъект); ЗапросПоТоварам.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугТовары.НомерСтроки, | РеализацияТоваровУслугТовары.Номенклатура, | РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование, | РеализацияТоваровУслугТовары.Номенклатура.Код КАК ТоварКод, | СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество, | РеализацияТоваровУслугТовары.Цена, | СУММА(РеализацияТоваровУслугТовары.Сумма) КАК Сумма, | СУММА(РеализацияТоваровУслугТовары.СуммаНДС) КАК СуммаНДС, | СУММА(РеализацияТоваровУслугТовары.СуммаАкциза) КАК СуммаАкциза, | РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры КАК Характеристика, | РеализацияТоваровУслугТовары.СерияНоменклатуры КАК Серия, | РеализацияТоваровУслугТовары.Номенклатура.Артикул КАК Артикул |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслугТовары.Ссылка = &ТекДокумент | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугТовары.НомерСтроки, | РеализацияТоваровУслугТовары.Номенклатура, | РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Наименование, | РеализацияТоваровУслугТовары.Номенклатура.Код, | РеализацияТоваровУслугТовары.Цена, | РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры, | РеализацияТоваровУслугТовары.СерияНоменклатуры, | РеализацияТоваровУслугТовары.Номенклатура.Артикул | |УПОРЯДОЧИТЬ ПО | РеализацияТоваровУслугТовары.НомерСтроки |ИТОГИ | СУММА(Количество), | СУММА(Сумма), | СУММА(СуммаНДС), | СУММА(СуммаАкциза) |ПО | ОБЩИЕ"; ВыборкаСтрокТоварыИтоги = ЗапросПоТоварам.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); ВыборкаСтрокТоварыИтоги.Следующий(); ВыборкаСтрокТовары = ВыборкаСтрокТоварыИтоги.Выбрать(); СтруктурнаяЕдиницаОрганизация = ОбщегоНазначения.ПолучитьСтруктурнуюЕдиницу(Шапка.Организация, Шапка.СтруктурноеПодразделение); Макет = ПолучитьМакет("З2"); ТабДокумент = Новый ТабличныйДокумент; // Зададим параметры макета ТабДокумент.ПолеСверху = 0; ТабДокумент.ПолеСлева = 10; ТабДокумент.ПолеСнизу = 0; ТабДокумент.ПолеСправа = 0; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПередачаТоваров_З2"; // Выводим общие реквизиты шапки ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); СведенияОбОрганизации = ОбщегоНазначения.СведенияОЮрФизЛице(СтруктурнаяЕдиницаОрганизация, Шапка.ДатаДокумента); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ПредставлениеОрганизации = ОбщегоНазначения.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,"); ОбластьМакета.Параметры.ПредставлениеОтправителя = ОбщегоНазначения.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,"); ОбластьМакета.Параметры.ОрганизацияРНН_БИН = ОбщегоНазначения.ОписаниеОрганизации(СведенияОбОрганизации, "БИН_ИИН,", Ложь, Шапка.ДатаДокумента, "ru"); ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект, глСписокПрефиксовУзлов); ОтветственныйДляПечати = ""; ДолжностьОтветственного = ""; Если ТипЗнч(Шапка.Ответственный) = Тип("СправочникСсылка.ФизическиеЛица") Тогда ДанныеОтветственного = ПроцедурыУправленияПерсоналом.ДанныеФизЛица(Шапка.Организация, Шапка.Ответственный, Шапка.ДатаДокумента); ОтветственныйДляПечати = ДанныеОтветственного.Представление; ДолжностьОтветственного = ДанныеОтветственного.Должность; Иначе ОтветственныйДляПечати = Шапка.Ответственный; КонецЕсли; ОбластьМакета.Параметры.ОтветственныйЗаПоставку = ОтветственныйДляПечати; ПредставлениеПолучателя = ОбщегоНазначения.ОписаниеОрганизации(ОбщегоНазначения.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.ДатаДокумента), "ПолноеНаименование,"); ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя; ТабДокумент.Вывести(ОбластьМакета); УчитыватьНДС_ = Шапка.УчитыватьНДС; УчитыватьАкциз_ = Шапка.УчитыватьАкциз; СуммаВключаетНДС_ = Шапка.СуммаВключаетНДС; СуммаВключаетАкциз_ = Шапка.СуммаВключаетАкциз; ПрибавлятьНДС = УчитыватьНДС_ И (НЕ СуммаВключаетНДС_); ПрибавлятьАкциз = УчитыватьАкциз_ И (НЕ СуммаВключаетАкциз_); //Сухраб от ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ВыводитьКоды = Истина; Колонка = "Артикул"; //ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда // ВыводитьКоды = Истина; // Колонка = "Код"; Иначе ВыводитьКоды = Ложь; КонецЕсли; //Сухраб до // Выводим заголовок таблицы Если УчитыватьАкциз_ Тогда ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицыАкциз"); Иначе //ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы"); //Сухраб от ОбластьНомера = Макет.ПолучитьОбласть("ЗаголовокТаблицы|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ЗаголовокТаблицы|КолонкаКодов"); ОбластьДанных = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Данные"); КонецЕсли; ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ОбластьКодов.Параметры.Колонка = Колонка; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ОбластьДанных.Параметры.Валюта = Шапка.ВалютаПредставление; ТабДокумент.Присоединить(ОбластьДанных); ОбластьКолонкаДанные = Макет.Область("Данные"); Если Не ВыводитьКоды Тогда ОбластьКолонкаДанные.ШиринаКолонки = ОбластьКолонкаДанные.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; КонецЕсли; //Сухраб до //ЗаголовокТаблицы.Параметры.Валюта = Шапка.ВалютаПредставление; //ЗаголовокТаблицы.Параметры.Колонка = Колонка; //ТабДокумент.Вывести(ЗаголовокТаблицы); КоличествоСтрок = ВыборкаСтрокТовары.Количество(); ИтогоКоличество=0; // Выводим многострочную часть документа Если УчитыватьАкциз_ Тогда ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицыАкциз"); Иначе //ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы"); //Сухраб от ОбластьНомера = Макет.ПолучитьОбласть("СтрокаТаблицы|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("СтрокаТаблицы|КолонкаКодов"); ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТаблицы|Данные"); КонецЕсли; //Сухраб до Пока ВыборкаСтрокТовары.Следующий() Цикл // //Сухраб от // Если ВыводитьКоды Тогда // ОбластьМакета.Параметры.Код = ?(Колонка = "Код",ВыборкаСтрокТовары.Номенклатура.Код,ВыборкаСтрокТовары.Номенклатура.Артикул); // КонецЕсли; // //Сухраб до Количество = ВыборкаСтрокТовары.Количество; Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; //Сухраб от ОбластьНомера.Параметры.НомерПП = ВыборкаСтрокТовары.НомерСтроки; ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда // Если Колонка = "Артикул" Тогда // ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Номенклатура.Артикул; // //Иначе // // ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код; //КонецЕсли; Колонка = "Артикул"; ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Номенклатура.Артикул; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; //Если ВыводитьКоды Тогда // ОбластьКодов.Параметры.Код = ?(Колонка = "Код",ВыборкаСтрокТовары.Номенклатура.Код,ВыборкаСтрокТовары.Номенклатура.Артикул); // КонецЕсли; //Сухраб до //Если Не УниверсальныеМеханизмы.ПроверитьВыводДляТабличногоДокумента(ТабДокумент, ОбластьМакета) Тогда // ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); // ТабДокумент.Вывести(ЗаголовокТаблицы); //КонецЕсли; //ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары); ////ОбластьМакета.Параметры.НомерПП = ВыборкаСтрокТовары.НомерСтроки; //ОбластьМакета.Параметры.ТоварНаименование = СокрЛП(ВыборкаСтрокТовары.Номенклатура.НаименованиеПолное) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары); //Сухраб от ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьДанных.Параметры.ТоварНаименование = СокрЛП(ВыборкаСтрокТовары.Номенклатура.НаименованиеПолное) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары); СуммаСНДС = ?(ПрибавлятьНДС, ВыборкаСтрокТовары.Сумма + ВыборкаСтрокТовары.СуммаНДС, ВыборкаСтрокТовары.Сумма); Если УчитыватьАкциз_ Тогда СуммаСНДС = ?(ПрибавлятьАкциз, СуммаСНДС + ВыборкаСтрокТовары.СуммаАкциза, СуммаСНДС); КонецЕсли; ОбластьДанных.Параметры.СуммаСНДС = СуммаСНДС; ТабДокумент.Присоединить(ОбластьДанных); //Сухраб до ИтогоКоличество= ИтогоКоличество + Количество; //ТабДокумент.Вывести(ОбластьМакета); КонецЦикла; // Выводим итоги по документу Если УчитыватьАкциз_ Тогда ОбластьМакета = Макет.ПолучитьОбласть("ИтогоАкциз"); Иначе //ОбластьМакета = Макет.ПолучитьОбласть("Итого"); //Сухраб от ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("Итого|КолонкаКодов"); ОбластьДанных = Макет.ПолучитьОбласть("Итого|Данные"); КонецЕсли; ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; //ТабДокумент.Присоединить(ОбластьТовар); //Сухраб до ИтогоСумма = ВыборкаСтрокТоварыИтоги.Сумма; ИтогоСумма = ?(ПрибавлятьНДС, ИтогоСумма + ВыборкаСтрокТоварыИтоги.СуммаНДС, ИтогоСумма); ИтогоСумма = ?(ПрибавлятьАкциз, ИтогоСумма + ВыборкаСтрокТоварыИтоги.СуммаАкциза, ИтогоСумма); //ОбластьСуммы.Параметры.ИтогоСуммаСНДС = ИтогоСумма; //ОбластьСуммы.Параметры.ИтогоСуммаНДС = ВыборкаСтрокТоварыИтоги.СуммаНДС; //ОбластьДанных.Параметры.ИтогоКоличество = ИтогоКоличество; //Сухраб от ОбластьДанных.Параметры.ИтогоКоличество = ИтогоКоличество; ОбластьДанных.Параметры.ИтогоСуммаСНДС = ИтогоСумма; ОбластьДанных.Параметры.ИтогоСуммаНДС = ВыборкаСтрокТоварыИтоги.СуммаНДС; ТабДокумент.Присоединить(ОбластьДанных); //Сухраб до Если УчитыватьАкциз_ Тогда ОбластьМакета.Параметры.ИтогоСуммаАкциза = ВыборкаСтрокТоварыИтоги.СуммаАкциза; КонецЕсли; //ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("ИтогоПрописью"); ОбластьМакета.Параметры.Валюта = Шапка.ВалютаПредставление; ОбластьМакета.Параметры.КоличествоПорядковыхНомеровЗаписейПрописью = СтрЗаменить(ЧислоПрописью(ИтогоКоличество, "L=ru",",,,,,,,,0"),"00",""); ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(?(ЗначениеЗаполнено(ИтогоСумма),ИтогоСумма,0), Шапка.ВалютаДокумента); ТабДокумент.Вывести(ОбластьМакета); // вывод подписей ОбластьМакета = Макет.ПолучитьОбласть("Подвал"); ОбластьМакета.Параметры.Заполнить(Шапка); Руководители = ОбщегоНазначения.ОтветственныеЛицаОрганизаций(СтруктурнаяЕдиницаОрганизация, Шапка.ДатаДокумента,); Бухгалтер = ?(НЕ ЗначениеЗаполнено(Руководители.ГлавныйБухгалтер), "Не предусмотрен", Руководители.ГлавныйБухгалтер); ОбластьМакета.Параметры.ГлБухгалтер = Бухгалтер; //ОбластьМакета.Параметры.ОтпускРазрешил = Шапка.ОтпускРазрешил; //ОбластьМакета.Параметры.ОтпускРазрешилДолжность = ДолжностьОтветственного; Если ЗначениеЗаполнено(Шапка.ОтпускРазрешил) Тогда ДанныеМОЛ = ПроцедурыУправленияПерсоналом.ДанныеФизЛица(Шапка.Организация, Шапка.ОтпускРазрешил, Шапка.ДатаДокумента); ОбластьМакета.Параметры.ОтпускРазрешил = ДанныеМОЛ.Представление; ОбластьМакета.Параметры.ОтпускРазрешилДолжность = ДанныеМОЛ.Должность; Иначе ОбластьМакета.Параметры.ОтпускРазрешил = ОтветственныйДляПечати; ОбластьМакета.Параметры.ОтпускРазрешилДолжность = ДолжностьОтветственного; КонецЕсли; ОбластьМакета.Параметры.Доверенность = СокрЛП(Шапка.Доверенность); ОбластьМакета.Параметры.ЧерезКого = СокрЛП(Шапка.ЧерезКого); // заполняем МОЛ //Если ЗначениеЗаполнено(Шапка.Склад) Тогда // ДанныеМОЛ = ПроцедурыУправленияПерсоналом.ДанныеФизЛица(Шапка.Организация, Шапка.МОЛ, Шапка.ДатаДокумента); // ОбластьМакета.Параметры.МОЛОтпустил = ДанныеМОЛ.Представление; //КонецЕсли; Если ЗначениеЗаполнено(Шапка.ОтпускПроизвел) Тогда ДанныеМОЛ = ПроцедурыУправленияПерсоналом.ДанныеФизЛица(Шапка.Организация, Шапка.ОтпускПроизвел, Шапка.ДатаДокумента); ОбластьМакета.Параметры.МОЛОтпустил = ДанныеМОЛ.Представление; Иначе Если ЗначениеЗаполнено(Шапка.Склад) Тогда ДанныеМОЛ = ПроцедурыУправленияПерсоналом.ДанныеФизЛица(Шапка.Организация, Шапка.МОЛ, Шапка.ДатаДокумента); ОбластьМакета.Параметры.МОЛОтпустил = ДанныеМОЛ.Представление; КонецЕсли; КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); Возврат ТабДокумент; КонецФункции // Печать() |
|||
20
mehfk
12.02.14
✎
15:54
|
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
переделай аналогично вот этому ОбластьНомера = Макет.ПолучитьОбласть("ЗаголовокТаблицы|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ЗаголовокТаблицы|КолонкаКодов"); ОбластьДанных = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Данные"); |
|||
21
reznik911
12.02.14
✎
15:59
|
(20) ОбластьНомера = Макет.ПолучитьОбласть("Шапка|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("Шапка|КолонкаКодов"); ОбластьДанных = Макет.ПолучитьОбласть("Шапка|Данные"); так? но мне нужно чтоб только для области строк ЗаголовокТаблицы,СтрокаТаблицы и Итого. для других строк не должно влиять |
|||
22
reznik911
13.02.14
✎
08:53
|
(20) что еще можете посоветовать
|
|||
23
reznik911
13.02.14
✎
09:07
|
...
|
|||
24
DrZombi
гуру
13.02.14
✎
09:21
|
(12) Ты не задал вопрос.
Телепатирую... Допили конфигуратор, где будет твой Блэкджек и Шлюхи :) |
|||
25
DrZombi
гуру
13.02.14
✎
09:21
|
(22) Иди в дворники, если нет желание программировать :)
|
|||
26
reznik911
13.02.14
✎
09:38
|
(24) а то что (0) это не вопрос?
|
|||
27
reznik911
13.02.14
✎
09:40
|
(25) вообще то многое сам написал остряк! а вот это мелочь не могу сделать вроде написал те же строчки а резльтат другой. просмотрел весь модуль нигде ниче не написано. должно сработать также , но увы. вот поэтому умники советы идти в дворники самому написать внешнюю печатную форму придержите при себе.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |