Таблица значений, замена значения в поле ТЧ

1. Ivan_Abc 12.04.21 06:59 Сейчас в теме
Всем добра, уважаемые форумчане
Вопрос в следующем, в работе с ТЗ опыта не было, а запросом из ТЧ вытаскивает именно ТЗ, соответственно вопрос, как заменить значение в ТЧ? Код прилагаю, валит ошибку в строке СтрТЧ = ДокОбъект.ОС.Найти(Выборка.МОЛ, "МОЛ"); (следующая строка по логике тоже косячная)
Может где-нибудь ещё напортачил, ещё не знаю, заранее спасибо за помощь!
P.S. Прошу тапками сильно не кидаться, я ещё учусь)
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	ВводНачальныхОстатковОС.Ссылка,
	               |	ВводНачальныхОстатковОС.ПодразделениеОрганизации,
	               |	ВводНачальныхОстатковОС.ОС.(
	               |		МОЛ,
	               |		НомерСтроки
	               |	)
	               |ИЗ
	               |	Документ.ВводНачальныхОстатковОС КАК ВводНачальныхОстатковОС
	               |ГДЕ
	               |	ВводНачальныхОстатковОС.ПометкаУдаления = ЛОЖЬ
	               |	И ВводНачальныхОстатковОС.Дата = ДАТАВРЕМЯ(2020, 12, 31, 0, 0, 0)";
	РезультатЗапроса = Запрос.Выполнить();
	Выборка = РезультатЗапроса.Выбрать();
	
	Пока Выборка.Следующий() Цикл
		ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
		СтрТЧ = ДокОбъект.ОС.Найти(Выборка.МОЛ, "МОЛ");
		СтрТЧНомерСтроки = ДокОбъект.ОС.Найти(Выборка.НомерСтроки, "Номер строки");
		Если СтрТЧ = Null Тогда
			СтрТЧ = ДокОбъект.ПодразделениеОрганизации;
			Сообщить("В строке №" + СтрТЧНомерСтроки + " изменен МОЛ на " + СтрТЧ);
		КонецЕсли;
		Попытка
			ДокОбъект.Записать();
		Исключение 
			Инфо = ИнформацияОбОшибке();
   				Сообщить("Описание='" + Инфо.Описание + "'");
   				Сообщить("ИмяМодуля='" + Инфо.ИмяМодуля + "'");
   				Сообщить("НомерСтроки=" + Инфо.НомерСтроки);
   				Сообщить("ИсходнаяСтрока='" + Инфо.ИсходнаяСтрока + "'");
				Сообщить("По причине: '" + Инфо.Причина + "'");
		КонецПопытки;
	КонецЦикла;
		
	Сообщить("Обработка завершена!");
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. nomad_irk 72 12.04.21 07:12 Сейчас в теме
(1)для начала разберитесь, что у вас в какой момент используется. Ошибка возникает из-за того, что в выборке нет поля МОЛ, он есть внутри ТЧ, которая в поле ОС, в виде РезультатЗапроса, который необходимо превратить в Выборка/ТЧ или переделать запрос на запрос к ТЧ, а не к документу.
5. Ivan_Abc 12.04.21 07:54 Сейчас в теме
(3) Да, я понимаю что в Выборке отсутствует МОЛ и необходимо обращаться к ТЧ, но пока что смутно понимаю как это можно реализовать...
можно немного подробнее или может пример? Заранее спасибо!
6. nomad_irk 72 12.04.21 08:01 Сейчас в теме
(5)Запустите исполнение кода в режиме отладки, проверьте значения полей выборки внутри цикла: поле ОС должно иметь значение РезультатЗапроса.

С результатом запроса можно сделать Выбрать()/Выгрузить().

Чтобы не удалять гланды через задний проход, можно переделать запрос на

Выбрать Поле1, Поле2,.....ПолеN ИЗ Документ.ВводНачальныхОстатковОС.ОС КАК ОС ГДЕ ОС.Ссылка.Проведен И ОС.И ОС.Ссылка.Дата = ДАТАВРЕМЯ(2020, 12, 31, 0, 0, 0)
7. PhoenixAOD 62 12.04.21 08:14 Сейчас в теме
(1)А что мешает, в запросе, заменить пустые МОЛ на требуемый и выгрузить уже готовый результат в таблицу документа?
2. UtSpar 134 12.04.21 07:02 Сейчас в теме
ДокОбъект.ОС - это таблица основных средств? Она так и называется?
4. Ivan_Abc 12.04.21 07:42 Сейчас в теме
(2) да, табличная часть док-та
Оставьте свое сообщение

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