1С ТЗ и ТЧ

1. _7445_ 15.02.19 13:24 Сейчас в теме
Здравствуйте. Я плохо знаю русский. Извините за этого. Я еще новичок в 1С программирование. Есть ТЧ с данными и есть ТЗ пустой. Написал код что заполнился ТЗ. Заполняется но есть ошибка. Ошибка показано картинке. Как исправится с этим ? Что бы не повторился товар.
Спасибо всем за ранее.
Функция ЗаполнитьТЗ(Ссылка)
	// Для номер строки 
		НомерСтрок = Товары.Количество();    
	Для Строка = 1 ПО НомерСтрок Цикл 		
		Ст = ТЗ.Добавить();
		// Для заполнение ТЗ
		Стр = ЭлементыФормы.Товары.ТекущиеДанные;
		Ст.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Стр.Номенклатура);
		Ст.Количество = Стр.Количество;
		Ст.ЕдиницаИзмерения = Стр.ЕдиницаИзмерения;
		Ст.Коэффициент = Стр.Коэффициент;
		Ст.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
		Ст.ХарактеристикаНоменклатуры = Стр.ХарактеристикаНоменклатуры;
		Ст.СерияНоменклатуры = Стр.СерияНоменклатуры;
		Ст.Качество = Стр.Качество;
		НомерСтрок = НомерСтрок - 1;
    КонецЦикла;	
КонецФункции  
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
5. SedovSU@mail.ru 298 15.02.19 13:40 Сейчас в теме
Нужно так написать

Функция ЗаполнитьТЗ(Ссылка)


Для СтрокаТабличнойЧасти Из Товары Цикл
Ст = ТЗ.Добавить();
// Для заполнение ТЗ
Ст.Номенклатура = СтрокаТабличнойЧасти.Номенклатура;
Ст.Количество = СтрокаТабличнойЧасти.Количество;
Ст.ЕдиницаИзмерения = СтрокаТабличнойЧасти.ЕдиницаИзмерения;
Ст.Коэффициент = СтрокаТабличнойЧасти.Коэффициент;
Ст.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
Ст.ХарактеристикаНоменклатуры = СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры;
Ст.СерияНоменклатуры = СтрокаТабличнойЧасти.СерияНоменклатуры;
Ст.Качество = СтрокаТабличнойЧасти.Качество;
КонецЦикла;
КонецФункции
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Туки Туки 52 15.02.19 13:33 Сейчас в теме
А почему просто не напишешь
ТЗ.Загрузить(Товары)

или наоборот
Товары.Загрузить(ТЗ)

потому что если честно твой код немного запутывает, сложно понять где ТЗ, а где ТЧ
3. _7445_ 15.02.19 13:35 Сейчас в теме
(2)Полный код
Функция СоздатьТЗ()
	ТЗ = Новый ТаблицаЗначений;
	ТЗ.Колонки.Добавить("Номенклатура",,,);
	ТЗ.Колонки.Добавить("Количество",,,);
	ТЗ.Колонки.Добавить("ЕдиницаИзмерения",,,);
	ТЗ.Колонки.Добавить("Коэффициент",,,);
	ТЗ.Колонки.Добавить("СтавкаНДС",,,);
	ТЗ.Колонки.Добавить("ХарактеристикаНоменклатуры",,,);
	ТЗ.Колонки.Добавить("СерияНоменклатуры",,,);
	ТЗ.Колонки.Добавить("Качество",,,);
	ТЗ.Колонки.Добавить("Цена",,,);
	ТЗ.Колонки.Добавить("Сумма",,,);
	ТЗ.Колонки.Добавить("СуммаБезСкидок",,,);
КонецФункции

Функция ЗаполнитьТЗ(Ссылка)
	// Для номер строки 
		НомерСтрок = Товары.Количество();    
	Для Строка = 1 ПО НомерСтрок Цикл 		
		Ст = ТЗ.Добавить();
		// Для заполнение ТЗ
		Стр = ЭлементыФормы.Товары.ТекущиеДанные;
		Ст.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Стр.Номенклатура);
		Ст.Количество = Стр.Количество;
		Ст.ЕдиницаИзмерения = Стр.ЕдиницаИзмерения;
		Ст.Коэффициент = Стр.Коэффициент;
		Ст.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
		Ст.ХарактеристикаНоменклатуры = Стр.ХарактеристикаНоменклатуры;
		Ст.СерияНоменклатуры = Стр.СерияНоменклатуры;
		Ст.Качество = Стр.Качество;
		НомерСтрок = НомерСтрок - 1;
    КонецЦикла;	
КонецФункции	

Процедура ДействияФормыРеализацияТоваровУслуг(Кнопка)
   СоздатьТЗ();
   
   Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
   
   Сл = ЭтотОбъект.Ссылка;
   Док.Контрагент = Сл.Контрагент;
   Док.Дата = ТекущаяДата();
   Док.Организация = Сл.Организация;
   Док.Склад = Сл.Склад;
   ЗаполнитьТЗ(Док.Ссылка);  
   
  
   
   Док.Товары.Загрузить(ТЗ);
   
       
   ОсновнаяФормаДок = Док.ПолучитьФорму();
  
   ОсновнаяФормаДок.Открыть();
 
КонецПроцедуры
Показать
4. Туки Туки 52 15.02.19 13:38 Сейчас в теме
а где ошибка? на картинке просто документ с таблицей..
6. _7445_ 15.02.19 13:41 Сейчас в теме
(4)
В ТЗ проста повторяется товар. Он выбирает первый товар и повторяет его. Сам список это. А результат наверху (картинке)
Прикрепленные файлы:
5. SedovSU@mail.ru 298 15.02.19 13:40 Сейчас в теме
Нужно так написать

Функция ЗаполнитьТЗ(Ссылка)


Для СтрокаТабличнойЧасти Из Товары Цикл
Ст = ТЗ.Добавить();
// Для заполнение ТЗ
Ст.Номенклатура = СтрокаТабличнойЧасти.Номенклатура;
Ст.Количество = СтрокаТабличнойЧасти.Количество;
Ст.ЕдиницаИзмерения = СтрокаТабличнойЧасти.ЕдиницаИзмерения;
Ст.Коэффициент = СтрокаТабличнойЧасти.Коэффициент;
Ст.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
Ст.ХарактеристикаНоменклатуры = СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры;
Ст.СерияНоменклатуры = СтрокаТабличнойЧасти.СерияНоменклатуры;
Ст.Качество = СтрокаТабличнойЧасти.Качество;
КонецЦикла;
КонецФункции
7. _7445_ 15.02.19 13:46 Сейчас в теме
(5)
Как всегда. Огромное спасибо вам. Я уже 4 часа не могла это делать.
И книгу тоже спасибо
Оставьте свое сообщение

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