1с как открыть форму списка регистра сведений с отбором
Перейти к содержимому

1с как открыть форму списка регистра сведений с отбором

  • автор:

Открыть регистр сведений с отбором

Для создания документа "Отчет об исполнении мероприятий" хочу предоставить для выбора мероприятия из Регистра сведений с отбором по подразделению и со статусом не равно "выполнен".
Документ "Отчет. " с полями Подразделение и ТЧ "Нарушения"
Регистр Сведений "ХодИсполнения" независимый непериодический
Измерения: СсылкаНаПланМероприятий, Подразделение;
Ресурс: Статус (Перечисление).

Создала форму списка Регистра с названием ФормаВыбора.
Форма открывается, но без отбора

Ошибок нет, отбора тоже. В отладчике
Сначала открывает форму регистра, затем — ПриСозданииНаСервере, только потом реквизиту формывыбора присваивается значение реквизита документа "отчет..", и конечно отбора не происходит.

Объясните, пожалуйста, мне на пальцах как должно быть, и я постараюсь понять и сделать)
Спасибо)

Прошу прощения. УФ, 8.3

Регистр сведений «Списанные материалы из эксплуатации». Почему регистр сведений, а не регистр накопления?
Существует Регистр сведений «Списанные материалы из эксплуатации». Регистр сведений предназначен.

Регистр сведений. Регистр накоплений
Здравствуйте! Нужна помощь в создании (и настройки работы) регистра сведений и регистра накопления.

Регистр сведений
Нужна помощь в оптимизации запроса. есть запрос: Запрос = Новый Запрос; Запрос.Текст = ".

Регистр сведений
Здравствуйте все. Подскажите вот что. Я создал три регистра: ЦеныНоменклатуры.

Сообщение от Fairuza

План Мероприятий — это документ с ТЧ, в которой поля: Акт-предписание, ВидНарушения, Подразделение и несколько дат, ДатаСоздания, ДатаПереноса, ДатаУстранения.
При проведении все записывается в Регистр сведений "ХодИсполнения", который нужен для быстрого наглядного просмотра, т.е. чтобы было сразу видно в каком статусе находится каждый пункт нарушения.
А т.к. нарушителю (начальнику подразделения) нужно составлять отчет об устранении нарушения, я решила дать ему возможность выбирать пункты из этого РС, которые относятся как раз к подразделению и не выполнены.
Что потом с выбранными строками я делать знаю, а как открыть этот регистр с отбором по подразделению не получается(

Добавлено через 2 минуты
Открывается невыполненные, но без отбора по подразделению.
Состояние — это ресурс, с ним проблем не возникает.
А с измерением — ну никак.

Как открыть форму списка с некоторым отбором?

Есть несколько способов для того, чтобы открыть форму списка с некоторым, заранее установленным отбором. Рассмотрим их по-порядку:

Первый способ

Заключается в том, что при открытии формы можно задать параметр формы Отбор , и открыть форму списка с этим параметром. Параметр Отбор представляет собой структуру. Имена элементов соответствуют именам полей, по которым производится отбор, а значения содержат значения отбора. Это параметр расширения управляемой формы динамического списка. То есть он существует у форм, основным реквизитом которых является реквизит типа Динамический Список , например у форм списка и форм выбора.

В процессе открытия формы будет установлен отбор по указанному полю. Например, в следующем примере открывается список приходных накладных с отбором по полю Номер , равному 333 .

Второй способ

Можно открыть форму списка без параметров:

И затем, в обработчике события формы списка приходных накладных ПриСозданииНаСервере написать код, который создает отбор в динамическом списке, являющемся основным реквизитом формы:

Преимущества данного метода в том, что ВидСравнения у отбора можно задавать не только Равно , как в первом случае, а и Больше , Меньше и т.п.

Но у такого способа есть и очень существенный недостаток: с этим отбором форма будет открываться всегда. Откуда бы ее ни вызвали. Поэтому такую форму не следует назначать основной. А если все же она основная — то перед установкой отбора, необходимо предусмотреть какой-то анализ того, откуда открывается эта форма. Например, анализируя параметры формы.

Третий способ

И наконец, условие отбора можно поместить в произвольный запрос, выбирающий данные для динамического списка. Например, нам нужно открыть список приходных накладных, в которых присутствует номенклатура, выделенная в списке номенклатуры.

Для этого в форме списка номенклатуры создадим команду и соответствующую ей кнопку ПриходныеНакладные .

Обработчик выполнения этой команды заполним следующим образом:

В этом обработчике мы получаем форму списка приходных накладных и передаем в реквизит формы ФильтрПоТовару ссылку на текущий элемент в списке номенклатуры и открываем форму с этим параметром.

Затем создадим форму списка документов ПриходнаяНакладная и создадим реквизит формы ФильтрПоТовару , который мы будем использовать в качестве параметра формы при ее открытии. Теперь откроем палитру свойств основного реквизита формы Список . Установим флаг ПроизвольныйЗапрос и в строке Настройка списка нажмем Открыть .

В поле Запрос введем следующий текст запроса:

В запросе мы используем параметр Товар , в который и будет передаваться ссылка на текущую строку в списке номенклатуры, содержащуюся в параметре формы списка приходных накладных ФильтрПоТовару . Для этого в обработчике события формы списка ПриОткрытии напишем код для установки значения параметра запроса Товар :

Здесь Список.Параметры — это список параметров запроса динамического списка для реквизита Список . Значение параметра Товар устанавливается равным значению реквизита формы ФильтрПоТовару .

В результате по нажатию кнопки Приходные накладные в форме списка номенклатуры мы будем получать список только тех приходных накладных, в которых присутствует номенклатура, выделенная в данный момент в списке номенклатуры.

2.4.1.1 Регистр сведений «КурсыВалют»

Создайте справочник «Валюты», определите реквизит «ПолноеНаименование», настройте форму списка. Справочник без иерархии, не подчиненный, принадлежит подсистеме «Торговля».

После этого создайте регистр сведений «КурсыВалют». У него определите одно измерение «Валюта» («ведущее») – ссылка на справочник «Валюты», ресурс «Кратность» — число (10,3), определите режим редактирования «в диалоге», настройте форму списка, форму записи регистра.

Рис. 1 Создание ресурса сведений

Рис. 2 Задание измерений ресурса

Рис. 3 Задание ресурсов регистра

Рис. 4 Создание форм для регистра сведений

Перейдем в пользовательский режим и там зададим несколько типов валют и значений их курсов на разные даты («Операции» — «Регистр сведений»).

Рис. 5 Задание значений курсов валют на разные даты

2.4.1.2 Отбор в диалоге

Добавим в форму списка возможность непосредственно из самой формы управлять отборами, для этого модифицируем форму списка, добавим на форму два флажка и три поля ввода («Форма»-«Вставить Элемент Управления»):

Рис. 6 Размещение в диалоге флажка 1

Рис. 7 Размещение в диалоге флажка 2

Рис. 8 Размещение в диалоге поля ввода 1

Рис. 9 Размещение в диалоге поля ввода 2

Рис. 10 Размещение в диалоге поля ввода 3

Далее в свойствах необходимо указать:

для флажка «по валюте» в свойстве «Данные» необходимо выбрать «РегистрСведенийСписок.Отбор.Валюта.Использование»;

Рис. 11 Настройка флажка 1

для флажка «по валюте» в свойстве «Данные» необходимо выбрать «РегистрСведенийСписок.Отбор.Период.Использование»;

Рис. 12 Настройка флажка 2

Для поля ввода «Условие» в свойстве «Данные» необходимо выбрать «РегистрСведенийСписок.Отбор.Валюта.Значение»;

Рис. 13 Настройка поля ввода 1

Для поля ввода 2 в свойстве «Данные» необходимо выбрать «РегистрСведенийСписок.Отбор.Период.ВидСравнения»;

Рис. 14 Настройка поля ввода 2

Для поля ввода 3 в свойстве «Данные» необходимо выбрать «Отбор. Период. Значение».

Рис. 15 Настройка поля ввода 3

В результате получается следующая форма списка:

Рис. 16 Форма списка с отбором

Запустите «1С: Предприятие» в пользовательском режиме и посмотрите на работу регистра сведений «Валюты».

Рис. 17 Форма списка с отбором в пользовательском режиме

2.4.1.3 Чтение значения курса валют

Модифицируем документ «ПриходнаяНакладная» для добавления возможностей учета документов, составленных в разных валютах. Для этого в документ добавим реквизиты «Валюта» типа «СправочникСсылка.Валюты» и «Курс» типа число(10,3). В форму документа поместим реквизит данных «Валюта» и добавим реквизит формы «Курс» в виде надписи. Определим обработчик события «ПриИзменении» для поля ввода, связанного с валютой.

Рис. 18 Обработчик события «ПриИзменении»

Следует отметить, что курс будет показываться только после выбора валюты, а при открытии уже заполненного документа этого происходить не будет. Подобный результат определяется событием, которое выбрали для заполнения реквизита формы «Курс», но этот недостаток можно устранить следующим образом, превратив надпись «Валюта» в гиперссылку.

Рассмотрим пример на программное открытие формы списка регистра сведений. В форме документа «ПриходнаяНакладная» в надписи «Валюта» отметим флажок «Гиперссылка». После этого у этой надписи определим обработчик «Нажатие».

Рис. 19 Настройка надписи как гиперссылки

Рис. 20 Процедура обработчика гиперссылки

Проверьте этот механизм на практике, открывая форму списка регистра сведений с установленным отбором из разных документов, меняя значение реквизита «Валюта».

v8: Открытие регистра сведений с отбором по данным отчета

Есть отчет, для которого нужно добавить свою расшифровку. Расшифровка должна открыть форму списка регистра сведений с отбором по измерениям:

ФизЛицо — Справочник.Ссылка
Событие — Строка
Дата

Формируется отчет, в котором присутствуют эти поля.

В процедуре ОбработкаРасшифровки, опираясь на материалы Вашего сайта, написала следующее:

Код 1C v 8.2 УП
Не могу открыть форму списка регистра сведений с отбором, используя данные строки отчета.
Может, кто знает, как обратиться к ячейке табличного документа.
Помогите, пожалуйста .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *