Здравсвтвуйте, столкнулся с такой проблемой: мне нужно по колонке СУММА вывести ИТОГ . Это нужно сделать в макете кнопка печати
Вот код :
Код |
---|
Процедура ПоставщикОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) если не ВыбранноеЗначение.Поставщик тогда сообщить("Выбранный контрагент не является поставщиком"); ВыбранноеЗначение=""; конецесли; КонецПроцедуры Процедура СкладОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) если ВыбранноеЗначение.видсклада = Перечисления.ВидыСклада.Розничный тогда сообщить("В документе можно выбрать только оптовый вид склада" ); ВыбранноеЗначение= ""; конецесли; КонецПроцедуры //Разработать документ "Продажа товара":реквезиты(организация,контрагент,склад,ТипЦены,кладовщик),ТаблЧасть_ //Товары,(Номенклатура,ЕдИзм,Кол-во,цена,сумма),ТЧ_Услуги(номенклатура,едизм,кол-во,цена,сумма); //Для документа создатьформу,ТаблЧасти разлелить по вкладкам, // в документе возможно выбрать только покупателя,ТипЦен любой кроме закупочных. Процедура ТоварыНоменклатураОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) если ВыбранноеЗначение.ВидНоменклатуры=Перечисления.ВидыНоменклатуры.Услуга тогда сообщить("Нельзя выбирать услуги"); ВыбранноеЗначение=""; иначе ЕдИзм=Выбранноезначение.ЕдиницаИзмерения; ЭлементыФормы.Товары.ТекущаяСтрока.ЕдИзм = ЕдИзм; конецесли; КонецПроцедуры Процедура КоличествоЦенаПриИзмененииТовары(Элемент) РаботаСДокументами.РасчетСуммыТЧДокумента(типзнч(ЭтотОбъект),ЭлементыФормы.Товары.ТекущаяСтрока); конецпроцедуры Процедура ПечатьТекстовыйДокумент(Кнопка) ТекстДок= новый ТекстовыйДокумент; Заголовок = "Приходная накладная №" + ЭтотОбъект.Номер + " от " + формат(ЭтотОбъект.Дата,"ДФ=yyyy-MM-dd"); ТекстДок.ДобавитьСтроку(Заголовок); ТекстДок.ДобавитьСтроку(""); ТекстДок.ДобавитьСтроку("Организация:"+ ЭтотОбъект.Организация); ТекстДок.ДобавитьСтроку("Поставщик:" + ЭтотОбъект.Поставщик); ТекстДок.ДобавитьСтроку(" "); ТекстДок.ДобавитьСтроку("Товар|Ед.Изм|Количество|Цена|Сумма"); для каждого стр из ЭтотОбъект.Товары цикл ТекстДок.ДобавитьСтроку(строка(стр.Номенклатура)+ "|" + Строка(стр.ЕдИзм) + "|" + стр.Количество + "|" + стр.ЦенаЗаШт + "|" + стр.Сумма); конеццикла; ТекстДок.ДобавитьСтроку(" "); ТекстДок.ДобавитьСтроку("Сдал______________"); ТекстДок.ДобавитьСтроку("Принял______________"); ТекстДок.ТолькоПросмотр=Истина; ТекстДок.Показать(); КонецПроцедуры Процедура ПечатьПриходнаяНакладная(Кнопка) ТабДок=новый ТабличныйДокумент; Макет= ЭтотОбъект.ПолучитьМакет("МакетПриходнаяНакладная"); // Получаем и заполняем область заголовок ОбластьЗаголовок= Макет.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок.Параметры.НомерДок= ЭтотОбъект.Номер; ОбластьЗаголовок.Параметры.ДатаДок= лев(ЭтотОбъект.Дата,10); ОбластьЗаголовок.Параметры.Организация= ЭтотОбъект.Организация; ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Показать(ОбластьЗаголовок); // Получаем и заполняем шапку таблицы ОбластьШапка=Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(ОбластьШапка); // Получаем и заполняем область строки ОбластьСтроки=Макет.ПолучитьОбласть("Строки"); для каждого стр из ЭтотОбъект.Товары цикл ОбластьСтроки.Параметры.НомерСтр=стр.НомерСтроки; ОбластьСтроки.Параметры.Номенклатура=стр.Номенклатура; ОбластьСтроки.Параметры.едизм=стр.ЕдИзм; ОбластьСтроки.Параметры.Кол=стр.Количество; ОбластьСтроки.Параметры.Цена=стр.ЦенаЗаШт; ОбластьСтроки.Параметры.сумма=стр.Сумма; ТабДок.Вывести(ОбластьСтроки); Табдок.Показать(); конеццикла; Областьподвал=Макет.ПолучитьОбласть("Подвал"); Табдок.Вывести(ОбластьПодвал); ТабДок.ТолькоПросмотр=Истина; табдок.ОтображатьСетку=ложь; табдок.ОтображатьЗаголовки=ложь; табдок.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт; Табдок.Показать(); КонецПроцедуры Процедура КоманднаяПанель1ЗаполнитьВсеми(Кнопка) если ЭтотОбъект.Товары.Количество()>0 тогда ответ=Вопрос("Табличная часть уже содержит товары,очистить?",РежимДиалогаВопрос.ДаНет); если ответ=КодВозвратаДиалога.да тогда ЭтотОбъект.Товары.Очистить(); иначе возврат; конецесли; конецесли; отбор=новый структура("ВидНоменклатуры"); отбор.вставить("ВидНоменклатуры",Перечисления.ВидыНоменклатуры.Товар); ВыборкаНоменклатуры=Справочники.Номенклатура.Выбрать(,,Отбор); пока ВыборкаНоменклатуры.Следующий() цикл новстр=ЭтотОбъект.Товары.Добавить(); новстр.Номенклатура=ВыборкаНоменклатуры.Ссылка; новстр.ЕдИзм=ВыборкаНоменклатуры.ЕдиницаИзмерения; конеццикла; КонецПроцедуры Процедура КоманднаяПанель1ЗаполнениеЦен(Кнопка) ЗакупочнаяЦена=Справочники.ТипыЦен.НайтиПоКоду("000000001"); Отбор= новый структура("Номенклатура,ЕдИзм,ТипЦены"); Отбор.Вставить("ТипЦены",ЗакупочнаяЦена); для каждого стр из ЭтотОбъект.Товары цикл отбор.Вставить("ТипЦены",ЗакупочнаяЦена); Отбор.Вставить("Номенклатура",стр.Номенклатура); отбор.Вставить("ЕдИзм",стр.ЕдИзм); ВыборЦены=РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(),Отбор); стр.ЦенаЗаШт=ВыборЦены.цена; РаботаСДокументами.РасчетСуммыТЧДокумента(Типзнч(ЭтотОбъект),стр); конеццикла; КонецПроцедуры //Процедру для подставления ед изм и для расчета суммы |