Присоединение области

1. user1008893 13.07.20 15:49 Сейчас в теме
Вывожу области со значениями, вот есть значения которые получаю в Массив,и вывожу максимум 3 столбца.
Не могу понять,почему второй поставщик выводится 2 раза,и из-за этого не выводится третий поставщик.
Получается что второй столбец задваивается
Область = ВхМакет.ПолучитьОбласть(_ИмяСекции + "|Поставщик");
		
		Если _ИмяГр = "ОснПоставщик"  тогда
			//СтруктураОтбора = Новый Структура("Номенклатура,ВариантИсполнения", ВхЗапрВыб.Номенклатура,ВхЗапрВыб.ВариантИсполнения);

			МассивПост=ТаблНомПост;
			
			Сч=1;
			Для Каждого стр из МассивПост цикл
				
				Область = ВхМакет.ПолучитьОбласть(_ИмяСекции + "|Поставщик");
				
				 
					//_ИмяГр = "ОснПоставщик" и 
				Если ТипЗнч(стр.Поставщик) = Тип("СправочникСсылка.Контрагенты")  Тогда
					Область.Параметры.ЗначениеГрСтрПостав 	= стр.Поставщик; 
				     ВхТаблДок.Присоединить(Область);
					 Сч=Сч+1;
				КонецЕсли;
				Если Сч = 3 Тогда
					Прервать;
				КонецЕсли;

			КонецЦикла;
			   
		КонецЕсли;
Показать
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user5300 1010 13.07.20 15:54 Сейчас в теме
(1)
Сч=1;
попробуй начать счет с Сч = 0
user1008893; +1 Ответить
3. user1008893 13.07.20 16:00 Сейчас в теме
(2)пробовала,если сделать,так,то выводит 3 поставщика,но последний 2 раза
4. user5300 1010 13.07.20 16:01 Сейчас в теме
(3) Может в массиве дублируется ? отладкой не смотрели ?
user1008893; +1 Ответить
5. user1008893 13.07.20 16:02 Сейчас в теме
(4)Вот же результат массива
Прикрепленные файлы:
6. -AI- 13.07.20 19:09 Сейчас в теме
(1) если учесть что
Область = ВхМакет.ПолучитьОбласть(_ИмяСекции + "|Поставщик");
повторяется в коде два раза, предположу, что и
ВхТаблДок.Присоединить(Область);
тоже где-то ещё потерялась, после цикла...
user1008893; Sashares; +2 Ответить
7. Sashares 34 13.07.20 19:14 Сейчас в теме
(6)Поддержку, переменные надо по разному называть.
user1008893; +1 Ответить
8. user1008893 13.07.20 19:17 Сейчас в теме
9. user1008893 14.07.20 08:31 Сейчас в теме
(6)Да,спасибо,вышел последний поставщик,вот так теперь стало,колонки поехали,что не так?
Если _ИмяГр = "ОснПоставщик"  тогда
			//СтруктураОтбора = Новый Структура("Номенклатура,ВариантИсполнения", ВхЗапрВыб.Номенклатура,ВхЗапрВыб.ВариантИсполнения);

			МассивПост=ТаблНомПост;
			
			Сч=0;
			Для Каждого стр из МассивПост цикл
				
				Область = ВхМакет.ПолучитьОбласть(_ИмяСекции + "|Поставщик");
				
				 
					//_ИмяГр = "ОснПоставщик" и 
				Если ТипЗнч(стр.Поставщик) = Тип("СправочникСсылка.Контрагенты")  Тогда
					Область.Параметры.ЗначениеГрСтрПостав 	= стр.Поставщик; 
				     ВхТаблДок.Присоединить(Область);
					 Сч=Сч+1;
				 КонецЕсли;
				 
				Если Сч = 3 Тогда
					Прервать;
				КонецЕсли;

			КонецЦикла;
			   
		КонецЕсли;
		                            
		Если _ИмяГр = "Номенклатура" тогда
			Отбор=Новый Структура("Номенклатура",ВхЗапрВыб.Номенклатура);
			МассивПост=ТаблНомПост.НайтиСтроки(Отбор);
			
			Если МассивПост.Количество() = 0 Тогда
             Область = ВхМакет.ПолучитьОбласть(_ИмяСекции + "|Поставщик");
				ВхТаблДок.Присоединить(Область);
			КонецЕсли;

			Сч1=0;
			Для Каждого стр из МассивПост цикл
				
				Область = ВхМакет.ПолучитьОбласть(_ИмяСекции + "|Поставщик");
				
				Если _ИмяГр = "Номенклатура" // И НЕ ВхЗапрВыб.РазрешитьНесколькоВариантовИсполнения 
					и 
					ТипЗнч(стр.Поставщик) = Тип("СправочникСсылка.Контрагенты")
					Тогда
					Область.Параметры.ЗначениеГрСтрПостав 	= стр.НоменклатураПоставщика; 
				      ВхТаблДок.Присоединить(Область); 
					 Сч1=Сч1+1;
				 КонецЕсли;
				
				 Если Сч1 = 3  Тогда
					Прервать;
				КонецЕсли;

			КонецЦикла;
			   // ВхТаблДок.Присоединить(Область);
		КонецЕсли;
		//
		Если   _ИмяГр = "ВариантИсполнения" тогда
			СтруктураОтбора = Новый Структура("Номенклатура,ВариантИсполнения", ВхЗапрВыб.Номенклатура, ВхЗапрВыб.ВариантИсполнения);
			МассивПост=ТаблНомПост.НайтиСтроки(СтруктураОтбора);
			Если МассивПост.Количество() = 0 Тогда
             Область = ВхМакет.ПолучитьОбласть(_ИмяСекции + "|Поставщик");
				ВхТаблДок.Присоединить(Область);
			КонецЕсли;
			Сч2=0;
			Для Каждого стр из МассивПост цикл
				
				Область = ВхМакет.ПолучитьОбласть(_ИмяСекции + "|Поставщик");
				//Если _ИмяГр = "Номенклатура" и 
				//	ТипЗнч(стр.Поставщик) = Тип("СправочникСсылка.Контрагенты")					Тогда
				//	Область.Параметры.ЗначениеГрСтрПостав 	= стр.НоменклатураПоставщика; 
				//    ВхТаблДок.Присоединить(Область); 
				//	 Сч2=Сч2+1;
				//Иначе
				Если  _ИмяГр = "ВариантИсполнения" и ТипЗнч(стр.Поставщик) = Тип("СправочникСсылка.Контрагенты")
				 
				 тогда
					Область.Параметры.ЗначениеГрСтрПостав 	= стр.ВариантИсполненияПоставщика;
					  ВхТаблДок.Присоединить(Область); 
					 Сч2=Сч2+1;
					    
				 КонецЕсли;
				   //КонецЕсли;
				 Если Сч2 = 3 Тогда
					Прервать;
				КонецЕсли;
				
				//ВхТаблДок.Присоединить(Область);
			КонецЦикла;	
			//ВхТаблДок.Присоединить(Область);
		КонецЕсли;
Показать
Прикрепленные файлы:
10. user1008893 14.07.20 08:37 Сейчас в теме
(6)Как будто не двигаются колонки там где пусто
11. bayce 45 31.07.20 21:32 Сейчас в теме
ТаблНомПост вот эту таблицу надо посмотреть и запрос. На скриншоте вместо поставщиков цифры.
Оставьте свое сообщение

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