Помогите разобраться с куском кода.

1. user1979322 15.01.25 09:37 Сейчас в теме
Всем привет, хочу разобраться в функционале по расчету себестоимости. У меня имеется в форме калькуляции несколько вариантов расчета:
1) Вид цен “Учетная”
2) Плановая Себестоимость, сам создал
Сложность в том что, когда задают Вид цен “ Плановая Себестоимость ”, себестоимость не считается. Но когда задаю Вид цен “Учетная”, себестоимость рассчитывается. В коде бросается в глаза эта строчка
Если ТипЗнч(СтрокаТабличнойЧасти.Номенклатура)<>Тип("СправочникСсылка.Номенклатура")


Для Вид цен “Учетная”, условие срабатывает и ТаблицаПроверки не заполняется. При этом себестоимость рассчитывается. А у Вид цен “ Плановая Себестоимость, это условие не срабатывает и заполняется ТаблицаПроверки и себестоимость не рассчитывается.

Такое ощущение, что код берет данные из разных мест, при этом на форме ДанныеЗаказа.Калькуляция найти не могу, что бы понять откуда берутся данные, может не туда смотрю?
СтрокиПроверки = ДанныеЗаказа.Калькуляция.Выгрузить();


Ниже выложил полностью код
&НаСервере
Процедура ПоказатьОшибкиРасчетаСебестоимости(Источник = Неопределено, КлючСвязи = Неопределено)
	
	ТаблицаПроверки = ДанныеЗаказа.Калькуляция.Выгрузить().СкопироватьКолонки("Номенклатура, Характеристика, РучноеИзменение, СебестоимостьЕдиницы");
	Если КлючСвязи = Неопределено Тогда
		СтрокиПроверки = ДанныеЗаказа.Калькуляция.Выгрузить();
	Иначе
		СтруктураПоиска = Новый Структура;
		СтруктураПоиска.Вставить("Источник", Источник);
		СтруктураПоиска.Вставить("КлючСвязи", КлючСвязи);
		СтрокиПроверки = ДанныеЗаказа.Калькуляция.Выгрузить(СтруктураПоиска);
	КонецЕсли;
	Для каждого СтрокаТабличнойЧасти Из СтрокиПроверки Цикл
		Если ТипЗнч(СтрокаТабличнойЧасти.Номенклатура)<>Тип("СправочникСсылка.Номенклатура") 
			ИЛИ СтрокаТабличнойЧасти.СебестоимостьЕдиницы<>0 
			ИЛИ СтрокаТабличнойЧасти.РучноеИзменение Тогда
			Продолжить;
		КонецЕсли; 
		НоваяСтрока = ТаблицаПроверки.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТабличнойЧасти);
	КонецЦикла; 
	
	ТаблицаПроверки.Свернуть("Номенклатура, Характеристика, РучноеИзменение, СебестоимостьЕдиницы");
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ТаблицаПроверки", ТаблицаПроверки);
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
4. nomad_irk 81 15.01.25 10:04 Сейчас в теме
(3) ДанныеЗаказа - это реквизит формы с типом значения ДокументОбъект.ЗаказПокупателя, а не ТЧ.
У ДанныеЗаказа есть ТЧ "Калькуляция", она располагается ниже всех его реквизитов в дереве метаданных ДанныеЗаказа.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 81 15.01.25 09:55 Сейчас в теме
(1) Табличные части в дереве реквизитов Объекта располагаются ниже реквизитов независимо от их наименований(упорядочивания по именам)
3. user1979322 15.01.25 10:01 Сейчас в теме
(2)
Табличные части в дереве реквизитов Объекта располагаются ниже реквизитов

У меня нет табличной части ДанныеЗаказа
Прикрепленные файлы:
4. nomad_irk 81 15.01.25 10:04 Сейчас в теме
(3) ДанныеЗаказа - это реквизит формы с типом значения ДокументОбъект.ЗаказПокупателя, а не ТЧ.
У ДанныеЗаказа есть ТЧ "Калькуляция", она располагается ниже всех его реквизитов в дереве метаданных ДанныеЗаказа.
Оставьте свое сообщение

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