Поле не найдено "ТаблицаОС.СтатьяРасходов" ТОГДА ТаблицаОС.<<?>>СтатьяРасходов

1. demONx7 27.06.24 03:03 Сейчас в теме
Всем привет. Ломаю голову над запросом после обновления.

В расширении в запрос добавил код:

#Вставка
	|	,
	|	ВЫБОР
	|		КОГДА ТИПЗНАЧЕНИЯ(ТаблицаОС.Ссылка) = ТИП(Документ.ПеремещениеОС2_4)
	|			ТОГДА ТаблицаОС.Рекв_СтатьяРасходов
	|		ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ
	|	КАК Рекв_СтатьяРасходов
        |ИЗ
	|	ДанныеДокументаТаблицаОС КАК ТаблицаОС
#КонецВставки
Показать


Реквизит "Рекв_СтатьяРасходов" добавлен в документ "ПеремещениеОС2_4".

Ошибка возникает при проведении документа Списания ОС!
В поле "ТаблицаОС.Ссылка" содержится ссылка на списание, а не на перемещение. см приложенные файлы.

В результате получаю ошибку "Поле не найдено", как буд-то он все-равно заходит в это условие и пытается вытащить заветный реквизит. С одной стороны ошибка логична, ведь его нет в документе списания. Но почему он попадает именно в эту ветку условия, а не в "Иначе" ?
Прикрепленные файлы:
Найденные решения
5. demONx7 27.06.24 08:13 Сейчас в теме
(4) Таблица формируется в 36 модулях менеджера. Далее она передается в общий модуль, где и был доработан запрос.

В общем решил следующим способом:
Доработки в общем модуле заменил на
#Вставка
| ,""ТекстЗамены""
#КонецВставки

и далее уже в модуле нужного документа подменяю этот текст на получение нужных мне реквизитов. В остальных документах этих реквизитов нет, но этот код не мешает и следовательно не исключается из текста запроса.

Если есть предложение получше, буду рад услышать.
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Vadim-SH 27.06.24 07:02 Сейчас в теме
(1)Тут нет разницы какой тип имеет поле Ссылка, главное таблица ТаблицаОС должна содержать поле ТаблицаОС.СтатьяРасходов. Это ошибка синтаксиса, а не исполнения.
3. demONx7 27.06.24 07:14 Сейчас в теме
(2) Есть варианты как можно обойти эту ошибку синтаксиса?
Помимо того, чтобы обойти все места формирования данной таблицы и прописать в них нужные поля.
4. Vadim-SH 27.06.24 07:48 Сейчас в теме
(3)
Есть варианты как можно обойти эту ошибку синтаксиса?

Ошибку синтаксиса обойти нельзя. Ее надо исправлять.

все места формирования данной таблицы

Какие места?
запрос один? таблица одна? Ищи источник. Смотри каким запросом формируется временная таблица ДанныеДокументаТаблицаОС.
5. demONx7 27.06.24 08:13 Сейчас в теме
(4) Таблица формируется в 36 модулях менеджера. Далее она передается в общий модуль, где и был доработан запрос.

В общем решил следующим способом:
Доработки в общем модуле заменил на
#Вставка
| ,""ТекстЗамены""
#КонецВставки

и далее уже в модуле нужного документа подменяю этот текст на получение нужных мне реквизитов. В остальных документах этих реквизитов нет, но этот код не мешает и следовательно не исключается из текста запроса.

Если есть предложение получше, буду рад услышать.
Прикрепленные файлы:
Оставьте свое сообщение

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