Динамический список. Проблема с получением ссылки.
Добрый день, коллеги.
Конфигурация Розница 3.0.7.122, платформа 8.3.23.2040.
В типовой рознице у обработки РабочееМестоКассира имеется форма ФормаВыбораЧека. На форме имеется реквизит ТаблицаЧековККМ с типом ДинамическийСписок. У него установлено свойство ПроизвольныйЗапрос и указан следующий запрос:
При вызове события ПриСозданииНаСервере, в зависимости от переданных параметров, запрос переопределяется. После этого, при активации события Выбор ТаблицыФормы мы получаем ссылку на документ с помощью свойства ТекущиеДанные и затем начинаем, к примеру, оформление возврата. При этом, ссылка отсутствует в списке колонок ТаблицыФормы.
Решил повторить подобное в расширении. Создал общую форму, реквизит формы с типом ДинамическийСписок и указал в нем этот же запрос, а затем переопределил его, для примера, следующим запросом:
Суть проблемы в следующем: При активации события Выбор ТаблицыФормы в моем расширение в текущих данных отсутствует поле ссылка. Но если я скопирую реквизит ТаблицаЧековККМ с типовой формы и повторю те же самые действия, ссылка в текущих данных будет присутствовать.
Пробегал по всем свойствам, сравнивал формы через сравнение объектов, не могу найти, в чем отличия и почему так разниться поведение. Подскажите, может быть, кто-то сталкивался с подобным?
Конфигурация Розница 3.0.7.122, платформа 8.3.23.2040.
В типовой рознице у обработки РабочееМестоКассира имеется форма ФормаВыбораЧека. На форме имеется реквизит ТаблицаЧековККМ с типом ДинамическийСписок. У него установлено свойство ПроизвольныйЗапрос и указан следующий запрос:
ВЫБРАТЬ
"12345678901234567890" КАК Номер,
"12345678901234567890" КАК НомерККМ,
ДАТАВРЕМЯ(2001, 1, 1, 0, 0, 0) КАК Дата,
0 КАК СуммаДокумента,
ВЫРАЗИТЬ("" КАК Строка(1024)) КАК Комментарий
ИЗ
Справочник.НастройкиРабочегоМестаКассира КАК НастройкиРабочегоМестаКассираПереопределяемыйПри вызове события ПриСозданииНаСервере, в зависимости от переданных параметров, запрос переопределяется. После этого, при активации события Выбор ТаблицыФормы мы получаем ссылку на документ с помощью свойства ТекущиеДанные и затем начинаем, к примеру, оформление возврата. При этом, ссылка отсутствует в списке колонок ТаблицыФормы.
Решил повторить подобное в расширении. Создал общую форму, реквизит формы с типом ДинамическийСписок и указал в нем этот же запрос, а затем переопределил его, для примера, следующим запросом:
ТекстЗапроса =
"ВЫБРАТЬ
| ЧекККМ.Ссылка КАК Ссылка,
| ЧекККМ.Дата КАК Дата,
| ЧекККМ.Номер КАК Номер
|ИЗ
| Документ.ЧекККМ КАК ЧекККМ
|ГДЕ
| НЕ ЧекККМ.ПометкаУдаления"; ПоказатьСуть проблемы в следующем: При активации события Выбор ТаблицыФормы в моем расширение в текущих данных отсутствует поле ссылка. Но если я скопирую реквизит ТаблицаЧековККМ с типовой формы и повторю те же самые действия, ссылка в текущих данных будет присутствовать.
Пробегал по всем свойствам, сравнивал формы через сравнение объектов, не могу найти, в чем отличия и почему так разниться поведение. Подскажите, может быть, кто-то сталкивался с подобным?
Прикрепленные файлы:
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Если я не ошибаюсь в типовой так - у поля Ссылка стоит признак ИспользоватьВсегда, сама ссылка добавлена на форму и скрыта (видимость убрана) и поэтому ссылка доступна для использования пользователем (поля например вытащить) и програмно ее тоже можно вытащить
Суть проблемы в следующем: При активации события Выбор ТаблицыФормы в моем расширение в текущих данных отсутствует поле ссылка. Но если я скопирую реквизит ТаблицаЧековККМ с типовой формы и повторю те же самые действия, ссылка в текущих данных будет присутствовать.
Если я не ошибаюсь в типовой так - у поля Ссылка стоит признак ИспользоватьВсегда, сама ссылка добавлена на форму и скрыта (видимость убрана) и поэтому ссылка доступна для использования пользователем (поля например вытащить) и програмно ее тоже можно вытащить
(2) (3) Прошу прощения за долгий ответ, коллеги.
Нет, в настройках динамического списка в типовой форме нет поля "Ссылка" и признаков "ИспользоватьВсегда". Так же нет и основной таблицы в настройках динамического списка.
Программно эта колонка тоже не добавляется, пробегал по всему коду открытия формы. Ну и скопировав к себе никаких доп обработок не делал. Просто переопределил запрос динамического списка и ссылка, в отличии от созданного мной динамического списка, там есть.
Нет, в настройках динамического списка в типовой форме нет поля "Ссылка" и признаков "ИспользоватьВсегда". Так же нет и основной таблицы в настройках динамического списка.
Программно эта колонка тоже не добавляется, пробегал по всему коду открытия формы. Ну и скопировав к себе никаких доп обработок не делал. Просто переопределил запрос динамического списка и ссылка, в отличии от созданного мной динамического списка, там есть.
Прикрепленные файлы:
(5) Запрос из примере выше переопределяется в зависимости от переданных параметров при открытии формы. К примеру, если оформляется чек возврата итоговый запрос содержит в себе поле "Ссылка":
И в моем примере, где я в двух динамических списках переопределяю этот запрос на запрос вида:
В одном, скопированном с типовой форме, ссылка присутствует, а в другом нет.
Надеюсь, правильно понял ваш вопрос.
|ВЫБРАТЬ
| ДокументЧекККМ.Ссылка КАК Ссылка,
| ДокументЧекККМ.Номер КАК Номер,
| ДокументЧекККМ.НомерЧекаККМ КАК НомерККМ,
| ДокументЧекККМ.Дата КАК Дата,И в моем примере, где я в двух динамических списках переопределяю этот запрос на запрос вида:
ТекстЗапроса =
"ВЫБРАТЬ
| ЧекККМ.Ссылка КАК Ссылка,
| ЧекККМ.Дата КАК Дата,
| ЧекККМ.Номер КАК Номер
|ИЗ
| Документ.ЧекККМ КАК ЧекККМ
|ГДЕ
| НЕ ЧекККМ.ПометкаУдаления"; ПоказатьВ одном, скопированном с типовой форме, ссылка присутствует, а в другом нет.
Надеюсь, правильно понял ваш вопрос.
(7) в догонку:
если у динамического списка установлено свойство "Основная таблица" и это таблица ссылочного типа,
тогда надо пользовать не
а
это всегда будет ссылка текущей строки списка, вне зависимости присутствия в тексте запроса поля Ссылка.
если у динамического списка установлено свойство "Основная таблица" и это таблица ссылочного типа,
тогда надо пользовать не
Элементы.Список.ТекущиеДанныеа
Элементы.Список.ТекущаяСтрокаэто всегда будет ссылка текущей строки списка, вне зависимости присутствия в тексте запроса поля Ссылка.
(7) При активации события Выбор таблица формы динамического списка, скопированного с типовой формы, в свойстве ТекущиеДанные содержит поле "Ссылка", а таблица формы динамического списка, созданного мной, его не содержит.
Приложит скриншоты значений свойства ТекущиеДанные, динамических списков и их переопределения. Вроде бы все одинаковая, но результат разный.
Приложит скриншоты значений свойства ТекущиеДанные, динамических списков и их переопределения. Вроде бы все одинаковая, но результат разный.
Прикрепленные файлы:
(8) В комментарии я скопировал динамический список из типовой формы к себе на форму и самостоятельно переопределил запрос, то есть не устанавливаю обязательное использование. При этом, результат работы двух списков разный.
Я, в целом, проблему обошел и скрыл поле Ссылка с установкой свойства "Использовать всегда", спасибо коллегам, но для собственного развития хотел бы понять, что изначально делал не так и почему работает по разному.
Я, в целом, проблему обошел и скрыл поле Ссылка с установкой свойства "Использовать всегда", спасибо коллегам, но для собственного развития хотел бы понять, что изначально делал не так и почему работает по разному.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот