вывести регистр сведений на управляемую форму с отбором

Динамический список

Как на управляемой форме разместить список регистра сведений с отбором?

Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация)

2. Отображение на форме:
Перетащить реквизит формы в элементы формы (c права налево вывести регистр сведений на управляемую форму с отбором. вывести регистр сведений на управляемую форму с отбором фото. картинка вывести регистр сведений на управляемую форму с отбором. смотреть фото вывести регистр сведений на управляемую форму с отбором. смотреть картинку вывести регистр сведений на управляемую форму с отбором..
Так же для отображения необходимо задать хотя-бы одну колонку для вывода.

3. Настройка отбора:
В процедуре ПриСозданииНаСервере вручную устанавливаем необходимый отбор.

Пример:
Код 1C v 8.2 УП

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

Похожие FAQ

Еще в этой же категории

Программное создание таблицы значений с условным оформлением 12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора

Как ограничить список выбора? 8
Ограничим список элементов, установив отбор в открываемой форме //Пример 1 Процедура СтатьяПДРНачалоВыбора(Элемент, СтандартнаяОбработка) ФормаВыбора = Справочники.ПрочиеДоходыИРасходы.ПолучитьФормуВыбора(, Элемент); ЭлементОтбораВидПДР = Форма Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Источник

Как создать табличку регистра с отбором в справочнике или документе на управляемой форме

Решение задачи на самом деле очень простое, нам нужно в самой форме, на вкладке «Командный интерфейс» поставить галочку Автовидимость и видимость. Тогда с лева на форме у нас появится ссылка на наш регистр с уже готовым отбором.

НО! А что если нужно это все дело организовать другим способом, например на форме поставить табличку, и что бы можно было прямо от туда добавлять записи в регистр. Тогда:

1. На форме на панели реквизитов добавляем новый реквизит с типом: «ДинамическийСписок».

2. Выбираем тип основной таблицы с нашем регистром например.

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

3. Размещаете токшо созданый реквизит на форму.

4. Прописать сам отбор в событии формы «ПриСозданииНаСервере»:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

НовыйЭлемент = Водители.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
НовыйЭлемент.Использование = Истина;
НовыйЭлемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«ТранспортноеСредство»);
НовыйЭлемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлемент.ПравоеЗначение = Объект.Ссылка;

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

Источник

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

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

ЗначениеОтбора = Новый Структура(«Номер», «333»);
ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);

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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Номер»);
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементОтбора.ПравоеЗначение = «000000001»;

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

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

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

ФормаСписка = ПолучитьФорму(«Документ.ПриходнаяНакладная.ФормаСписка»);
ФормаСписка.ФильтрПоТовару = Элементы.Список.ТекущаяСтрока;
ФормаСписка.Открыть();

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

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

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

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

Демонстрационный пример для 3-го варианта находится в каталоге 1CITS/EXE/FAQ/ОткрытьФормуСОтбором.dt. Пример выполнен на версии платформы 8.2.9.356.

Источник

Программирование в 1С для всех

В предыдущей статье Работа с набором записей регистра сведений мы узнали, как использовать объект набор записей регистра сведений для группового создания записей. В процессе записи набора наш регистр или полностью очищается, или добавляются новые записи, сохраняя при этом старые. Причем контроль уникальности по измерениям во втором случае не ведется, и может возникнуть ошибка «Запись с такими ключевыми полями существует!»

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

Рассмотрим следующую задачу: в моей конфигурации есть независимый периодический регистр сведений «ЦеныНаТопливо», который имеет следующую структуру.

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

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

В этом коде с помощью свойства Отбор объекта НаборЗаписей сделать так, чтобы в наборе были записи, соответствующие только нужному нам поставщику.

В отборе как к свойству объекта можно обращаться ко всем измерениям регистра сведений и к периоду, если имеем дело с периодическим регистром сведений. Если регистр сведений подчинен регистратору, то отбор возможен только по регистратору.

Когда мы обращаемся к свойству объекта Отбор посредством названия измерения, то мы получаем объект Элемент отбора, у данного объекта только один метод — Установить. Данный метод устанавливает значение отбора.

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

Имейте в виду, что отбор в регистрах сведений можно устанавливать только на равенство!

После того, как мы установили отбор, нам необходимо извлечь данные из базы в объект Набор записей, осуществляется это с помощью метода Прочитать. Этот метод считывает записи из базы данных по установленному отбору и записывает их в объект НаборЗаписей.

Как Вы уже знаете, объект Набор записей является коллекцией объектов Запись регистров сведений. Поэтому после того, как мы с помощью метода Количество проверили, есть ли в принципе записи по данному отбору, мы обходим данную коллекцию с помощью цикла: Для каждого…Цикл. Где переменная НормаЗапись является объектом Запись регистров сведений. С помощью этого объекта мы получаем доступ ко всем полям записи регистра сведений и можем их изменять на свое усмотрение. После того, как мы поменяли все нужные нам записи, необходимо записать набор. Обращаю внимание, что записывается именно набор в целом, а не конкретная запись по отдельности.

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

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

Имейте ввиду, что после того, как вы примените метод Прочитать к набору записей, то состав набора изменится согласно установленному отбору.

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

В этом коде мы получаем данные для определенного набора и очищаем их.

Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

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

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Промо-код на скидку в 15% — 48PVXHeYu


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Источник

Организация выбора из произвольной формы (на примере выбора из списка регистра сведений)

1С:Предприятие 8 поддерживает готовую функциональность для организации выбора из форм списков объектных данных (справочников, документов и т.д.). В большинстве случаев выбираются именно такие значения. Однако, в некоторых случаях, необходимо организовать выбор и других значений. Механизм форм 1С:Предприятия 8 включает универсальный механизм выбора, позволяющий организовать выбор практически любых значений.

Для этого используется возможность открытия формы в режиме выбора и возможность обработки события выбора.

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

Вначале создадим новую форму списка регистра сведений и назовем ее «ФормаВыбора». В форме реализуем событие Выбор табличного поля отображающего список.

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

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

Далее мы создаем форму, устанавливаем ей режим выбора, владельца формы, и выполняем открытие формы.

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

Источник

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

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