динамический список, исчезает поле "ссылка"
Платформа 8.3.10.2505, Ут 11.3. Документ "заказ на сборку", форма списка. Изменяю её программно в процедуре ПриСозданииНаСервере, а именно: переопределяю текст запроса:
Далее добавляю через левое соединение кое-какие новые поля.
Поле ДокументЗаказНаСборку.Ссылка КАК Ссылка конечно же не трогаю. Саму форму в конструкторе тоже не трогаю, галка "использовать всегда" у поля "ссылка" включена. Когда открывается форма, то в динамическом списке поле "Ссылка" ОТСУТСТВУЕТ со всеми вытекающими последствиями - ошибка "Поле объекта не обнаружено (Ссылка)" при попытке открыть связанные документы.
Если текст запроса списка не трогать, то "ссылка" возвращается.
Что делать, как быть? Только вернулся с отпуска, туплю...
ЭтаФорма.Список.ТекстЗапроса = "ВЫБРАТЬ
| ДокументЗаказНаСборку.Ссылка КАК Ссылка,
...
Далее добавляю через левое соединение кое-какие новые поля.
Поле ДокументЗаказНаСборку.Ссылка КАК Ссылка конечно же не трогаю. Саму форму в конструкторе тоже не трогаю, галка "использовать всегда" у поля "ссылка" включена. Когда открывается форма, то в динамическом списке поле "Ссылка" ОТСУТСТВУЕТ со всеми вытекающими последствиями - ошибка "Поле объекта не обнаружено (Ссылка)" при попытке открыть связанные документы.
Если текст запроса списка не трогать, то "ссылка" возвращается.
Что делать, как быть? Только вернулся с отпуска, туплю...
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)такой запрос формирует типовая конфигурация:
меняю на следующее:
короче, добавил поле ДокументЗаказНаСборку.Количество - ЕСТЬNULL(Сборки.ОсталосьСобрать, 0) КАК Собрано
ВЫБРАТЬ
ДокументЗаказНаСборку.Ссылка,
ДокументЗаказНаСборку.ПометкаУдаления,
ДокументЗаказНаСборку.Номер,
ДокументЗаказНаСборку.Дата,
ДокументЗаказНаСборку.Проведен,
ДокументЗаказНаСборку.Организация,
ДокументЗаказНаСборку.Склад,
ДокументЗаказНаСборку.ДокументОснование,
ДокументЗаказНаСборку.Ответственный,
ДокументЗаказНаСборку.Статус,
ДокументЗаказНаСборку.Номенклатура,
ДокументЗаказНаСборку.Характеристика,
ДокументЗаказНаСборку.Упаковка,
ДокументЗаказНаСборку.КоличествоУпаковок,
ДокументЗаказНаСборку.Количество,
ДокументЗаказНаСборку.ХозяйственнаяОперация,
ДокументЗаказНаСборку.Комментарий,
ДокументЗаказНаСборку.НачалоСборкиРазборки,
ДокументЗаказНаСборку.ОкончаниеСборкиРазборки,
ДокументЗаказНаСборку.ЖелаемаяДатаПоступления,
ДокументЗаказНаСборку.ДлительностьСборкиРазборки,
ДокументЗаказНаСборку.МаксимальныйКодСтроки,
ДокументЗаказНаСборку.ВариантКомплектации,
ДокументЗаказНаСборку.Сделка,
ДокументЗаказНаСборку.Подразделение,
ДокументЗаказНаСборку.СтатусУказанияСерий,
ДокументЗаказНаСборку.Назначение,
ДокументЗаказНаСборку.НазначениеТовары,
ДокументЗаказНаСборку.Серия,
ДокументЗаказНаСборку.ВариантОбеспечения,
ДокументЗаказНаСборку.КоличествоУпаковокОтменено,
ДокументЗаказНаСборку.КоличествоОтменено,
ДокументЗаказНаСборку.Товары,
ДокументЗаказНаСборку.Серии,
ДокументЗаказНаСборку.МоментВремени,
ВЫБОР
КОГДА НЕ ДокументЗаказНаСборку.Проведен
ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияВнутреннихЗаказов.ПустаяСсылка)
ИНАЧЕ ЕСТЬNULL(СостоянияВнутреннихЗаказов.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияВнутреннихЗаказов.Закрыт))
КОНЕЦ КАК Состояние,
ЕСТЬNULL(СостоянияВнутреннихЗаказов.ЕстьРасхожденияОрдерНакладная, ЛОЖЬ) КАК ЕстьРасхожденияОрдерНакладная
ИЗ
Документ.ЗаказНаСборку КАК ДокументЗаказНаСборку
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияВнутреннихЗаказов КАК СостоянияВнутреннихЗаказов
ПО (СостоянияВнутреннихЗаказов.Заказ = ДокументЗаказНаСборку.Ссылка)
Показатьменяю на следующее:
ВЫБРАТЬ
ДокументЗаказНаСборку.Ссылка КАК Ссылка,
ДокументЗаказНаСборку.ПометкаУдаления КАК ПометкаУдаления,
ДокументЗаказНаСборку.Номер КАК Номер,
ДокументЗаказНаСборку.Дата КАК Дата,
ДокументЗаказНаСборку.Проведен КАК Проведен,
ДокументЗаказНаСборку.Организация КАК Организация,
ДокументЗаказНаСборку.Склад КАК Склад,
ДокументЗаказНаСборку.ДокументОснование КАК ДокументОснование,
ДокументЗаказНаСборку.Ответственный КАК Ответственный,
ДокументЗаказНаСборку.Статус КАК Статус,
ДокументЗаказНаСборку.Номенклатура КАК Номенклатура,
ДокументЗаказНаСборку.Характеристика КАК Характеристика,
ДокументЗаказНаСборку.Упаковка КАК Упаковка,
ДокументЗаказНаСборку.КоличествоУпаковок КАК КоличествоУпаковок,
ДокументЗаказНаСборку.Количество КАК Количество,
ДокументЗаказНаСборку.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
ДокументЗаказНаСборку.Комментарий КАК Комментарий,
ДокументЗаказНаСборку.НачалоСборкиРазборки КАК НачалоСборкиРазборки,
ДокументЗаказНаСборку.ОкончаниеСборкиРазборки КАК ОкончаниеСборкиРазборки,
ДокументЗаказНаСборку.ЖелаемаяДатаПоступления КАК ЖелаемаяДатаПоступления,
ДокументЗаказНаСборку.ДлительностьСборкиРазборки КАК ДлительностьСборкиРазборки,
ДокументЗаказНаСборку.МаксимальныйКодСтроки КАК МаксимальныйКодСтроки,
ДокументЗаказНаСборку.ВариантКомплектации КАК ВариантКомплектации,
ДокументЗаказНаСборку.Сделка КАК Сделка,
ДокументЗаказНаСборку.Подразделение КАК Подразделение,
ДокументЗаказНаСборку.СтатусУказанияСерий КАК СтатусУказанияСерий,
ДокументЗаказНаСборку.Назначение КАК Назначение,
ДокументЗаказНаСборку.НазначениеТовары КАК НазначениеТовары,
ДокументЗаказНаСборку.Серия КАК Серия,
ДокументЗаказНаСборку.ВариантОбеспечения КАК ВариантОбеспечения,
ДокументЗаказНаСборку.КоличествоУпаковокОтменено КАК КоличествоУпаковокОтменено,
ДокументЗаказНаСборку.КоличествоОтменено КАК КоличествоОтменено,
ДокументЗаказНаСборку.МоментВремени КАК МоментВремени,
ВЫБОР
КОГДА НЕ ДокументЗаказНаСборку.Проведен
ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияВнутреннихЗаказов.ПустаяСсылка)
ИНАЧЕ ЕСТЬNULL(СостоянияВнутреннихЗаказов.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияВнутреннихЗаказов.Закрыт))
КОНЕЦ КАК Состояние,
ЕСТЬNULL(СостоянияВнутреннихЗаказов.ЕстьРасхожденияОрдерНакладная, ЛОЖЬ) КАК ЕстьРасхожденияОрдерНакладная,
ДокументЗаказНаСборку.Количество - ЕСТЬNULL(Сборки.ОсталосьСобрать, 0) КАК Собрано
ИЗ
Документ.ЗаказНаСборку КАК ДокументЗаказНаСборку
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияВнутреннихЗаказов КАК СостоянияВнутреннихЗаказов
ПО (СостоянияВнутреннихЗаказов.Заказ = ДокументЗаказНаСборку.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ЗаказыНаСборкуОстатки.ЗаказНаСборку КАК ЗаказНаСборку,
ЗаказыНаСборкуОстатки.Номенклатура КАК Номенклатура,
СУММА(ЗаказыНаСборкуОстатки.КОформлениюОстаток) КАК ОсталосьСобрать
ИЗ
РегистрНакопления.ЗаказыНаСборку.Остатки КАК ЗаказыНаСборкуОстатки
СГРУППИРОВАТЬ ПО
ЗаказыНаСборкуОстатки.ЗаказНаСборку,
ЗаказыНаСборкуОстатки.Номенклатура) КАК Сборки
ПО (Сборки.ЗаказНаСборку = ДокументЗаказНаСборку.Ссылка)
И (Сборки.Номенклатура = ДокументЗаказНаСборку.Номенклатура)
Показатькороче, добавил поле ДокументЗаказНаСборку.Количество - ЕСТЬNULL(Сборки.ОсталосьСобрать, 0) КАК Собрано
Легко проверить - получившийся запрос вставьте в список и убедитесь что не работает.
На первый взгляд надо убрать секцию Сгруппировать. В запросе динамического списка не работает группировка, для этого есть поле у списка "группировка".
На первый взгляд надо убрать секцию Сгруппировать. В запросе динамического списка не работает группировка, для этого есть поле у списка "группировка".
В конфигурации УТ 11.3 на платформе 8.3.10.2580 столкнулся с аналогичной проблемой.
Правда, при просмотре текста запроса динамического списка слов "КАК Ссылка" не было.
Оказалось, что при использовании RLS программа вызывает метод "УправлениеДоступом.НастроитьОтборыДинамическогоСписка", в котором меняет текст запроса для добавления отбора по RLS. При этом после СхемаЗапроса.ПолучитьТекстЗапроса() в тексте запроса появляется "КАК Ссылка".
Решено добавлением строк:
Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "КАК Ссылка", "");
Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "КАК Дата", "");
Правда, при просмотре текста запроса динамического списка слов "КАК Ссылка" не было.
Оказалось, что при использовании RLS программа вызывает метод "УправлениеДоступом.НастроитьОтборыДинамическогоСписка", в котором меняет текст запроса для добавления отбора по RLS. При этом после СхемаЗапроса.ПолучитьТекстЗапроса() в тексте запроса появляется "КАК Ссылка".
Решено добавлением строк:
Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "КАК Ссылка", "");
Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "КАК Дата", "");
Добрый день и спасибо. У меня было то же самое. Конфигурация БП 3.0.6.46, платформа 8.3.10.2561. Справочник Физические лица, форма выбора сотрудников. Типовой механизм - на форме динамический список с произвольным запросом. Программно в общем модуле текст запроса списка меняется на другой с КАКи. В результате исчезает наименование (ФИО). Убрала КАК в программном запросе - все появилось.
Проблема решилась заменой выборки наименования не из справочника Физические лица, который соединяется с регистром, а из самого регистра выборки. Если интересно, это в общем модуле Физические лицаЗарплатаКадрыБазовый, процедура УстановитьЗапросСпискаВФормеВыбораСотрудников(Форма).
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот