Перезаписывается значение в Печатной Форме документа

1. 1c_uZer 03.08.17 11:38 Сейчас в теме
Здравствуйте! Подскажите пожалуйста, добавил колонку в пф но теперь она заполняется одним и тем же числом, я понимаю почему так, в цикле значение перезаписывается, а как исправить не знаю...подскажите пожалуйста.


Запрос.Текст = 
			
			"ВЫБРАТЬ РАЗЛИЧНЫЕ
			|	ЗаказПокупателяТовары.Номенклатура.НаборУпаковок КАК НоменклатураНаборУпаковок,
			|	УпаковкиНоменклатуры.Владелец.Наименование КАК ВладелецНаименование,
			|	УпаковкиНоменклатуры.Коэффициент КАК Коэффициент
			|ИЗ
			|	Справочник.УпаковкиНоменклатуры КАК УпаковкиНоменклатуры
			|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
			|		ПО (ЗаказПокупателяТовары.Номенклатура.НаборУпаковок = УпаковкиНоменклатуры.Владелец)
			|ГДЕ
			|	ЗаказПокупателяТовары.Ссылка = &Ссылка";
			
			Запрос.УстановитьПараметр("Ссылка", Ссылка);
			
			Результат = Запрос.Выполнить().Выгрузить();
			
			МассивКоэффициентов = Результат.ВыгрузитьКолонку("Коэффициент");
			
			Результат2 = Запрос.Выполнить().Выбрать();
			
			Счетчик = 0;
			
			Пока Результат2.Следующий() Цикл
				
			ОбластьСтрокаДанных.Параметры.КоличествоУпак = МассивКоэффициентов[Счетчик];
			
			Счетчик = Счетчик +1;
			
			Если Счетчик > МассивКоэффициентов.Количество() Тогда
				Прервать;
			КонецЕсли;
				
			КонецЦикла;
Показать
+
По теме из базы знаний
Найденные решения
12. olegmedvedev 65 03.08.17 12:44 Сейчас в теме
ну конечно у вас ерунда выводится...
у вас структура процедуры идет как

Начало цикла (1)
Вывод строки
Начало цикла (2)
Конеццикла
Присоединениеобласти

КонецЦикла


Какой параметр будет последним после окончания цикла (2)?

и вообще запрос в цикле - дурной тон. в одном запросе - точно не получится это решить?
если нет - тогда создавать ТЗ и поиском по ней
+
15. olegmedvedev 65 03.08.17 13:02 Сейчас в теме
(13)
Запрос = Новый Запрос;
ТЗ =Запрос.Выполнить().Выгрузить();

НайденнаяСтрока = ТЗ .Найти(ВыбТовар, "Товар");
Если НайденнаяСтрока <> Неопределено Тогда
       Коэффициент= НайденнаяСтрока.Коэффициент;
КонецЕсли;
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. 1c_uZer 03.08.17 11:40 Сейчас в теме
параметр ОбластьСтрокаДанных.Параметры.КоличествоУпак перезаписывается в цикле
Прикрепленные файлы:
+
3. olegmedvedev 65 03.08.17 12:13 Сейчас в теме

Запрос.Текст = 
            
            "ВЫБРАТЬ РАЗЛИЧНЫЕ
            |    ЗаказПокупателяТовары.Номенклатура.НаборУпаковок КАК НоменклатураНаборУпаковок,
            |    УпаковкиНоменклатуры.Владелец.Наименование КАК ВладелецНаименование,
            |    УпаковкиНоменклатуры.Коэффициент КАК Коэффициент
            |ИЗ
            |    Справочник.УпаковкиНоменклатуры КАК УпаковкиНоменклатуры
            |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
            |        ПО (ЗаказПокупателяТовары.Номенклатура.НаборУпаковок = УпаковкиНоменклатуры.Владелец)
            |ГДЕ
            |    ЗаказПокупателяТовары.Ссылка = &Ссылка";
            
            Запрос.УстановитьПараметр("Ссылка", Ссылка);
            
            Результат = Запрос.Выполнить().Выгрузить();
            
                       
            Для каждого СтрокаТЗ из Результат  Цикл
                
            ОбластьСтрокаДанных.Параметры.КоличествоУпак = СтрокаТЗ .Коэффициент;
            ТабДок.Вывести(ОбластьСтрокаДанных);

            
           КонецЦикла;


Показать
+
4. 1c_uZer 03.08.17 12:20 Сейчас в теме
(3) теперь он выводит другое число во всех строках))) но по прежнему все одинаково)
+
5. olegmedvedev 65 03.08.17 12:22 Сейчас в теме
(4)а у вас запрос правильные данные возвращает?
+
6. 1c_uZer 03.08.17 12:23 Сейчас в теме
(5) да, в запросе все верно
+
7. 1c_uZer 03.08.17 12:25 Сейчас в теме
(5) там два коэффициента а в пф во всех строках один)
+
8. 1c_uZer 03.08.17 12:28 Сейчас в теме
(5) ТабДок.Вывести(ОбластьСтрокаДанных); у меня ТабДок не определена
+
9. 1c_uZer 03.08.17 12:30 Сейчас в теме
(5) а за ТабДок прошу прощения, там все просто...у меня просто табличный документ идет а не таб док
+
10. olegmedvedev 65 03.08.17 12:35 Сейчас в теме
приведите полностью текст
+
11. 1c_uZer 03.08.17 12:38 Сейчас в теме
(10)
&НаСервере
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ЗаказПокупателя"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... 
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Счет на оплату (шаблон)"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0"); 
ПараметрыРегистрации.Вставить("Информация", "Эту ВПФ мы сделали для того что бы посмотреть возможности БСП "); 
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Счет на оплату (шаблон)", "СчетНаОплатуВРТУ", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;
КонецФункции

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

&НаСервере
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") Экспорт

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление; 
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры

&НаСервере
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_ЗаказПокупателя") Тогда

		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПФ_MXL_ЗаказПокупателя",
				НСтр("ru = 'Заказ покупателя'"),
				ПечатьЗаказаПокупателя(МассивОбъектов, ОбъектыПечати));
	
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Функция ПечатьЗаказаПокупателя(МассивОбъектов, ОбъектыПечати)

	КолонкаКодов       = ФормированиеПечатныхФормСервер.ИмяДополнительнойКолонки();
	ВыводитьКоды       = ЗначениеЗаполнено(КолонкаКодов);
	ВыводитьУпаковки   = ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры");
	ТабличныйДокумент  = Новый ТабличныйДокумент;
	РеквизитыДокумента = Новый Структура("Номер, Дата, Префикс");
	СинонимДокумента   = НСтр("ru='Заказ покупателя'");
	
	ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_Накладная";
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	Документ.Ссылка КАК Ссылка,
	|	Документ.Номер КАК Номер,
	|	Документ.Дата КАК Дата,
	|	Документ.Магазин КАК Магазин,
	|	ВЫБОР
	|		КОГДА Документ.Организация.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ЮрЛицо)
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК ОрганизацияЮридическоеЛицо,
	|	Документ.Организация КАК Поставщик,
	|	Документ.СуммаДокумента КАК СуммаДокумента,
	|	ПРЕДСТАВЛЕНИЕ(Документ.Магазин) КАК МагазинПредставление,
	|	ПРЕДСТАВЛЕНИЕ(Документ.Организация) КАК ПредставлениеПоставщика,
	|	Документ.Ответственный.ФизическоеЛицо КАК Ответственный,
	|	Документ.УчитыватьНДС,
	|	Документ.ЦенаВключаетНДС
	|ИЗ
	|	Документ.ЗаказПокупателя КАК Документ
	|ГДЕ
	|	Документ.Ссылка В(&МассивОбъектов)
	|	И Документ.Проведен
	|
	|УПОРЯДОЧИТЬ ПО
	|	Ссылка,
	|	Дата
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ТаблицаТовары.НомерСтроки КАК НомерСтроки,
	|	ТаблицаТовары.Номенклатура КАК Номенклатура,
	|	" + ?(ВыводитьКоды, "ТаблицаТовары.Номенклатура." + КолонкаКодов +" КАК КолонкаКодов,", "") + "
	|	ТаблицаТовары.Номенклатура.Представление КАК Товар,
	|	ТаблицаТовары.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление,
	|	ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Характеристика) КАК ХарактеристикаПредставление,
	|	ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Номенклатура.ЕдиницаИзмерения) КАК ПредставлениеБазовойЕдиницыИзмерения,
	|	ВЫБОР
	|		КОГДА ТаблицаТовары.Упаковка <> ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
	|			ТОГДА ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Упаковка.ЕдиницаИзмерения)
	|		ИНАЧЕ ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Номенклатура.ЕдиницаИзмерения)
	|	КОНЕЦ КАК ЕдиницаИзмерения,
	|	ТаблицаТовары.Количество КАК Количество,
	|	ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
	|	ВЫБОР КОГДА ТаблицаТовары.Количество = 0 ТОГДА ТаблицаТовары.Количество
	|	ИНАЧЕ ТаблицаТовары.Сумма / ТаблицаТовары.Количество
	|	КОНЕЦ КАК Цена,
	|	ТаблицаТовары.Сумма КАК Сумма,
	|	ТаблицаТовары.Ссылка КАК Ссылка,
	|	ТаблицаТовары.Сумма +
	|	ТаблицаТовары.СуммаРучнойСкидки +
	|	ТаблицаТовары.СуммаАвтоматическойСкидки   КАК СуммаБезСкидки,
	|	ТаблицаТовары.СуммаРучнойСкидки +
	|	ТаблицаТовары.СуммаАвтоматическойСкидки   КАК Скидка,
	|	ТаблицаТовары.СуммаНДС,
	|	ТаблицаТовары.СтавкаНДС
	|ИЗ
	|	Документ.ЗаказПокупателя.Товары КАК ТаблицаТовары
	|ГДЕ
	|	ТаблицаТовары.Ссылка В(&МассивОбъектов)
	|	И ТаблицаТовары.Ссылка.Проведен
	|
	|УПОРЯДОЧИТЬ ПО
	|	Ссылка,
	|	НомерСтроки
	|ИТОГИ ПО
	|	Ссылка");
	
	
	Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
	
	Результаты = Запрос.ВыполнитьПакет();
	
	Макет = ПолучитьМакет("ПФ_MXL_ЗаказПокупателя");
		                                                          
	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	
	ОбластьШапкаНомера         = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
	ОбластьШапкаКодов          = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
	ОбластьШапкаДанных         = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
	ОбластьШапкаСкидок         = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка");
	ОбластьШапкаСуммы          = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма");
	
	ОбластьКолонкаТовар = Макет.Область("Товар");
	Если Не ВыводитьКоды Тогда
		ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки
		                                  + Макет.Область("КолонкаКодов").ШиринаКолонки;
	КонецЕсли;
	ОбластьСтрокаНомера         = Макет.ПолучитьОбласть("Строка|НомерСтроки");
	ОбластьСтрокаКодов          = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
	ОбластьСтрокаДанных         = Макет.ПолучитьОбласть("Строка|Данные");
	ОбластьСтрокаСкидок         = Макет.ПолучитьОбласть("Строка|Скидка");
	ОбластьСтрокаСуммы          = Макет.ПолучитьОбласть("Строка|Сумма");
	
	ОбластьИтогоНДСНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки");
	ОбластьИтогоНДСКодов  = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов");
	ОбластьИтогоНДСДанных = Макет.ПолучитьОбласть("ИтогоНДС|Данные");
	ОбластьИтогоНДССкидок = Макет.ПолучитьОбласть("ИтогоНДС|Скидка");
	ОбластьИтогоНДССуммы  = Макет.ПолучитьОбласть("ИтогоНДС|Сумма");
	
	// Вывести Итого.
	ОбластьИтогоНомера         = Макет.ПолучитьОбласть("Итого|НомерСтроки");
	ОбластьИтогоКодов          = Макет.ПолучитьОбласть("Итого|КолонкаКодов");
	ОбластьИтогоДанных         = Макет.ПолучитьОбласть("Итого|Данные");
	ОбластьИтогоСкидок         = Макет.ПолучитьОбласть("Итого|Скидка");
	ОбластьИтогоСуммы          = Макет.ПолучитьОбласть("Итого|Сумма");
	
	ОбластьСуммаПрописью = Макет.ПолучитьОбласть("СуммаПрописью");
	ОбластьПодписей      = Макет.ПолучитьОбласть("Подписи");
	
	
	ВыборкаПоДокументам = Результаты[0].Выбрать();
	ВыборкаПоТабличнымЧастям = Результаты[1].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
	
	ПервыйДокумент = Истина;
	
	Пока ВыборкаПоДокументам.Следующий() Цикл
		
		Если НЕ ВыборкаПоТабличнымЧастям.НайтиСледующий(Новый Структура("Ссылка",ВыборкаПоДокументам.Ссылка)) Тогда
			
			Продолжить;
			
		КонецЕсли;
		
		ВыборкаПоСтрокамТЧ = ВыборкаПоТабличнымЧастям.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
		
		Если НЕ ПервыйДокумент Тогда
			
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
			
		КонецЕсли;
		
		ПервыйДокумент = Ложь;
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		ЗаполнитьЗначенияСвойств(РеквизитыДокумента, ВыборкаПоДокументам);
		ОбластьЗаголовок.Параметры.Заполнить(ВыборкаПоДокументам);
		
		ОбластьЗаголовок.Параметры.ТекстЗаголовка = ФормированиеПечатныхФормСервер.СформироватьЗаголовокДокумента(РеквизитыДокумента, СинонимДокумента);
		
		ПредставлениеПоставщика = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(ФормированиеПечатныхФормСервер.СведенияОЮрФизЛице(ВыборкаПоДокументам.Поставщик, ВыборкаПоДокументам.Дата), "ПолноеНаименование,");
		ОбластьЗаголовок.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика;
		
		ТабличныйДокумент.Вывести(ОбластьЗаголовок);
		
		// Шапка
		
		ТабличныйДокумент.Вывести(ОбластьШапкаНомера);
		Если ВыводитьКоды Тогда
			ОбластьШапкаКодов.Параметры.ИмяКолонкиКодов = КолонкаКодов;
			ТабличныйДокумент.Присоединить(ОбластьШапкаКодов);
		КонецЕсли;
		ТабличныйДокумент.Присоединить(ОбластьШапкаДанных);
		ТабличныйДокумент.Присоединить(ОбластьШапкаСкидок);
		ТабличныйДокумент.Присоединить(ОбластьШапкаСуммы);
		
		
		ВсегоНаименований = 0;
		Сумма             = 0;
		ВсегоСкидок       = 0;
		ВсегоБезСкидок    = 0;
		СуммаНДС          = 0;
		
		// СТРОКИ ТЧ
		Пока ВыборкаПоСтрокамТЧ.Следующий() Цикл
			Если НЕ ЗначениеЗаполнено(ВыборкаПоСтрокамТЧ.Номенклатура) Тогда
				Продолжить;
			КонецЕсли;

			ОбластьСтрокаНомера.Параметры.Заполнить(ВыборкаПоСтрокамТЧ);
			ТабличныйДокумент.Вывести(ОбластьСтрокаНомера);

			Если ВыводитьКоды Тогда
				
				ОбластьСтрокаКодов.Параметры.Артикул = ВыборкаПоСтрокамТЧ["КолонкаКодов"];
				ТабличныйДокумент.Присоединить(ОбластьСтрокаКодов);
				
			КонецЕсли;

			ОбластьСтрокаДанных.Параметры.Заполнить(ВыборкаПоСтрокамТЧ);
			
			ДопЗапрос = Новый Запрос;
			
			Запрос.Текст = 
			
			"ВЫБРАТЬ РАЗЛИЧНЫЕ
			|	ЗаказПокупателяТовары.Номенклатура.НаборУпаковок КАК НоменклатураНаборУпаковок,
			|	УпаковкиНоменклатуры.Владелец.Наименование КАК ВладелецНаименование,
			|	УпаковкиНоменклатуры.Коэффициент КАК Коэффициент
			|ИЗ
			|	Справочник.УпаковкиНоменклатуры КАК УпаковкиНоменклатуры
			|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
			|		ПО (ЗаказПокупателяТовары.Номенклатура.НаборУпаковок = УпаковкиНоменклатуры.Владелец)
			|ГДЕ
			|	ЗаказПокупателяТовары.Ссылка = &Ссылка";
			
			Запрос.УстановитьПараметр("Ссылка", Ссылка);
			
			Результат = Запрос.Выполнить().Выгрузить();
			
			МассивКоэффициентов = Результат.ВыгрузитьКолонку("Коэффициент");
			
			Результат2 = Запрос.Выполнить().Выбрать();
			
			Счетчик = 0;
			
			Для каждого СтрокаТЗ из Результат  Цикл
				
			ОбластьСтрокаДанных.Параметры.КоличествоУпак = СтрокаТЗ.Коэффициент;
			
			//ТабличныйДокумент.Вывести(ОбластьСтрокаДанных);
			
			//ТабДок.Вывести(ОбластьСтрокаДанных);
			
			//Счетчик = Счетчик +1;
			
			//Если Счетчик > МассивКоэффициентов.Количество() Тогда
			//	Прервать;
			//КонецЕсли;
				
			КонецЦикла;
			
			
			ОбластьСтрокаДанных.Параметры.ЕдИзмУпак = "м3";
			ОбластьСтрокаДанных.Параметры.Товар = ФормированиеПечатныхФормСервер.ПолучитьПредставлениеНоменклатурыДляПечати(ВыборкаПоСтрокамТЧ.НоменклатураПредставление,ВыборкаПоСтрокамТЧ.ХарактеристикаПредставление);
			ТабличныйДокумент.Присоединить(ОбластьСтрокаДанных);
			
			ОбластьСтрокаСкидок.Параметры.Заполнить(ВыборкаПоСтрокамТЧ);
			ТабличныйДокумент.Присоединить(ОбластьСтрокаСкидок);

			ОбластьСтрокаСуммы.Параметры.Заполнить(ВыборкаПоСтрокамТЧ);
			ТабличныйДокумент.Присоединить(ОбластьСтрокаСуммы);
			
			ВсегоНаименований = ВсегоНаименований + 1;
			
			Сумма          = Сумма       + ВыборкаПоСтрокамТЧ.Сумма;
			ВсегоСкидок    = ВсегоСкидок + ВыборкаПоСтрокамТЧ.Скидка;
			ВсегоБезСкидок = Сумма       + ВсегоСкидок;
			СуммаНДС       = СуммаНДС    + Окр(ВыборкаПоСтрокамТЧ.СуммаНДС, 2, 1);
			
		КонецЦикла;
		
		ТабличныйДокумент.Вывести(ОбластьИтогоНомера);
		Если ВыводитьКоды Тогда
			ТабличныйДокумент.Присоединить(ОбластьИтогоКодов);
		КонецЕсли;
		
		ТабличныйДокумент.Присоединить(ОбластьИтогоДанных);
		ОбластьИтогоСкидок.Параметры.ВсегоСкидок    = ВсегоСкидок;
		ОбластьИтогоСкидок.Параметры.ВсегоБезСкидок = ВсегоБезСкидок;
		ТабличныйДокумент.Присоединить(ОбластьИтогоСкидок);
		ОбластьИтогоСуммы.Параметры.Всего = Сумма;
		ТабличныйДокумент.Присоединить(ОбластьИтогоСуммы);		
		
		// Вывести ИтогоНДС
		ТабличныйДокумент.Вывести(ОбластьИтогоНДСНомера);
		Если ВыводитьКоды Тогда
			ТабличныйДокумент.Присоединить(ОбластьИтогоНДСКодов);
		КонецЕсли;
		
		ОбластьИтогоНДСДанных.Параметры.НДС = ?(ВыборкаПоДокументам.ЦенаВключаетНДС, НСтр("ru = 'В том числе НДС:'"), НСтр("ru = 'Сумма НДС:'"));
		ТабличныйДокумент.Присоединить(ОбластьИтогоНДСДанных);
		ТабличныйДокумент.Присоединить(ОбластьИтогоНДССкидок);
		
		Если НЕ ВыборкаПоДокументам.УчитыватьНДС Тогда
			СуммаНДССтрока = НСтр("ru = 'Без НДС'");
		Иначе
			СуммаНДССтрока = Строка(СуммаНДС);
		КонецЕсли;
		
		ОбластьИтогоНДССуммы.Параметры.ВсегоНДС = СуммаНДССтрока;
		ТабличныйДокумент.Присоединить(ОбластьИтогоНДССуммы);
		
		
		// Вывести Сумму прописью.
		
		ТекстИтоговойСтроки = НСтр("ru = 'Всего наименований %ВсегоНаименований%, на сумму %Итого%'");
		
		ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,"%ВсегоНаименований%", ВсегоНаименований);
		ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,"%Итого%", ФормированиеПечатныхФормСервер.ФорматСумм(Сумма));
		
		ОбластьСуммаПрописью.Параметры.ИтоговаяСтрока = ТекстИтоговойСтроки;
		ОбластьСуммаПрописью.Параметры.СуммаПрописью  = ФормированиеПечатныхФормСервер.СформироватьСуммуПрописью(Сумма);
		
		ТабличныйДокумент.Вывести(ОбластьСуммаПрописью);
		
		// ПОДПИСИ
		ОбластьПодписей.Параметры.Заполнить(ВыборкаПоДокументам);
		ОбластьПодписей.Параметры.ОтветственныйПредставление = ФормированиеПечатныхФормСервер.ФамилияИнициалыФизЛица(ВыборкаПоДокументам.Ответственный);
		ТабличныйДокумент.Вывести(ОбластьПодписей);
		
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаПоДокументам.Ссылка);
		
	КонецЦикла;
		
	ТабличныйДокумент.АвтоМасштаб = Истина;
	
	Возврат ТабличныйДокумент;
КонецФункции
Показать
+
12. olegmedvedev 65 03.08.17 12:44 Сейчас в теме
ну конечно у вас ерунда выводится...
у вас структура процедуры идет как

Начало цикла (1)
Вывод строки
Начало цикла (2)
Конеццикла
Присоединениеобласти

КонецЦикла


Какой параметр будет последним после окончания цикла (2)?

и вообще запрос в цикле - дурной тон. в одном запросе - точно не получится это решить?
если нет - тогда создавать ТЗ и поиском по ней
+
13. 1c_uZer 03.08.17 12:49 Сейчас в теме
(12) а по поводу ТЗ наводку не дадите? не совсем понял, это надо создать таблицу в которую выгрузить все данные и при подстановке одного значения автоматом заполнять другое? как-то так?
+
15. olegmedvedev 65 03.08.17 13:02 Сейчас в теме
(13)
Запрос = Новый Запрос;
ТЗ =Запрос.Выполнить().Выгрузить();

НайденнаяСтрока = ТЗ .Найти(ВыбТовар, "Товар");
Если НайденнаяСтрока <> Неопределено Тогда
       Коэффициент= НайденнаяСтрока.Коэффициент;
КонецЕсли;
+
16. 1c_uZer 03.08.17 13:07 Сейчас в теме
(15) о так и попробую, спасибо
+
14. 1c_uZer 03.08.17 12:50 Сейчас в теме
(12) хотя я думаю попробую все запихать в один запрос
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот