Как в макете посчитать итог по идентичным документам?

1. user1202776 07.10.19 11:13 Сейчас в теме
Как в макете посчитать итог по документу, как на скрине?
Например документов №1 5 штук в макете:
документ №1- 3 шт.
документ №1- 1 шт.
документ №1- 5 шт.
документ №1- 6шт.
Итог по документу №1-15 штук
Прикрепленные файлы:
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
4. ПодводныйТ 45 07.10.19 11:20 Сейчас в теме
(1) Это скд? Если простой отчет, то при выводе строк считаешь количество одинаковых. Если скд, то надо в запросе смотреть, либо пользовательское поле добавить.
5. lefthander 07.10.19 11:22 Сейчас в теме
(1)В макете при выводе вы уже ничего не посчитаете. Считать надо до команды вывода секции, или отчета.
Ну а по скрину - вам надо группировку по документу и поле с "1" и сумму по этому полю.
alex-l19041; +1 Ответить
8. user1202776 07.10.19 11:31 Сейчас в теме
(5)сможете привести пример?
(7)
10. ПодводныйТ 45 07.10.19 11:41 Сейчас в теме
(8) выложите кусок кода где выводятся эти документы в макет
12. user1202776 07.10.19 11:48 Сейчас в теме
(10)
ОбластьСтрока.Параметры.Контрагент               = строкаТЗ.РегистраторКонтрагент ;
				ОбластьСтрока.Параметры.Адрес                    = строкаТЗ.АдресДоставки ;
				ОбластьСтрока.Параметры.Территория               = строкаТЗ.Территория ;  //ЗаявкаСтр.ЧерезКого.Территория
				ОбластьСтрока.Параметры.Артикул                  = строкаТЗ.Номенклатура.Артикул;
				ОбластьСтрока.Параметры.Код                      = строкаТЗ.Номенклатура.Код;
				ОбластьСтрока.Параметры.Наименование             = строкаТЗ.Номенклатура;
			    ОбластьСтрока.Параметры.ЦенаДо                   = строкаТЗ.ИсходнаяЦена *строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;                        //*	
			    ОбластьСтрока.Параметры.КолДо                    = ОКР(строкаТЗ.ИсходноеКоличество /строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент,2) ;             //*	
			    ОбластьСтрока.Параметры.СуммаЗаказаДо            = строкаТЗ.ИсходнаяЦена*строкаТЗ.ИсходноеКоличество ;     
			    ОбластьСтрока.Параметры.ОтданоКол                = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;       //*	
				ОбластьСтрока.Параметры.ОтданоКГ                 = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				ОбластьСтрока.Параметры.ОтданоКГНетто            = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
			    ОбластьСтрока.Параметры.ЦенаПосле                = строкаТЗ.ЦенаПосле*строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;         //*					
				Если ОбластьСтрока.Параметры.ЦенаПосле <> 0 тогда											
				     ОбластьСтрока.Параметры.Отгружено                = ОКР(строкаТЗ.КоличествоПосле/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент);     //*
				     ОбластьСтрока.Параметры.КГПосле                  = строкаТЗ.КоличествоПосле*строкаТЗ.ВесШтуки ;
				КонецЕсли;				 
				 
				ОбластьСтрока.Параметры.СуммаОтгружено           = строкаТЗ.ЦенаПосле *строкаТЗ.КоличествоПосле ;
				
				Если ОбластьСтрока.Параметры.ЦенаПосле = 0 тогда			
					 ОбластьСтрока.Параметры.ОтгруженоБонуса          = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;
					 ОбластьСтрока.Параметры.ОтгруженоБонусаРуб       = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.БазоваяЦена;
					 ОбластьСтрока.Параметры.ОтгруженоБонусаКГ        = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
					 ОбластьСтрока.Параметры.ОтгруженоБонусаКГНетто   = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				КонецЕсли;	 
				ОбластьСтрока.Параметры.ПредоставленоСкидки        = ?(строкаТЗ.ИсходнаяЦена>0,(строкаТЗ.ИсходнаяЦена-строкаТЗ.ЦенаПосле) * строкаТЗ.КоличествоПосле,0) ;
				ОбластьСтрока.Параметры.ПредоставленоСкидкиБезНДС  = ОКР(ОбластьСтрока.Параметры.ПредоставленоСкидки/(строкаТЗ.ПроцентНДС/100+1),2) ;    //окр(ПредоставленоСкидки/(СпрТовар.СтавкаНДС.Ставка/100+1),2)
				ОбластьСтрока.Параметры.Агент                      = строкаТЗ.РегистраторТорговыйПредставитель ;    
				ОбластьСтрока.Параметры.ЗаявкаСтр                  = строкаТЗ.ДокументНачисления;    
				ОбластьСтрока.Параметры.НаклСтр                    = строкаТЗ.РегистраторДокументПродажи ;    
				Если этаформа.ЭлементыФормы.ПолеВыбора1.Значение <> "Ruchnoy_bonus" Тогда 									
				     ОбластьСтрока.Параметры.БонусНаклСтр               = ?(строка(строкаТЗ.БонуснаяЗаявка)="","",строкаТЗ.ДокументПродажиБонусногоЗаказа) ;    
			    ИНАЧЕ
				     ОбластьСтрока.Параметры.БонусНаклСтр               = строкаТЗ.ДокументПродажиБонусногоЗаказа ;				
				КонецЕсли;
				ОбластьСтрока.Параметры.ЦенаЗакупки                = строкаТЗ.ЦенаЗакупки*строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;    
				ОбластьСтрока.Параметры.КоэффициентМеста           = строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;    
				ОбластьСтрока.Параметры.БазоваяЦена                = строкаТЗ.БазоваяЦена*строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;            //СпрТовар.БазоваяЦена.получить(НаклСтр.датадок).ЦенаБазовая
				ОбластьСтрока.Параметры.СтавкаНДС                  = строка(ОКР(строкаТЗ.ПроцентНДС))+" %";            //СпрТовар.СтавкаНДС
				
				

				ТабДок.Вывести(ОбластьСтрока);
Показать
14. razars 13 07.10.19 11:53 Сейчас в теме
(12)
//перед объявлением цикла добавить
ПредыдущийДок = Неопределено;
ИтогПоДокументу = 0;
//---

//++++++++
Если ПредыдущийДок <> Неопределено И ПредыдущийДок <> строкаТЗ.РегистраторДокументПродажи Тогда
	ОбластьСтрока.Параметры.НаклСтр = "Итог по документу" + ИтогПоДокументу;
	ТабДок.Вывести(ОбластьСтрока);
	ИтогПоДокументу = 0;
КонецЕсли
//-------

ОбластьСтрока.Параметры.Контрагент               = строкаТЗ.РегистраторКонтрагент ;
ОбластьСтрока.Параметры.Адрес                    = строкаТЗ.АдресДоставки ;
ОбластьСтрока.Параметры.Территория               = строкаТЗ.Территория ;  //ЗаявкаСтр.ЧерезКого.Территория
ОбластьСтрока.Параметры.Артикул                  = строкаТЗ.Номенклатура.Артикул;
ОбластьСтрока.Параметры.Код                      = строкаТЗ.Номенклатура.Код;
ОбластьСтрока.Параметры.Наименование             = строкаТЗ.Номенклатура;
ОбластьСтрока.Параметры.ЦенаДо                   = строкаТЗ.ИсходнаяЦена *строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;                        //*	
ОбластьСтрока.Параметры.КолДо                    = ОКР(строкаТЗ.ИсходноеКоличество /строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент,2) ;             //*	
ОбластьСтрока.Параметры.СуммаЗаказаДо            = строкаТЗ.ИсходнаяЦена*строкаТЗ.ИсходноеКоличество ;     
ОбластьСтрока.Параметры.ОтданоКол                = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;       //*	
ОбластьСтрока.Параметры.ОтданоКГ                 = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
ОбластьСтрока.Параметры.ОтданоКГНетто            = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
ОбластьСтрока.Параметры.ЦенаПосле                = строкаТЗ.ЦенаПосле*строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;         //*					
Если ОбластьСтрока.Параметры.ЦенаПосле <> 0 тогда											
	ОбластьСтрока.Параметры.Отгружено                = ОКР(строкаТЗ.КоличествоПосле/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент);     //*
	ОбластьСтрока.Параметры.КГПосле                  = строкаТЗ.КоличествоПосле*строкаТЗ.ВесШтуки ;
КонецЕсли;				 

ОбластьСтрока.Параметры.СуммаОтгружено           = строкаТЗ.ЦенаПосле *строкаТЗ.КоличествоПосле ;

Если ОбластьСтрока.Параметры.ЦенаПосле = 0 тогда			
	ОбластьСтрока.Параметры.ОтгруженоБонуса          = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;
	ОбластьСтрока.Параметры.ОтгруженоБонусаРуб       = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.БазоваяЦена;
	ОбластьСтрока.Параметры.ОтгруженоБонусаКГ        = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
	ОбластьСтрока.Параметры.ОтгруженоБонусаКГНетто   = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
КонецЕсли;	 
ОбластьСтрока.Параметры.ПредоставленоСкидки        = ?(строкаТЗ.ИсходнаяЦена>0,(строкаТЗ.ИсходнаяЦена-строкаТЗ.ЦенаПосле) * строкаТЗ.КоличествоПосле,0) ;
ОбластьСтрока.Параметры.ПредоставленоСкидкиБезНДС  = ОКР(ОбластьСтрока.Параметры.ПредоставленоСкидки/(строкаТЗ.ПроцентНДС/100+1),2) ;    //окр(ПредоставленоСкидки/(СпрТовар.СтавкаНДС.Ставка/100+1),2)
ОбластьСтрока.Параметры.Агент                      = строкаТЗ.РегистраторТорговыйПредставитель ;    
ОбластьСтрока.Параметры.ЗаявкаСтр                  = строкаТЗ.ДокументНачисления;    
ОбластьСтрока.Параметры.НаклСтр                    = строкаТЗ.РегистраторДокументПродажи ;    
Если этаформа.ЭлементыФормы.ПолеВыбора1.Значение <> "Ruchnoy_bonus" Тогда 									
	ОбластьСтрока.Параметры.БонусНаклСтр               = ?(строка(строкаТЗ.БонуснаяЗаявка)="","",строкаТЗ.ДокументПродажиБонусногоЗаказа) ;    
ИНАЧЕ
	ОбластьСтрока.Параметры.БонусНаклСтр               = строкаТЗ.ДокументПродажиБонусногоЗаказа ;				
КонецЕсли;
ОбластьСтрока.Параметры.ЦенаЗакупки                = строкаТЗ.ЦенаЗакупки*строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;    
ОбластьСтрока.Параметры.КоэффициентМеста           = строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;    
ОбластьСтрока.Параметры.БазоваяЦена                = строкаТЗ.БазоваяЦена*строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;            //СпрТовар.БазоваяЦена.получить(НаклСтр.датадок).ЦенаБазовая
ОбластьСтрока.Параметры.СтавкаНДС                  = строка(ОКР(строкаТЗ.ПроцентНДС))+" %";            //СпрТовар.СтавкаНДС



ТабДок.Вывести(ОбластьСтрока);

//++++++++
ПредыдущийДок = ТвояТекущаяСсылка;	
ИтогПоДокументу = ИтогПоДокументу+1;
//------
Показать
16. user1202776 07.10.19 12:10 Сейчас в теме
(14) не понял, что нужно поставить на место "ТвояТекущаяСсылка"
22. razars 13 07.10.19 13:25 Сейчас в теме
(16) проглядел - нужно
строкаТЗ.РегистраторДокументПродажи
17. user1202776 07.10.19 12:50 Сейчас в теме
(14)
ПредыдущийДок <> Неопределено

ПредыдущийДок = Неопределено
18. ПодводныйТ 45 07.10.19 12:51 Сейчас в теме
(12) как то так примерно:

тзПоДокам=тз.Скопировать();
тзПоДокам.Свернуть("РегистраторДокументПродажи");
Для каждого СтрокаПоДокам из тзПоДокам Цикл
       тзПоТекущемуДоку=тз.Скопировать(Новый Структура("РегистраторДокументПродажи",СтрокаПоДокам.РегистраторДокументПродажи));
       Для каждого стрПоТекущемуДоку из тзПоТекущемуДоку Цикл
         .....
          //тут ваш основной цикл
         .....
       КонецЦикла;
       СекцияВыводаИтогаПоДоку.Параметры.ИтогоПоДоку=тзПоТекущемуДоку.Количество();
        ТабДок.Вывести(СекцияВыводаИтогаПоДоку);
КонецЦикла;
Показать
19. user1202776 07.10.19 13:12 Сейчас в теме
(18) дублирует строки в макете
20. ПодводныйТ 45 07.10.19 13:21 Сейчас в теме
(19) не должно, выложите текст вывода как вы сделали.
23. user1202776 07.10.19 13:26 Сейчас в теме
(20)
Для каждого строкаТЗ из ТЗ Цикл 
		
		//Если (строкаТЗ.ЧисловойНомерСтатусаКредитногоКонтроля = 1)И(ФлагРасчетВШтуках = Истина) И ПредыдущийДок <> Неопределено И ПредыдущийДок <> строкаТЗ.РегистраторДокументПродажи Тогда  
		 Если (строкаТЗ.ЧисловойНомерСтатусаКредитногоКонтроля = 1)И(ФлагРасчетВШтуках = Истина) Тогда
//		Если ПредыдущийДок <> Неопределено И ПредыдущийДок <> строкаТЗ.РегистраторДокументПродажи Тогда
//    ОбластьСтрока.Параметры.НаклСтр = "Итог по документу" + ИтогПоДокументу;
//    ТабДок.Вывести(ОбластьСтрока);
//    ИтогПоДокументу = 0;
//КонецЕсли;
				ОбластьСтрока.Параметры.Контрагент               = строкаТЗ.РегистраторКонтрагент ;
				ОбластьСтрока.Параметры.Адрес                    = строкаТЗ.АдресДоставки ;
				ОбластьСтрока.Параметры.Территория               = строкаТЗ.Территория ;  //ЗаявкаСтр.ЧерезКого.Территория
				ОбластьСтрока.Параметры.Артикул                  = строкаТЗ.Номенклатура.Артикул;
				ОбластьСтрока.Параметры.Код                      = строкаТЗ.Номенклатура.Код;
				ОбластьСтрока.Параметры.Наименование             = строкаТЗ.Номенклатура;
				ОбластьСтрока.Параметры.ЦенаДо                   = строкаТЗ.ИсходнаяЦена;
				ОбластьСтрока.Параметры.КолДо                    = строкаТЗ.ИсходноеКоличество ;
				ОбластьСтрока.Параметры.СуммаЗаказаДо            = строкаТЗ.ИсходнаяЦена*строкаТЗ.ИсходноеКоличество ;
				ОбластьСтрока.Параметры.ОтданоКол                = строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество;
				ОбластьСтрока.Параметры.ОтданоКГ                 = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				ОбластьСтрока.Параметры.ОтданоКГНетто            = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				ОбластьСтрока.Параметры.ЦенаПосле                = строкаТЗ.ЦенаПосле;
				Если ОбластьСтрока.Параметры.ЦенаПосле <> 0 тогда							
				     ОбластьСтрока.Параметры.Отгружено                = строкаТЗ.КоличествоПосле;
				     ОбластьСтрока.Параметры.КГПосле                  = строкаТЗ.КоличествоПосле*строкаТЗ.ВесШтуки ;
				КонецЕсли; 
				 
				ОбластьСтрока.Параметры.СуммаОтгружено           = строкаТЗ.ЦенаПосле *строкаТЗ.КоличествоПосле ;
				
				Если ОбластьСтрока.Параметры.ЦенаПосле = 0 тогда			
					 ОбластьСтрока.Параметры.ОтгруженоБонуса          = строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество ;
					 ОбластьСтрока.Параметры.ОтгруженоБонусаРуб       = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.БазоваяЦена;
					 ОбластьСтрока.Параметры.ОтгруженоБонусаКГ        = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
					 ОбластьСтрока.Параметры.ОтгруженоБонусаКГНетто   = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				КонецЕсли;	 
				ОбластьСтрока.Параметры.ПредоставленоСкидки        = ?(строкаТЗ.ИсходнаяЦена>0,(строкаТЗ.ИсходнаяЦена-строкаТЗ.ЦенаПосле) * строкаТЗ.КоличествоПосле,0) ;
				ОбластьСтрока.Параметры.ПредоставленоСкидкиБезНДС  = ОКР(ОбластьСтрока.Параметры.ПредоставленоСкидки/(строкаТЗ.ПроцентНДС/100+1),2) ;    //окр(ПредоставленоСкидки/(СпрТовар.СтавкаНДС.Ставка/100+1),2)
				ОбластьСтрока.Параметры.Агент                      = строкаТЗ.РегистраторТорговыйПредставитель ;    
				ОбластьСтрока.Параметры.ЗаявкаСтр                  = строкаТЗ.ДокументНачисления;    
				ОбластьСтрока.Параметры.НаклСтр                    = строкаТЗ.РегистраторДокументПродажи ;    
				Если этаформа.ЭлементыФормы.ПолеВыбора1.Значение <> "Ruchnoy_bonus" Тогда 					
				     ОбластьСтрока.Параметры.БонусНаклСтр               = строкаТЗ.ДокументПродажиБонусногоЗаказа ;
			    ИНАЧЕ
				     ОбластьСтрока.Параметры.БонусНаклСтр               = строкаТЗ.ДокументПродажиБонусногоЗаказа ;				
				КонецЕсли;
				ОбластьСтрока.Параметры.ЦенаЗакупки                = строкаТЗ.ЦенаЗакупки ;    
				ОбластьСтрока.Параметры.КоэффициентМеста           = строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;    
				ОбластьСтрока.Параметры.БазоваяЦена                = строкаТЗ.БазоваяЦена ;            //СпрТовар.БазоваяЦена.получить(НаклСтр.датадок).ЦенаБазовая
				ОбластьСтрока.Параметры.СтавкаНДС                  = строка(ОКР(строкаТЗ.ПроцентНДС))+" %";            //СпрТовар.СтавкаНДС
								
				ТабДок.Вывести(ОбластьСтрока);
				//++++++++
//*****************************
				ОбластьСтрока.Параметры.Контрагент               = "" ;
				ОбластьСтрока.Параметры.Адрес                    = "" ;
				ОбластьСтрока.Параметры.Территория               = "" ;  
				ОбластьСтрока.Параметры.Артикул                  = "" ;
				ОбластьСтрока.Параметры.Код                      = "" ;
				ОбластьСтрока.Параметры.Наименование             = "" ;
				ОбластьСтрока.Параметры.ЦенаДо                   = "" ;
				ОбластьСтрока.Параметры.КолДо                    = "" ;
				ОбластьСтрока.Параметры.СуммаЗаказаДо            = "" ;
				ОбластьСтрока.Параметры.ОтданоКол                = "" ;
				ОбластьСтрока.Параметры.ОтданоКГ                 = "" ;
				ОбластьСтрока.Параметры.ОтданоКГНетто            = "" ;
				ОбластьСтрока.Параметры.ЦенаПосле                = "" ;
				ОбластьСтрока.Параметры.Отгружено                = "" ;
				ОбластьСтрока.Параметры.КГПосле                  = "" ;
				ОбластьСтрока.Параметры.СуммаОтгружено           = "" ;
				ОбластьСтрока.Параметры.ОтгруженоБонуса          = "" ;
				ОбластьСтрока.Параметры.ОтгруженоБонусаРуб       = "" ;
				ОбластьСтрока.Параметры.ОтгруженоБонусаКГ        = "" ;
				ОбластьСтрока.Параметры.ОтгруженоБонусаКГНетто   = "" ;
				ОбластьСтрока.Параметры.ПредоставленоСкидки      = "" ;
				ОбластьСтрока.Параметры.ПредоставленоСкидкиБезНДС= "" ; 
				ОбластьСтрока.Параметры.Агент                    = "" ;    
				ОбластьСтрока.Параметры.ЗаявкаСтр                = "" ;    
				ОбластьСтрока.Параметры.НаклСтр                  = "" ;    
				ОбластьСтрока.Параметры.БонусНаклСтр             = "" ;
				ОбластьСтрока.Параметры.ЦенаЗакупки              = "" ;    
				ОбластьСтрока.Параметры.КоэффициентМеста         = "" ;    
				ОбластьСтрока.Параметры.БазоваяЦена              = "" ; 
				ОбластьСтрока.Параметры.СтавкаНДС                = "" ; 
//****************************
				
				
		ИначеЕсли (строкаТЗ.ЧисловойНомерСтатусаКредитногоКонтроля <> 1)И(ФлагРасчетВШтуках = Истина) Тогда  
				
				ОбластьСтрокаВыделена.Параметры.Контрагент               = строкаТЗ.РегистраторКонтрагент ;
				ОбластьСтрокаВыделена.Параметры.Адрес                    = строкаТЗ.АдресДоставки ;
				ОбластьСтрокаВыделена.Параметры.Территория               = строкаТЗ.Территория ;  //ЗаявкаСтр.ЧерезКого.Территория
				ОбластьСтрокаВыделена.Параметры.Артикул                  = строкаТЗ.Номенклатура.Артикул;
				ОбластьСтрокаВыделена.Параметры.Код                      = строкаТЗ.Номенклатура.Код;
				ОбластьСтрокаВыделена.Параметры.Наименование             = строкаТЗ.Номенклатура;
				ОбластьСтрокаВыделена.Параметры.ЦенаДо                   = строкаТЗ.ИсходнаяЦена;
				ОбластьСтрокаВыделена.Параметры.КолДо                    = строкаТЗ.ИсходноеКоличество ;
				ОбластьСтрокаВыделена.Параметры.СуммаЗаказаДо            = строкаТЗ.ИсходнаяЦена*строкаТЗ.ИсходноеКоличество ;
				ОбластьСтрокаВыделена.Параметры.ОтданоКол                = строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество;
				ОбластьСтрокаВыделена.Параметры.ОтданоКГ                 = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				ОбластьСтрокаВыделена.Параметры.ОтданоКГНетто            = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				ОбластьСтрокаВыделена.Параметры.ЦенаПосле                = строкаТЗ.ЦенаПосле;
				Если ОбластьСтрока.Параметры.ЦенаПосле <> 0 тогда											
				     ОбластьСтрокаВыделена.Параметры.Отгружено                = строкаТЗ.КоличествоПосле;
				     ОбластьСтрокаВыделена.Параметры.КГПосле                  = строкаТЗ.КоличествоПосле*строкаТЗ.ВесШтуки ;
				КонецЕсли;
				 
				ОбластьСтрокаВыделена.Параметры.СуммаОтгружено           = строкаТЗ.ЦенаПосле *строкаТЗ.КоличествоПосле ;
				Если ОбластьСтрокаВыделена.Параметры.ЦенаПосле = 0 тогда			
					 ОбластьСтрокаВыделена.Параметры.ОтгруженоБонуса          = строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество ;
					 ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаРуб       = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.БазоваяЦена;
					 ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаКГ        = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
					 ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаКГНетто   = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				КонецЕсли;	 
				ОбластьСтрокаВыделена.Параметры.ПредоставленоСкидки        = ?(строкаТЗ.ИсходнаяЦена>0,(строкаТЗ.ИсходнаяЦена-строкаТЗ.ЦенаПосле) * строкаТЗ.КоличествоПосле,0) ;
				ОбластьСтрокаВыделена.Параметры.ПредоставленоСкидкиБезНДС  = ОКР(ОбластьСтрокаВыделена.Параметры.ПредоставленоСкидки/(строкаТЗ.ПроцентНДС/100+1),2) ;    //окр(ПредоставленоСкидки/(СпрТовар.СтавкаНДС.Ставка/100+1),2)
				ОбластьСтрокаВыделена.Параметры.Агент                      = строкаТЗ.РегистраторТорговыйПредставитель ;    
				ОбластьСтрокаВыделена.Параметры.ЗаявкаСтр                  = строкаТЗ.ДокументНачисления;    
				ОбластьСтрокаВыделена.Параметры.НаклСтр                    = строкаТЗ.РегистраторДокументПродажи ;    
				Если этаформа.ЭлементыФормы.ПолеВыбора1.Значение <> "Ruchnoy_bonus" Тогда 									
				     ОбластьСтрокаВыделена.Параметры.БонусНаклСтр               = ?(строка(строкаТЗ.БонуснаяЗаявка)="","",строкаТЗ.ДокументПродажиБонусногоЗаказа) ;     
			    ИНАЧЕ
				     ОбластьСтрока.Параметры.БонусНаклСтр               = строкаТЗ.ДокументПродажиБонусногоЗаказа ;				
				КонецЕсли;				 
				ОбластьСтрокаВыделена.Параметры.ЦенаЗакупки                = строкаТЗ.ЦенаЗакупки ;    
				ОбластьСтрокаВыделена.Параметры.КоэффициентМеста           = строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;    
				ОбластьСтрокаВыделена.Параметры.БазоваяЦена                = строкаТЗ.БазоваяЦена ;            //СпрТовар.БазоваяЦена.получить(НаклСтр.датадок).ЦенаБазовая
				ОбластьСтрокаВыделена.Параметры.СтавкаНДС                  = строка(ОКР(строкаТЗ.ПроцентНДС))+" %";            //СпрТовар.СтавкаНДС
				
				ТабДок.Вывести(ОбластьСтрокаВыделена);
				
//*****************************
				ОбластьСтрокаВыделена.Параметры.Контрагент               = "" ;
				ОбластьСтрокаВыделена.Параметры.Адрес                    = "" ;
				ОбластьСтрокаВыделена.Параметры.Территория               = "" ;  
				ОбластьСтрокаВыделена.Параметры.Артикул                  = "" ;
				ОбластьСтрокаВыделена.Параметры.Код                      = "" ;
				ОбластьСтрокаВыделена.Параметры.Наименование             = "" ;
				ОбластьСтрокаВыделена.Параметры.ЦенаДо                   = "" ;
				ОбластьСтрокаВыделена.Параметры.КолДо                    = "" ;
				ОбластьСтрокаВыделена.Параметры.СуммаЗаказаДо            = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтданоКол                = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтданоКГ                 = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтданоКГНетто            = "" ;
				ОбластьСтрокаВыделена.Параметры.ЦенаПосле                = "" ;
				ОбластьСтрокаВыделена.Параметры.Отгружено                = "" ;
				ОбластьСтрокаВыделена.Параметры.КГПосле                  = "" ;
				ОбластьСтрокаВыделена.Параметры.СуммаОтгружено           = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтгруженоБонуса          = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаРуб       = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаКГ        = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаКГНетто   = "" ;
				ОбластьСтрокаВыделена.Параметры.ПредоставленоСкидки      = "" ;
				ОбластьСтрокаВыделена.Параметры.ПредоставленоСкидкиБезНДС= "" ; 
				ОбластьСтрокаВыделена.Параметры.Агент                    = "" ;    
				ОбластьСтрокаВыделена.Параметры.ЗаявкаСтр                = "" ;    
				ОбластьСтрокаВыделена.Параметры.НаклСтр                  = "" ;    
				ОбластьСтрокаВыделена.Параметры.БонусНаклСтр             = "" ;
				ОбластьСтрокаВыделена.Параметры.ЦенаЗакупки              = "" ;    
				ОбластьСтрокаВыделена.Параметры.КоэффициентМеста         = "" ;    
				ОбластьСтрокаВыделена.Параметры.БазоваяЦена              = "" ; 
				ОбластьСтрокаВыделена.Параметры.СтавкаНДС                = "" ; 
//****************************
				
				
		ИначеЕсли (строкаТЗ.ЧисловойНомерСтатусаКредитногоКонтроля = 1)И(ФлагРасчетВместах = Истина) Тогда  
			
				ОбластьСтрока.Параметры.Контрагент               = строкаТЗ.РегистраторКонтрагент ;
				ОбластьСтрока.Параметры.Адрес                    = строкаТЗ.АдресДоставки ;
				ОбластьСтрока.Параметры.Территория               = строкаТЗ.Территория ;  //ЗаявкаСтр.ЧерезКого.Территория
				ОбластьСтрока.Параметры.Артикул                  = строкаТЗ.Номенклатура.Артикул;
				ОбластьСтрока.Параметры.Код                      = строкаТЗ.Номенклатура.Код;
				ОбластьСтрока.Параметры.Наименование             = строкаТЗ.Номенклатура;
			    ОбластьСтрока.Параметры.ЦенаДо                   = строкаТЗ.ИсходнаяЦена *строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;                        //*	
			    ОбластьСтрока.Параметры.КолДо                    = ОКР(строкаТЗ.ИсходноеКоличество /строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент,2) ;             //*	
			    ОбластьСтрока.Параметры.СуммаЗаказаДо            = строкаТЗ.ИсходнаяЦена*строкаТЗ.ИсходноеКоличество ;     
			    ОбластьСтрока.Параметры.ОтданоКол                = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;       //*	
				ОбластьСтрока.Параметры.ОтданоКГ                 = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				ОбластьСтрока.Параметры.ОтданоКГНетто            = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
			    ОбластьСтрока.Параметры.ЦенаПосле                = строкаТЗ.ЦенаПосле*строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;         //*					
				Если ОбластьСтрока.Параметры.ЦенаПосле <> 0 тогда											
				     ОбластьСтрока.Параметры.Отгружено                = ОКР(строкаТЗ.КоличествоПосле/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент);     //*
				     ОбластьСтрока.Параметры.КГПосле                  = строкаТЗ.КоличествоПосле*строкаТЗ.ВесШтуки ;
				КонецЕсли;				 
				 
				ОбластьСтрока.Параметры.СуммаОтгружено           = строкаТЗ.ЦенаПосле *строкаТЗ.КоличествоПосле ;
				
				Если ОбластьСтрока.Параметры.ЦенаПосле = 0 тогда			
					 ОбластьСтрока.Параметры.ОтгруженоБонуса          = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;
					 ОбластьСтрока.Параметры.ОтгруженоБонусаРуб       = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.БазоваяЦена;
					 ОбластьСтрока.Параметры.ОтгруженоБонусаКГ        = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
					 ОбластьСтрока.Параметры.ОтгруженоБонусаКГНетто   = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				КонецЕсли;	 
				ОбластьСтрока.Параметры.ПредоставленоСкидки        = ?(строкаТЗ.ИсходнаяЦена>0,(строкаТЗ.ИсходнаяЦена-строкаТЗ.ЦенаПосле) * строкаТЗ.КоличествоПосле,0) ;
				ОбластьСтрока.Параметры.ПредоставленоСкидкиБезНДС  = ОКР(ОбластьСтрока.Параметры.ПредоставленоСкидки/(строкаТЗ.ПроцентНДС/100+1),2) ;    //окр(ПредоставленоСкидки/(СпрТовар.СтавкаНДС.Ставка/100+1),2)
				ОбластьСтрока.Параметры.Агент                      = строкаТЗ.РегистраторТорговыйПредставитель ;    
				ОбластьСтрока.Параметры.ЗаявкаСтр                  = строкаТЗ.ДокументНачисления;    
				ОбластьСтрока.Параметры.НаклСтр                    = строкаТЗ.РегистраторДокументПродажи ;    
				Если этаформа.ЭлементыФормы.ПолеВыбора1.Значение <> "Ruchnoy_bonus" Тогда 									
				     ОбластьСтрока.Параметры.БонусНаклСтр               = ?(строка(строкаТЗ.БонуснаяЗаявка)="","",строкаТЗ.ДокументПродажиБонусногоЗаказа) ;    
			    ИНАЧЕ
				     ОбластьСтрока.Параметры.БонусНаклСтр               = строкаТЗ.ДокументПродажиБонусногоЗаказа ;				
				КонецЕсли;
				ОбластьСтрока.Параметры.ЦенаЗакупки                = строкаТЗ.ЦенаЗакупки*строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;    
				ОбластьСтрока.Параметры.КоэффициентМеста           = строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;    
				ОбластьСтрока.Параметры.БазоваяЦена                = строкаТЗ.БазоваяЦена*строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;            //СпрТовар.БазоваяЦена.получить(НаклСтр.датадок).ЦенаБазовая
				ОбластьСтрока.Параметры.СтавкаНДС                  = строка(ОКР(строкаТЗ.ПроцентНДС))+" %";            //СпрТовар.СтавкаНДС
				
				ТабДок.Вывести(ОбластьСтрока);
				
//*****************************
				ОбластьСтрока.Параметры.Контрагент               = "" ;
				ОбластьСтрока.Параметры.Адрес                    = "" ;
				ОбластьСтрока.Параметры.Территория               = "" ;  
				ОбластьСтрока.Параметры.Артикул                  = "" ;
				ОбластьСтрока.Параметры.Код                      = "" ;
				ОбластьСтрока.Параметры.Наименование             = "" ;
				ОбластьСтрока.Параметры.ЦенаДо                   = "" ;
				ОбластьСтрока.Параметры.КолДо                    = "" ;
				ОбластьСтрока.Параметры.СуммаЗаказаДо            = "" ;
				ОбластьСтрока.Параметры.ОтданоКол                = "" ;
				ОбластьСтрока.Параметры.ОтданоКГ                 = "" ;
				ОбластьСтрока.Параметры.ОтданоКГНетто            = "" ;
				ОбластьСтрока.Параметры.ЦенаПосле                = "" ;
				ОбластьСтрока.Параметры.Отгружено                = "" ;
				ОбластьСтрока.Параметры.КГПосле                  = "" ;
				ОбластьСтрока.Параметры.СуммаОтгружено           = "" ;
				ОбластьСтрока.Параметры.ОтгруженоБонуса          = "" ;
				ОбластьСтрока.Параметры.ОтгруженоБонусаРуб       = "" ;
				ОбластьСтрока.Параметры.ОтгруженоБонусаКГ        = "" ;
				ОбластьСтрока.Параметры.ОтгруженоБонусаКГНетто   = "" ;
				ОбластьСтрока.Параметры.ПредоставленоСкидки      = "" ;
				ОбластьСтрока.Параметры.ПредоставленоСкидкиБезНДС= "" ; 
				ОбластьСтрока.Параметры.Агент                    = "" ;    
				ОбластьСтрока.Параметры.ЗаявкаСтр                = "" ;    
				ОбластьСтрока.Параметры.НаклСтр                  = "" ;    
				ОбластьСтрока.Параметры.БонусНаклСтр             = "" ;
				ОбластьСтрока.Параметры.ЦенаЗакупки              = "" ;    
				ОбластьСтрока.Параметры.КоэффициентМеста         = "" ;    
				ОбластьСтрока.Параметры.БазоваяЦена              = "" ; 
				ОбластьСтрока.Параметры.СтавкаНДС                = "" ; 
//****************************
				
		  ИначеЕсли (строкаТЗ.ЧисловойНомерСтатусаКредитногоКонтроля <> 1)И(ФлагРасчетВместах = Истина) Тогда 				
				
				ОбластьСтрокаВыделена.Параметры.Контрагент               = строкаТЗ.РегистраторКонтрагент ;
				ОбластьСтрокаВыделена.Параметры.Адрес                    = строкаТЗ.АдресДоставки ;
				ОбластьСтрокаВыделена.Параметры.Территория               = строкаТЗ.Территория ;  //ЗаявкаСтр.ЧерезКого.Территория
				ОбластьСтрокаВыделена.Параметры.Артикул                  = строкаТЗ.Номенклатура.Артикул;
				ОбластьСтрокаВыделена.Параметры.Код                      = строкаТЗ.Номенклатура.Код;
				ОбластьСтрокаВыделена.Параметры.Наименование             = строкаТЗ.Номенклатура;
				ОбластьСтрокаВыделена.Параметры.ЦенаДо                   = строкаТЗ.ИсходнаяЦена*строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;
				ОбластьСтрокаВыделена.Параметры.КолДо                    = ОКР(строкаТЗ.ИсходноеКоличество/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент,2) ;
				ОбластьСтрокаВыделена.Параметры.СуммаЗаказаДо            = строкаТЗ.ИсходнаяЦена*строкаТЗ.ИсходноеКоличество ;
				ОбластьСтрокаВыделена.Параметры.ОтданоКол                = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;
				ОбластьСтрокаВыделена.Параметры.ОтданоКГ                 = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				ОбластьСтрокаВыделена.Параметры.ОтданоКГНетто            = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				ОбластьСтрокаВыделена.Параметры.ЦенаПосле                = строкаТЗ.ЦенаПосле*строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;
				Если ОбластьСтрока.Параметры.ЦенаПосле <> 0 тогда											
				     ОбластьСтрокаВыделена.Параметры.Отгружено                = строкаТЗ.КоличествоПосле/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;
				     ОбластьСтрокаВыделена.Параметры.КГПосле                  = строкаТЗ.КоличествоПосле*строкаТЗ.ВесШтуки ;
				КонецЕсли;				 
				 
				ОбластьСтрокаВыделена.Параметры.СуммаОтгружено           = строкаТЗ.ЦенаПосле *строкаТЗ.КоличествоПосле ;
				
				Если ОбластьСтрокаВыделена.Параметры.ЦенаПосле = 0 тогда			
					 ОбластьСтрокаВыделена.Параметры.ОтгруженоБонуса          = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;
					 ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаРуб       = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.БазоваяЦена;
					 ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаКГ        = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
					 ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаКГНетто   = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.ВесШтуки ;
				КонецЕсли;	 
				ОбластьСтрокаВыделена.Параметры.ПредоставленоСкидки        = ?(строкаТЗ.ИсходнаяЦена>0,(строкаТЗ.ИсходнаяЦена-строкаТЗ.ЦенаПосле) * строкаТЗ.КоличествоПосле,0) ;
				ОбластьСтрокаВыделена.Параметры.ПредоставленоСкидкиБезНДС  = ОКР(ОбластьСтрокаВыделена.Параметры.ПредоставленоСкидки/(строкаТЗ.ПроцентНДС/100+1),2) ;    //окр(ПредоставленоСкидки/(СпрТовар.СтавкаНДС.Ставка/100+1),2)
				ОбластьСтрокаВыделена.Параметры.Агент                      = строкаТЗ.РегистраторТорговыйПредставитель ;    
				ОбластьСтрокаВыделена.Параметры.ЗаявкаСтр                  = строкаТЗ.ДокументНачисления;    
				ОбластьСтрокаВыделена.Параметры.НаклСтр                    = строкаТЗ.РегистраторДокументПродажи ;    
				Если этаформа.ЭлементыФормы.ПолеВыбора1.Значение <> "Ruchnoy_bonus" Тогда 									
				     ОбластьСтрокаВыделена.Параметры.БонусНаклСтр               = ?(строка(строкаТЗ.БонуснаяЗаявка)="","",строкаТЗ.ДокументПродажиБонусногоЗаказа) ;     
			    ИНАЧЕ
				     ОбластьСтрока.Параметры.БонусНаклСтр               = строкаТЗ.ДокументПродажиБонусногоЗаказа ;				
				КонецЕсли;
				ОбластьСтрокаВыделена.Параметры.ЦенаЗакупки                = строкаТЗ.ЦенаЗакупки *строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;    
				ОбластьСтрокаВыделена.Параметры.КоэффициентМеста           = строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент ;    
				ОбластьСтрокаВыделена.Параметры.БазоваяЦена                = строкаТЗ.БазоваяЦена *строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;            //СпрТовар.БазоваяЦена.получить(НаклСтр.датадок).ЦенаБазовая
				ОбластьСтрокаВыделена.Параметры.СтавкаНДС                  = строка(ОКР(строкаТЗ.ПроцентНДС))+" %";            //СпрТовар.СтавкаНДС
				СуммаЗаказа=строкаТЗ.ИсходнаяЦена*строкаТЗ.ИсходноеКоличество;
				
				ОбластьСтрока.Параметры.РОИ                        = ((СуммаЗаказа-строкаТЗ.ОтгруженоБонусаРуб)/строкаТЗ.ОтгруженоБонусаРуб*100)/10;

				ТабДок.Вывести(ОбластьСтрокаВыделена);
				
//*****************************
				ОбластьСтрокаВыделена.Параметры.Контрагент               = "" ;
				ОбластьСтрокаВыделена.Параметры.Адрес                    = "" ;
				ОбластьСтрокаВыделена.Параметры.Территория               = "" ;  
				ОбластьСтрокаВыделена.Параметры.Артикул                  = "" ;
				ОбластьСтрокаВыделена.Параметры.Код                      = "" ;
				ОбластьСтрокаВыделена.Параметры.Наименование             = "" ;
				ОбластьСтрокаВыделена.Параметры.ЦенаДо                   = "" ;
				ОбластьСтрокаВыделена.Параметры.КолДо                    = "" ;
				ОбластьСтрокаВыделена.Параметры.СуммаЗаказаДо            = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтданоКол                = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтданоКГ                 = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтданоКГНетто            = "" ;
				ОбластьСтрокаВыделена.Параметры.ЦенаПосле                = "" ;
				ОбластьСтрокаВыделена.Параметры.Отгружено                = "" ;
				ОбластьСтрокаВыделена.Параметры.КГПосле                  = "" ;
				ОбластьСтрокаВыделена.Параметры.СуммаОтгружено           = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтгруженоБонуса          = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаРуб       = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаКГ        = "" ;
				ОбластьСтрокаВыделена.Параметры.ОтгруженоБонусаКГНетто   = "" ;
				ОбластьСтрокаВыделена.Параметры.ПредоставленоСкидки      = "" ;
				ОбластьСтрокаВыделена.Параметры.ПредоставленоСкидкиБезНДС= "" ; 
				ОбластьСтрокаВыделена.Параметры.Агент                    = "" ;    
				ОбластьСтрокаВыделена.Параметры.ЗаявкаСтр                = "" ;    
				ОбластьСтрокаВыделена.Параметры.НаклСтр                  = "" ;    
				ОбластьСтрокаВыделена.Параметры.БонусНаклСтр             = "" ;
				ОбластьСтрокаВыделена.Параметры.ЦенаЗакупки              = "" ;    
				ОбластьСтрокаВыделена.Параметры.КоэффициентМеста         = "" ;    
				ОбластьСтрокаВыделена.Параметры.БазоваяЦена              = "" ; 
				ОбластьСтрокаВыделена.Параметры.СтавкаНДС                = "" ; 
//****************************
				
			КонецЕсли;
			
				Если ФлагРасчетВШтуках = Истина Тогда    
					 ИтогоБонус = ИтогоБонус+ строкаТЗ.КоличествоПосле -  строкаТЗ.ИсходноеКоличество;
				ИначеЕсли ФлагРасчетВместах = Истина Тогда 
					 ИтогоБонус = ИтогоБонус+ (строкаТЗ.КоличествоПосле -  строкаТЗ.ИсходноеКоличество)/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;					 
				КонецЕсли;
				ИтогоРазница = ИтогоРазница+(строкаТЗ.ИсходнаяЦена*строкаТЗ.КоличествоПосле-строкаТЗ.ЦенаПосле*строкаТЗ.КоличествоПосле);
				ИтогСуммаБонусВсего = ИтогСуммаБонусВсего +(строкаТЗ.ЦенаПосле * строкаТЗ.КоличествоПосле); 
				ИтогСуммаОтгруженоВсего = ИтогСуммаОтгруженоВсего + (строкаТЗ.ЦенаПосле *строкаТЗ.КоличествоПослеБезБонуса);
			КонецЦикла;
			 КонецЦикла;
	   ОбластьСтрокаРОИ.Параметры.ИтогРОИ=тзПоТекущемуДоку.Количество();
        ТабДок.Вывести(ОбластьСтрокаРОИ);
КонецЦикла;
    ТЗ2 = новый таблицазначений;	
	ТЗ2 = тз.Скопировать();
	ТЗ2.Свернуть("ДокументНачисления","");
	
	ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
	ОбластьПодвал.Параметры.ИттогоЗаявок            = ТЗ2.Количество();
	ОбластьПодвал.Параметры.ИтогоБонус              = ИтогоБонус;
	ОбластьПодвал.Параметры.ИтогоРазница            = ИтогоРазница;
	ОбластьПодвал.Параметры.ИтогСуммаБонусВсего     = ИтогСуммаБонусВсего;
	ОбластьПодвал.Параметры.ИтогСуммаОтгруженоВсего = ИтогСуммаОтгруженоВсего;
	
	ТабДок.Вывести(ОбластьПодвал);
	
    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Защита = Ложь;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.ОтображатьЗаголовки = Истина;
    ТабДок.Показать("Отчет по акции "+этаформа.ЭлементыФормы.ПолеВыбора1.Значение);
Показать
24. ПодводныйТ 45 07.10.19 13:47 Сейчас в теме
(23) вот этот большой цикл надо засунуть в цикл по документам, как я написал в (18)
25. user1202776 07.10.19 13:59 Сейчас в теме
(24)я так и сделал, но все равно сильно дублирует, минимум 5 раз
27. ПодводныйТ 45 07.10.19 14:06 Сейчас в теме
(25) в (23) немного не так. сейчас количество доков то подсчитывается? только строки двоятся? надо отладчиком смотреть, так глазами сложно увидеть в чем проблема
28. user1202776 07.10.19 14:10 Сейчас в теме
(27)да, вроде количество верно подсчитывает. Показывает много дублей, но количество например 4 и 11
30. ПодводныйТ 45 07.10.19 14:12 Сейчас в теме
(28) по дублям - не скажу что не так, надо разбираться, слишком большой код, сложно читать и анализировать, что не так.
37. user1202776 07.10.19 15:58 Сейчас в теме
(27)Вот общая структура кода, удалил много строк кода для наглядности.Отладчиком на что обратить внимание, чтобы понять почему дублируются строки?

тзПоДокам=тз.Скопировать();
тзПоДокам.Свернуть("РегистраторДокументПродажи");
Для каждого СтрокаПоДокам из тзПоДокам Цикл
       тзПоТекущемуДоку=тз.Скопировать(Новый Структура("РегистраторДокументПродажи",СтрокаПоДокам.РегистраторДокументПродажи));
       Для каждого стрПоТекущемуДоку из тзПоТекущемуДоку Цикл
	
	Для каждого строкаТЗ из ТЗ Цикл 
		
		Если (строкаТЗ.ЧисловойНомерСтатусаКредитногоКонтроля = 1)И(ФлагРасчетВШтуках = Истина) Тогда  
		 				КонецЕсли; 
				 
				
				
				Если ОбластьСтрока.Параметры.ЦенаПосле = 0 тогда			
									КонецЕсли;	 
								Если этаформа.ЭлементыФормы.ПолеВыбора1.Значение <> "Ruchnoy_bonus" Тогда 					
				     ОбластьСтрока.Параметры.БонусНаклСтр               = строкаТЗ.ДокументПродажиБонусногоЗаказа ;
			    ИНАЧЕ
				     ОбластьСтрока.Параметры.БонусНаклСтр               = строкаТЗ.ДокументПродажиБонусногоЗаказа ;				
				КонецЕсли;
												
				ТабДок.Вывести(ОбластьСтрока);
				
				
		ИначеЕсли (строкаТЗ.ЧисловойНомерСтатусаКредитногоКонтроля <> 1)И(ФлагРасчетВШтуках = Истина) Тогда  
				
								Если ОбластьСтрока.Параметры.ЦенаПосле <> 0 тогда											
				     				КонецЕсли;
				 
				
				Если ОбластьСтрокаВыделена.Параметры.ЦенаПосле = 0 тогда			
									КонецЕсли;	 
								Если этаформа.ЭлементыФормы.ПолеВыбора1.Значение <> "Ruchnoy_bonus" Тогда 									
				   
			    ИНАЧЕ
				  
				КонецЕсли;				 
								
				ТабДок.Вывести(ОбластьСтрокаВыделена);
				
				
				
		ИначеЕсли (строкаТЗ.ЧисловойНомерСтатусаКредитногоКонтроля = 1)И(ФлагРасчетВместах = Истина) Тогда  
			 				
				ТабДок.Вывести(ОбластьСтрока);
				
				
		  ИначеЕсли (строкаТЗ.ЧисловойНомерСтатусаКредитногоКонтроля <> 1)И(ФлагРасчетВместах = Истина) Тогда 				
				
								
				
				ТабДок.Вывести(ОбластьСтрокаВыделена);
				
				
			КонецЕсли;
			
				Если ФлагРасчетВШтуках = Истина Тогда    
					 ИтогоБонус = ИтогоБонус+ строкаТЗ.КоличествоПосле -  строкаТЗ.ИсходноеКоличество;
				ИначеЕсли ФлагРасчетВместах = Истина Тогда 
					 ИтогоБонус = ИтогоБонус+ (строкаТЗ.КоличествоПосле -  строкаТЗ.ИсходноеКоличество)/строкаТЗ.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент;					 
				КонецЕсли;
				ИтогоРазница = ИтогоРазница+(строкаТЗ.ИсходнаяЦена*строкаТЗ.КоличествоПосле-строкаТЗ.ЦенаПосле*строкаТЗ.КоличествоПосле);
				ИтогСуммаБонусВсего = ИтогСуммаБонусВсего +(строкаТЗ.ЦенаПосле * строкаТЗ.КоличествоПосле); 
				ИтогСуммаОтгруженоВсего = ИтогСуммаОтгруженоВсего + (строкаТЗ.ЦенаПосле *строкаТЗ.КоличествоПослеБезБонуса);
			КонецЦикла;
			
			КонецЦикла;
	   //ОбластьСтрока.Параметры.РОИ=тзПоТекущемуДоку.Количество();
	     СуммаЗаказаДо            = строкаТЗ.ИсходнаяЦена*строкаТЗ.ИсходноеКоличество ;
		ОтгруженоБонусаРуб       = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.БазоваяЦена;
		ПредоставленоСкидки        = ?(строкаТЗ.ИсходнаяЦена>0,(строкаТЗ.ИсходнаяЦена-строкаТЗ.ЦенаПосле) * строкаТЗ.КоличествоПосле,0) ;

   //ОбластьСтрокаРОИ.Параметры.ИтогРОИ=тзПоТекущемуДоку.Количество();
	   Если ОтгруженоБонусаРуб<>0 Тогда  
	   ОбластьСтрока.Параметры.РОИ=Формат(((СуммаЗаказаДо-ОтгруженоБонусаРуб)/СуммаЗаказаДо*100)/10,"ЧЦ=10; ЧДЦ=3");
	   Иначе
	   ОбластьСтрока.Параметры.РОИ=Формат(((СуммаЗаказаДо-ПредоставленоСкидки)/ПредоставленоСкидки*100),"ЧЦ=10; ЧДЦ=3");
	  
	    КонецЕсли;

        ТабДок.Вывести(ОбластьСтрока);
	КонецЦикла;

Показать
40. ПодводныйТ 45 08.10.19 09:07 Сейчас в теме
(37) Для каждого строкаТЗ из ТЗ Цикл

Это лишний цикл, он уже не нужен. Вы обходите цикл по документу и выводите конкретные записи.
41. user1202776 08.10.19 09:20 Сейчас в теме
(40) убрал цикл и строкаТЗ заменил на СтрокаПоДокам, но все равно выводит какие-то ошибки
42. ПодводныйТ 45 08.10.19 09:22 Сейчас в теме
(41)

ТабДок.Вывести(ОбластьСтрока);

вот эта строка в самом конце тоже не нужна, тут надо выводить подитог по количеству документов, т.е. какую то дополнительную секцию.
43. user1202776 08.10.19 09:42 Сейчас в теме
(42)
таким должен быть код?
тзПоДокам=тз.Скопировать();
тзПоДокам.Свернуть("РегистраторДокументПродажи,ЧисловойНомерСтатусаКредитногоКонтроля,РегистраторКонтрагент,Номенклатура,АдресДоставки,Территория,ДокументПродажиБонусногоЗаказа,РегистраторТорговыйПредставитель,ДокументНачисления","ИсходнаяЦена,ИсходноеКоличество,КоличествоПосле,ЦенаПосле,БазоваяЦена,ВесШтуки,ПроцентНДС,ЦенаЗакупки,КоличествоПослеБезБонуса");
Для каждого СтрокаПоДокам из тзПоДокам Цикл
       тзПоТекущемуДоку=тз.Скопировать(Новый Структура("РегистраторДокументПродажи",СтрокаПоДокам.РегистраторДокументПродажи));
тзПоТекущемуДоку.Свернуть("РегистраторДокументПродажи","ИсходнаяЦена,ИсходноеКоличество,КоличествоПосле,ЦенаПосле,БазоваяЦена");

	   Для каждого стрПоТекущемуДоку из тзПоТекущемуДоку Цикл

         .....
          //тут ваш основной цикл
         .....
       КонецЦикла;
       СуммаЗаказаДо            = стрПоТекущемуДоку.ИсходнаяЦена*стрПоТекущемуДоку.ИсходноеКоличество ;
	    ОтгруженоБонусаРуб       = (стрПоТекущемуДоку.КоличествоПосле-стрПоТекущемуДоку.ИсходноеКоличество)*стрПоТекущемуДоку.БазоваяЦена;
	    ПредоставленоСкидки        = ?(стрПоТекущемуДоку.ИсходнаяЦена>0,(стрПоТекущемуДоку.ИсходнаяЦена-стрПоТекущемуДоку.ЦенаПосле) * стрПоТекущемуДоку.КоличествоПосле,0) ;
	   Если ОтгруженоБонусаРуб<>0 Тогда  
	   ОбластьСтрокаРОИ.Параметры.ИтогРОИ=Формат(((СуммаЗаказаДо-ОтгруженоБонусаРуб)/СуммаЗаказаДо*100)/10,"ЧЦ=10; ЧДЦ=3");
	   Иначе
	   ОбластьСтрокаРОИ.Параметры.ИтогРОИ=Формат(((СуммаЗаказаДо-ПредоставленоСкидки)/ПредоставленоСкидки*100),"ЧЦ=10; ЧДЦ=3");
КонецЕсли;
       ТабДок.Вывести(ОбластьСтрокаРОИ);
КонецЦикла;
Показать
44. ПодводныйТ 45 08.10.19 09:49 Сейчас в теме
(43)

СуммаЗаказаДо
ОтгруженоБонусаРуб
ПредоставленоСкидки

Вот эти переменные у вас вычисляются по строке документа, но выводятся почему то в другую область, как я понимаю, в область подитога по документам. Тут нужно пересмотреть алгоритм, что такое ИтогРОИ, как он должен вычисляться? по каждой строке или это какой то итог по всем строкам текущего дока?

Если второе, то правильно наверное писать так:

СуммаЗаказаДо = тзПоТекущемуДоку.Итог("ИсходнаяЦена")*тзПоТекущемуДоку.Итог("ИсходноеКоличество");
45. user1202776 08.10.19 09:56 Сейчас в теме
(44)В ИтогРОИ должна выводиться итог по группе документов
46. ПодводныйТ 45 08.10.19 09:59 Сейчас в теме
(45) значит да, правильный код, только пишите как я написал:

СуммаЗаказаДо = тзПоТекущемуДоку.Итог("ИсходнаяЦена")*тзПоТекущемуДоку.Итог("ИсходноеКоличество");

и по остальным переменным так же.
48. user1202776 08.10.19 10:02 Сейчас в теме
(46)но сейчас выводит вот так:
Прикрепленные файлы:
49. ПодводныйТ 45 08.10.19 10:04 Сейчас в теме
(48) если код как в (43), то не должно так выводить, проверьте внимательнее, возможно где то в основном цикле выводится область РОИ.
50. user1202776 08.10.19 10:09 Сейчас в теме
(49)ИтогРОИ выводится только один раз :ТабДок.Вывести(ОбластьСтрокаРОИ);
Прикрепленные файлы:
51. ПодводныйТ 45 08.10.19 10:13 Сейчас в теме
(50) надо по коду посмотреть, т.к. судя по скрину в (48) - где то дублируется этот вывод
52. user1202776 08.10.19 10:18 Сейчас в теме
(51)а как сложить то,что выводится в колонке РОИ и вывести итог ?
Например по документу 1 РОИ= 450 , а по документу2 РОИ = 550 . Итог по РОИ=1000
Прикрепленные файлы:
47. user1202776 08.10.19 10:01 Сейчас в теме
(44)ИтогРОИ считается по этой формуле:
ROI = ((Сумма заказа, руб. с НДС - Предоставлено Скидки, руб с НДС)/Предоставлено Скидки, руб с НДС*100)/100
И должен считаться по каждой группе документов ,например если "документ1" три , то должен считать по итогу этих документов и выводить одно значение, я не выводить в каждой строке "документ1"
26. user1202776 07.10.19 14:03 Сейчас в теме
(24)
	СуммаЗаказаДо            = строкаТЗ.ИсходнаяЦена*строкаТЗ.ИсходноеКоличество ;
		ОтгруженоБонусаРуб       = (строкаТЗ.КоличествоПосле-строкаТЗ.ИсходноеКоличество)*строкаТЗ.БазоваяЦена;
		ПредоставленоСкидки        = ?(строкаТЗ.ИсходнаяЦена>0,(строкаТЗ.ИсходнаяЦена-строкаТЗ.ЦенаПосле) * строкаТЗ.КоличествоПосле,0) ;
	   //ОбластьСтрокаРОИ.Параметры.ИтогРОИ=тзПоТекущемуДоку.Количество();
	   Если ОтгруженоБонусаРуб<>0 Тогда  
	   ОбластьСтрокаРОИ.Параметры.ИтогРОИ=Формат(((СуммаЗаказаДо-ОтгруженоБонусаРуб)/СуммаЗаказаДо*100)/10,"ЧЦ=10; ЧДЦ=3");
	   Иначе
	   ОбластьСтрокаРОИ.Параметры.ИтогРОИ=Формат(((СуммаЗаказаДо-ПредоставленоСкидки)/ПредоставленоСкидки*100),"ЧЦ=10; ЧДЦ=3");
        ТабДок.Вывести(ОбластьСтрокаРОИ);
		КонецЕсли;
КонецЦикла;
    ТЗ2 = новый таблицазначений;	
	ТЗ2 = тз.Скопировать();
	ТЗ2.Свернуть("ДокументНачисления","");
Показать

сделал так, выводит одно и тоже число в итоге документов. Они должны быть разными
29. ПодводныйТ 45 07.10.19 14:11 Сейчас в теме
(26)

ТЗ2 = новый таблицазначений;
ТЗ2 = тз.Скопировать();
ТЗ2.Свернуть("ДокументНачисления","");

это должно быть в начале цикла, потом цикл по тз2, далее новая тз3, отбор по доку и цикл по этой тз3 с выводом уже самих документов
31. user1202776 07.10.19 14:33 Сейчас в теме
(29)не понял
ТЗ2 = новый таблицазначений;	
	ТЗ2 = тз.Скопировать();
	ТЗ2.Свернуть("ДокументНачисления","");
эти строки уже были в коде.В начале какого цикла?большого?

тз2- это не этот тз?:
ТЗ2 = новый таблицазначений;
ТЗ2 = тз.Скопировать();
ТЗ2.Свернуть("ДокументНачисления","");
32. ПодводныйТ 45 07.10.19 15:00 Сейчас в теме
(31) вот так я предлагал, сначала делаем таблицу по документам, обходим ее по циклу, внутри этого цикла берем таблицу с отбором по текущему доку, обходим ее и выводим "ОбластьСтрока"

тзПоДокам=тз.Скопировать();
тзПоДокам.Свернуть("РегистраторДокументПродажи");
Для каждого СтрокаПоДокам из тзПоДокам Цикл
       тзПоТекущемуДоку=тз.Скопировать(Новый Структура("РегистраторДокументПродажи",СтрокаПоДокам.РегистраторДокументПродажи));
       Для каждого стрПоТекущемуДоку из тзПоТекущемуДоку Цикл
         .....
          //тут ваш основной цикл
          ТабДок.Вывести(ОбластьСтрока);
         .....
       КонецЦикла;
       СекцияВыводаИтогаПоДоку.Параметры.ИтогоПоДоку=тзПоТекущемуДоку.Количество();
        ТабДок.Вывести(СекцияВыводаИтогаПоДоку);
КонецЦикла;
Показать
33. user1202776 07.10.19 15:05 Сейчас в теме
34. ПодводныйТ 45 07.10.19 15:08 Сейчас в теме
(33) тогда все должно работать
35. user1202776 07.10.19 15:10 Сейчас в теме
(32)"ОбластьСтрока" выводим внутри большого цикла?
36. ПодводныйТ 45 07.10.19 15:18 Сейчас в теме
(35) внутри цикла по документу:

ТабДок.Вывести(ОбластьСтрока); - вот где эта строка в моем цикле - там у вас должно быть ваш длинный код, с местами где выводится эта область
38. user1202776 07.10.19 16:22 Сейчас в теме
(32)по первому документа выводит корректно, то есть выводит только в конце группы идентичных документов, отдельной колонкой. А по другим документам почему-то выводит по каждому документа, а не итог по группе документов
Прикрепленные файлы:
21. ПодводныйТ 45 07.10.19 13:22 Сейчас в теме
39. user1202776 07.10.19 17:54 Сейчас в теме
(18)почти получилось как хотел, но задваивает записи.Не понимаю почему задваивает
Прикрепленные файлы:
63. user1202776 09.10.19 09:17 Сейчас в теме
(18)так считает итог по группе идентичных документов, но сильно дублирует строки
15. starjevschik 07.10.19 11:54 Сейчас в теме
(5) ответ неверный, можно потом выведенный макет перебирать и менять по-всякому.
2. starjevschik 07.10.19 11:18 Сейчас в теме
Ну это логичнее в отчете... но можно и в макете, перебираешь строки, сравниваешь текст в ячейке. В чем вопрос, не очень понятно.
3. razars 13 07.10.19 11:20 Сейчас в теме
Если скд, то
 Количество(Различные документ) 
?
6. user1202776 07.10.19 11:23 Сейчас в теме
(3)нет, отчет сделан на макете и этот макет заполняется
(4)
7. ПодводныйТ 45 07.10.19 11:25 Сейчас в теме
(6) Тогда при выводе строк в этот макет - добавить соответствующий код подсчета одинаковых документов.
9. user1202776 07.10.19 11:39 Сейчас в теме
я не понимаю, как в макете сделать так:
ДОКУМЕНТ КОЛИЧЕСТВО
документ 1 1
документ 1 5
документ 1 2
документ 1 4
документ 1 7
Итог по документу 1 19
документ 2 1
документ 2 2
документ 2 3
документ 2 4
документ 2 5
Итог по документу 2 15
документ 3 2
документ 3 2
документ 3 2
документ 3 3
Итог по документу 3 9
11. ПодводныйТ 45 07.10.19 11:43 Сейчас в теме
(9)

ИтогоДок=0;
Для каждого стр из тз Цикл
ТабДок.ВывестиСекцию(Документ);
ИтогоДок=ИтогоДок+1;
КонецЦикла;
ИтогоДокумент.Параметры.ИтогоДок=ИтогоДок;
ТабДок.ВывестиСекцию(ИтогоДокумент);
13. razars 13 07.10.19 11:48 Сейчас в теме
(9)
Как-то так:
ПредыдущийДок = Неопределено;
ИтогПоДокументу = 0;
Пока что-то там Цикл
	Если ПредыдущийДок <> Неопределено И ПредыдущийДок <> ТвояТекущаяСсылка Тогда
		ТвояОбласть.Параметры.ИмяПараметраТвоегоДокумента = "Итог по документу" + ИтогПоДокументу;
		ТабДок.Вывести(ТвояОбласть);
		ИтогПоДокументу = 0;
	КонецЕсли
	...
	ТвояОбласть.Параметры.ИмяПараметраТвоегоДокумента = ТвояТекущаяСсылка;
	ТабДок.Вывести(ТвояОбласть);
	...
	ПредыдущийДок = ТвояТекущаяСсылка;	
	ИтогПоДокументу = ИтогПоДокументу+1;
КонецЦикла
Показать
53. ПодводныйТ 45 08.10.19 10:25 Сейчас в теме
В начале перед циклами:

ИтогоРОИ=0;

Потом перед выводом РОИ:

ИтогоРОИ=ИтогоРОИ+((СуммаЗаказаДо-ОтгруженоБонусаРуб)/СуммаЗаказаДо*100)/10;
54. user1202776 08.10.19 11:06 Сейчас в теме
(53)это Итого по РОИ? Если да, то не так должна считаться Итого по РОИ.Если как на скрине оставить, то ИтогоРОИ должна равняться сумме различных значений в колонке ROI
55. ПодводныйТ 45 08.10.19 11:25 Сейчас в теме
(54) дак это принцип как должен считаться итог, конечно в зависимости от условия вы должны к итогу по РОИ прибавлять нужное значение.
56. user1202776 08.10.19 11:34 Сейчас в теме
(55) я просто не понимаю, как сложить эти строки макета,чтобы получился итог
57. ПодводныйТ 45 08.10.19 11:47 Сейчас в теме
Если ОтгруженоБонусаРуб<>0 Тогда
ОбластьСтрокаРОИ.Параметры.ИтогРОИ=Формат(((СуммаЗаказаДо-ОтгруженоБонусаРуб)/СуммаЗаказаДо*100)/10,"ЧЦ=10; ЧДЦ=3");
ИтогоРОИ=ИтогоРОИ+((СуммаЗаказаДо-ОтгруженоБонусаРуб)/СуммаЗаказаДо*100)/10;

Иначе
ОбластьСтрокаРОИ.Параметры.ИтогРОИ=Формат(((СуммаЗаказаДо-ПредоставленоСкидки)/ПредоставленоСкидки*100),"ЧЦ=10; ЧДЦ=3");
ИтогоРОИ=ИтогоРОИ+((СуммаЗаказаДо-ПредоставленоСкидки)/ПредоставленоСкидки*100);

КонецЕсли;
58. user1202776 08.10.19 11:53 Сейчас в теме
(57)так это же то же самое, что было в (53)
59. ПодводныйТ 45 08.10.19 12:16 Сейчас в теме
ну да, не понимаю тогда в чем проблема получения итога по рои?
60. user1202776 08.10.19 12:25 Сейчас в теме
(59)на примере этого скрина
578,046+577,395=1155,441
Как сложить эти две разные строки макета?(578,046 и 577,395)
Нужен итог по разным строкам колонки ROI, то есть сложить разные строки колонки ROI
Прикрепленные файлы:
61. ПодводныйТ 45 08.10.19 13:16 Сейчас в теме
(60) а они должны в каждой строке выводиться эти одинаковые рои? или уже после вывода всех строк одного одинакового документа?
62. user1202776 08.10.19 13:37 Сейчас в теме
(61)вообще по идеи ,после группы идентичных документах должна идти строка , где заполнена только колонка ROI,как на скрине.Но так не получается сделать.
Вообще по-хорошему нужно сделать так, как на картинке, но не понимаю , как так сделать. Если так сделать, то и итог будет считать правильно.
Прикладываю саму обработку,может поможет понять в чем косячу)
Прикрепленные файлы:
Отчет по акциям.epf
64. ПодводныйТ 45 09.10.19 09:48 Сейчас в теме
(62) посмотрю чуть позднее.
65. user1202776 09.10.19 09:53 Сейчас в теме
66. ПодводныйТ 45 09.10.19 15:43 Сейчас в теме
(65) я поменял там где написано //ИЗМЕНЕНО.

	тзПоДокам=тз.Скопировать();
	//тзПоДокам.Свернуть("РегистраторДокументПродажи,ЧисловойНомерСтатусаКредитногоКонтроля,РегистраторКонтрагент,Номенклатура,АдресДоставки,Территория,ДокументПродажиБонусногоЗаказа,РегистраторТорговыйПредставитель,ДокументНачисления","ИсходнаяЦена,ИсходноеКоличество,КоличествоПосле,ЦенаПосле,БазоваяЦена,ВесШтуки,ПроцентНДС,ЦенаЗакупки,КоличествоПослеБезБонуса");
	тзПоДокам.Свернуть("РегистраторДокументПродажи");//ИЗМЕНЕНО
	Для каждого СтрокаПоДокам из тзПоДокам Цикл
		тзПоТекущемуДоку=тз.Скопировать(Новый Структура("РегистраторДокументПродажи",СтрокаПоДокам.РегистраторДокументПродажи));
		//тзПоТекущемуДоку.Свернуть("РегистраторДокументПродажи","ИсходнаяЦена,ИсходноеКоличество,КоличествоПосле,ЦенаПосле,БазоваяЦена");
		//ИЗМЕНЕНО
		Для каждого стрПоТекущемуДоку из тзПоТекущемуДоку Цикл
			
			//Для каждого строкаТЗ из ТЗ Цикл 
			
			Если (СтрокаПоДокам.ЧисловойНомерСтатусаКредитногоКонтроля = 1)И(ФлагРасчетВШтуках = Истина) Тогда  
				
				//ОбластьСтрока.Параметры.Контрагент               = СтрокаПоДокам.РегистраторКонтрагент ;
				ОбластьСтрока.Параметры.Контрагент               = стрПоТекущемуДоку.РегистраторКонтрагент ; //ИЗМЕНЕНО
Показать
67. user1202776 09.10.19 15:53 Сейчас в теме
(66)вы закомментировали эту строку, но я ведь эту строку дальше в коде использую и поэтому выводит ошибки
//тзПоДокам.Свернуть("РегистраторДокументПродажи,ЧисловойНомерСтатусаКредитногоКонтроля,РегистраторКонтрагент,Номенклатура,АдресДоставки,Территория,ДокументПродажиБонусногоЗаказа,РегистраторТорговыйПредставитель,ДокументНачисления","ИсходнаяЦена,ИсходноеКоличество,КоличествоПосле,ЦенаПосле,БазоваяЦена,ВесШтуки,ПроцентНДС,ЦенаЗакупки,КоличествоПослеБезБонуса,БонуснаяЗаявка");
68. user1202776 09.10.19 17:13 Сейчас в теме
(66)я по-другому сделал и получилось сделать так как на скрине
Прикрепленные файлы:
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день