передача параметров динамического списка в запрос #567110


#0 by fvr2000
Здравствуйте! Сталкнулся с такой задачей. Есть динамический список в форме списка регистра сведений. Регистр периодический с одним измерением - Сотрудник типа Справочник.ФизЛица и одним ресурсом - Количество, для хранения количества часов в графике работы сотрудника на конкретный день. В форме списка размещена кнопка "Заполнить", по нажатию которой необходимо заполнить табель на основании графика (типа с понедельника по пятницу по 8 часов, суббота-воскресенье выходные). Хочется, чтобы кнопка работала с учетом установленных пользователем отборов. Период передавать научился простым чтением параметров списка и передачей в запрос (Элементы.Список.Период.ДатаНачала, Элементы.Список.Период.ДатаОкончания). А вот как передать параметры отбора?
#1 by Rovan
#2 by detec
У динамического списка есть реквизит Отбор с типом ОтборКомпоновкиДанных. В запрос их, боюсь, передать не получится. Я сталкивался с похожей ситуацией, реализовал через отчёт на СКД, куда в Конфигураторе интерактивно копирую текст запроса сложного динамического списка. По идее, можно обойти элементы отбора и перенести их в отборы такого отчёта. Выполнить отчёт программно и получить на выходе таблицу значений.
#3 by fvr2000
Спасибо, сейчас попробую, отпишусь. Вот-вот, как бы передать отбор программно? У меня сейчас простой запрос (Новый Запрос), а надо наверное на компоновке написать (Новый Построитель)? И потом, кнопка у меня &НаКлиенте, а передавать параметр надо &НаСервер
#4 by fvr2000
Разместил код в модуле формы списка, попытался вызвать из обработчика кнопки, неуспешно: {РегистрСведений.Табель.Форма.ФормаСписка.Форма}: Ошибка при вызове метода контекста (длПолучитьТаблицуЖурнала)    ЗапросД = длПолучитьТаблицуЖурнала(Элементы.Список); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'param':    форма: Элемент    имя: { по причине: Ошибка отображения типов: Отсутствует отображение для типа 'ТаблицаФормы'
#5 by fvr2000
Обошелся вот таким способом Работать будет не всегда, но пока хватит. Однако, хотелось бы найти более универсальное решение, с передачей отбора на сервер.
#6 by detec
Вообще-то отбор компоновки данных сериализуется, и нет никаких проблем в сериализованном виде гонять его между клиентом и сервером.
#7 by fvr2000
С этого места поподробнее, плз :) Направление в принципе понятно. Однако целиком загрузить отбор для набора записей регистра сведений (или для построителя запроса) не получится (свойство Отбор только чтение), а как коллекцию элементов загрузить из сериализованного представления?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С