|
Проверка наличия поля у ТЧ в запросе | ☑ | ||
---|---|---|---|---|
0
Ychenik1c
11.08.22
✎
05:44
|
Добрый день.
Запрос общем модуле. Обращение к ТЧ документам. В зависимости от документа меняется источник для запроса В одном из документов есть новый реквизит Я добавляю в запрос условие но даже если оно не выполняется проверка идёт что отсутствуют такие поля и ошибка. Как можно обойти данную ситуацию? |Выбор |Когда ТипЗначения(ДанныеДокумента.Ссылка) = Тип(Документ.ПрочееОприходованиеТоваров) Тогда |Выбор | Когда | &ИспользуетсяОрдернаяСхемаПриПоступлении | И Не ДанныеДокумента.НоменклатураВозврат = Значение(Справочник.Номенклатура.ПустаяСсылка) | Тогда ДанныеДокумента.НоменклатураВозврат | Иначе ДанныеДокумента.Номенклатура | Конец | Иначе ДанныеДокумента.Номенклатура | Конец КАК Номенклатура, Из документ.ПеремещениеТоваров.Товары как ДанныеДокумента |
|||
1
Ychenik1c
11.08.22
✎
05:46
|
Реквизит в ТЧ НоменклатураВозврат есть только в Документ.ПрочееОприходованиеТоваров
|
|||
2
Ychenik1c
11.08.22
✎
05:52
|
Есть NULL не помог
|
|||
3
Phoenixxx
11.08.22
✎
05:53
|
Двумя виртуальными таблицами и затем объединить.
|
|||
4
Phoenixxx
11.08.22
✎
06:03
|
Это весь запрос?
Там данные только из документов одного типа Из документ.ПеремещениеТоваров.Товары как ДанныеДокумента |
|||
5
Ychenik1c
11.08.22
✎
06:07
|
(3)
Не всё так просто. Это общий модуль. Запросы собираются в пакет. На выходе таблицы для записи движений. Типов документов много. Запрос состоит где то из 70 пакетов |
|||
6
Phoenixxx
11.08.22
✎
06:09
|
Либо можно в модуле менять текст запроса если при выполнении данные запрашиваются только из документов одного типа
|
|||
7
Йохохо
11.08.22
✎
06:13
|
(6) или посмотреть в метаданные, если для любого типа
|
|||
8
Phoenixxx
11.08.22
✎
06:27
|
(7) Я это имел в виду. Посмотрел какой тип документа в данный момент обрабатывается и согласно этому типу изменил текст запроса.
|
|||
9
alarm2020
11.08.22
✎
08:17
|
(0) Звездочку используй
|
|||
10
VoditelKobyly
11.08.22
✎
09:21
|
(0) Какая-то странная выборка:
|Выбор |Когда ТипЗначения(ДанныеДокумента.Ссылка) = Тип(Документ.ПрочееОприходованиеТоваров) Тогда |... Из документ.ПеремещениеТоваров.Товары как ДанныеДокумента Вроде как явно задан тип документа ПеремещениеТоваров, но сравнивается с типом ПрочееОприходованиеТоваров Так и надо? |
|||
11
mistеr
11.08.22
✎
09:45
|
(0) В самом запросе проверить наличие поля нельзя. На момент выполнения запроса все поля должны быть определены и существовать.
Решение состоит в динамическом формировании текста запроса. Для нужного документа ставь свое выражение, а для всех остальных типов документов просто Номенклатура. |
|||
12
СеменовСемен
11.08.22
✎
09:48
|
Если ты подменяешь таблицу, то уже и поле подменяй
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |