Как добавить несколько строк в табличную часть?

1. user876792 17.05.18 13:40 Сейчас в теме
Процедура ТабличноеПоле1Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
	Перем Колво;
		ВвестиЗначение(Колво, "Введите количество", Новый ОписаниеТипов("Число"));
		Если Колво = "" Тогда
			Колво=1;
		КонецЕсли;
		ВыбраннаяСтрока.КолОстаток=1;
		Для н=0 По Колво Цикл			
			ВыбранныеТовары.Добавить(ВыбраннаяСтрока.Товар);		
		КонецЦикла; 
КонецПроцедуры
Показать


В табличную часть добавляется только одна последняя строка
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
10. Ditron 184 17.05.18 15:24 Сейчас в теме +0.1 $m
(8) скорее всего эта процедура в модуле формы подбора, если так, то в список (массив) "ВыбранныеТовары" передается ссылка на ТМЦ, а создание строк происходит в процедура "ОбработкаВыбора" в модуле документа! Из формы подбора вы не добавите строки в ТЧ!
user876792; +1 Ответить
14. Ditron 184 17.05.18 18:04 Сейчас в теме
(13) Тогда нужно искать процедуру "ОбработкаВыбора" в модуле документа (событие или формы или ТЧ) и там раскидывать, потому что переменная "ВыбранныеТовары" скорее всего массив номенклатуры и в нем нет ни количества ничего, поэтому при попадании в обработчик вышеуказанный, он сворачивает массив выбранных позиций и ставит "Количество"...
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. user700035_6550355 29 17.05.18 13:44 Сейчас в теме
(1) в отладке надо смотреть, может первую строку перезатирает несколько раз и получается одна строка
4. user876792 17.05.18 13:59 Сейчас в теме
(2) ВыбранныеТовары в отладчике - массив из четырех элементов
5. LifeRock69 17.05.18 14:01 Сейчас в теме
(4)а где тогда код добавления в ТЧ?
7. user876792 17.05.18 14:06 Сейчас в теме
(5) изначально было так
ВыбраннаяСтрока.КолОстаток=Колво;
ВыбранныеТовары.Добавить(ВыбраннаяСтрока.Товар);
в ТЧ добавлялась одна строка с выбранным количеством, например, Товар - Наименование, Количество - 5. Мне нужно чтобы добавлялось пять одинаковых строк с количеством 1. Где тут код добавления в ТЧ непонятно, но как-то же эта строка туда добавляется. Думал что ВыбранныеТовары.Добавить(ВыбраннаяСтрока.Товар); и есть это добавление.
3. LifeRock69 17.05.18 13:56 Сейчас в теме
А что такое здесь ВыбранныеТовары?
Если это ТЧ, то
НовСтрока = ВыбранныеТовары.Добавить();
НовСтрока.Товар = ВыбраннаяСтрока.Товар;
6. Ditron 184 17.05.18 14:04 Сейчас в теме
А лучше так ))
Процедура ТабличноеПоле1Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    Если НЕ ВыбраннаяСтрока = Неопределено Тогда
       Колво = 1;
       ВвестиЧисло(Колво, "Введите количество", 10, 3);
       Если Колво = 0 Тогда
            Колво=1;
       КонецЕсли;
       // Или так...
       // Колво = Макс(Колво, 1);
       ВыбраннаяСтрока.КолОстаток = 1;
       Для н=0 По Колво Цикл // Только здесь будет создано две строки если колво = 1 )), надо Колво - 1
            ЗаполнитьЗначенияСвойств(ВыбранныеТовары.Добавить(), ВыбраннаяСтрока);    
       КонецЦикла;
   КонецЕсли;
КонецПроцедуры
Показать
8. user876792 17.05.18 14:10 Сейчас в теме
(6) Обращение к процедуре объекта как к функции (Добавить)
ЗаполнитьЗначенияСвойств(ВыбранныеТовары.Добавить(), ВыбраннаяСтрока);
9. Ditron 184 17.05.18 15:21 Сейчас в теме
(8) "ВыбранныеТовары" - это что? В отладке надо смотреть! Это что глобальная переменная или это часть кода процедуры события "Выбор", давайте полный текст кода процедуры сюда, или может это СписокЗначений? Откуда процедура, из формы подбора или из модуля формы документа?
10. Ditron 184 17.05.18 15:24 Сейчас в теме +0.1 $m
(8) скорее всего эта процедура в модуле формы подбора, если так, то в список (массив) "ВыбранныеТовары" передается ссылка на ТМЦ, а создание строк происходит в процедура "ОбработкаВыбора" в модуле документа! Из формы подбора вы не добавите строки в ТЧ!
user876792; +1 Ответить
11. user876792 17.05.18 15:25 Сейчас в теме
12. Ditron 184 17.05.18 17:38 Сейчас в теме
(11) А вопрос, зачем одну и туже номенклатуру разными строками делать?
13. user876792 17.05.18 17:59 Сейчас в теме
(12) чтобы по сотрудникам ее раскидать по одной штуке.
14. Ditron 184 17.05.18 18:04 Сейчас в теме
(13) Тогда нужно искать процедуру "ОбработкаВыбора" в модуле документа (событие или формы или ТЧ) и там раскидывать, потому что переменная "ВыбранныеТовары" скорее всего массив номенклатуры и в нем нет ни количества ничего, поэтому при попадании в обработчик вышеуказанный, он сворачивает массив выбранных позиций и ставит "Количество"...
Оставьте свое сообщение

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