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

Содержание
  1. Как открыть форму списка с некоторым выбором?
  2. Динамический список
  3. Похожие FAQ
  4. Другие материалы в этой же категории
  5. Программное открытие форм в управляемом приложении 1С
  6. 1. Как открыть объектную форму в управляемом приложении, если на нее есть ссылка.
  7. 2. Как открыть форму выбора, а затем получить выбранное значение.
  8. 3. Как открыть форму существующего объекта
  9. 4. Как открыть новый объект формы
  10. 5. Как открыть новую форму объекта и заполнить ее на основе чего-либо
  11. 6. Как открыть форму и установить в ней выборку
  12. 7. Как открыть форму записи журнала информации
  13. Как создать закладку с выбором каталога или документ в управляемой форме
  14. УФ: Открывает форму для ввода регистрационных данных в 1С
  15. Открываем существующую регистрационную форму (в клиенте)
  16. Открываем форму и добавляем новую запись в лог с частично заполненными полями (на клиенте)

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

Существует несколько способов открыть форму списка с определенным выбором. Рассмотрим их по порядку:

1. Первый способ заключается в том, что при открытии формы можно задать параметр Select Form и открыть форму списка с этим параметром. Параметр Selection является структурой. Имена элементов соответствуют названиям полей, используемых для выбора, а значения содержат значения выбора. Это вариант расширения управляемой формы динамического списка. Это означает, что он существует для форм, основным атрибутом которых является атрибут DynamicList, например, список форм и селектор форм.

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

FilterValue = NewStructure(«Число», «333»);
ChoiceParameters = NewStructure(«Filter»,FilterValue);

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

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

&OnServer
CreateProcedureOnServer(Failure, StandardProcessing)

FilterItem = List .Filter.Items.Add(Type(» DataCompositionFilterItem»));
ЭлементВыбора.ЛевоеЗначение = Новое ПолеКомпоновкиДанных(«Число»);
ЭлементВыбора.ТипСравнения = ТипСравненияКомпоновкиДанных.Дополнительно;
Элемент выбора Use = true;
SelectionItem.DisplayMode = ElementDisplayModeDataCompositionSettings.N/A;
Selection Element.RightValue = «000000001»;

Преимущество этого метода в том, что Тип сравнения выбора может быть установлен не только равным, как в первом случае, но и больше, меньше чем и т. д.

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

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

Для этого в виде списка товаров создаем команду и соответствующий button Счета-фактуры

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

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

В этом контроллере мы получаем форму списка входящих счетов и передаем ссылку на текущую в параметр формы FilterByItem. товара в инвентарной ведомости и открываем форму с этим параметром.

Далее мы создаем форму Список документов Счет-фактура и создаем атрибут ФильтрПоЭлементу формы, который мы используем в качестве параметра формы, когда он открыт. Теперь открываем палитру свойств основного атрибута формы Список. Установите флаг ArbitraryRequest и нажмите Открыть в строке конфигурации списка.

Читайте также:  Как открыть частный колледж уровень спо

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

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

Здесь List.Parameters — это список параметров запроса динамического списка для атрибута List. Значение параметра Product равно значению параметра формы FilterByProduct.

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

Пример третьего варианта можно найти в каталоге 1CITS/EXE/FAQ/OpenFormWithSelection.dt. Пример запускался на платформе версии 8.2.9.356.

Источник

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

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

Рассмотрено решение для элемента каталога (запись-аналог и контактная информация)

1. Создать атрибут:
Добавить новый сформировать реквизит (не путать с атрибутивным поиском) с типом «Динамический список»
В поле «Основная таблица» выбрать необходимую информационную запись.

2. Отобразить на форме:
Перетащите атрибут формы на элементы формы (справа налево .
Для отображения необходимо также настроить хотя бы один столбец для вывода.

3. Настройка фильтра:
Вручную настройте требуемый фильтр в процедуре OnCreateOnServer.

Пример:
Код 1С в 8.2 ЕС

решение явно не единственное, так что если кто что еще обнаружит, пишите 😉

Похожие FAQ

Другие материалы в этой же категории

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

Заполняем список значений в select элементе поля в виде 11
/ / Заполнить список, выбрав данные // МетаданныеВыбранный элемент формы имеет тип — Любой, Использование — Режим выбора списка, кнопка списка для каждой метаданные Метаданные Задания по расписанию Элементы циклаФорма.МетаданныеВыбор.Сон Выбрать поле

Как сузить список выбора? 8
Ограничим список элементов, установив выбор в открытой форме //Пример 1 Процедура СтатьяPDRStartChoice(Element, StandardProcessing)ChoiceForm = Directorys.OtherIncomeAndExpenses.GetChoiceForm(, Element); ElementSelectionViewPDR = Форма Просмотреть все в категории Работа с формой (диалог) и его элементы

Источник

Программное открытие форм в управляемом приложении 1С

Программное открытие форм в управляемом приложении 1С значительно отличается от открытия в обычном приложении. Начнем со старого метода. Он заключается в том, чтобы принять форму и затем открыть ее в обычном или модальном режиме (при открытии в модальном режиме форма блокирует программу).

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

Обратите внимание, что когда форма будет принята, также будет выполнена процедура события OnCreateOnServer.

.

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

Читайте также:  Как открыть ссылку через батник

1. Как открыть объектную форму в управляемом приложении, если на нее есть ссылка.

В данном случае все предельно просто.

2. Как открыть форму выбора, а затем получить выбранное значение.

Для этого есть функция EnterValue(). Функциональный параметр 3:

  • Переменная, в которую будет записано выбранное значение;
  • Подсказка для отображения в окне выбора;
  • Описание выбранных типов значений. Может быть несколько типов, и в этом случае вам будет предложено выбрать тип перед выбором конкретного значения.

В результате выполнения функции открывается стандартная форма выбора объекта заданного типа.

Значение переменной;
Массив = новый массив;
полей. Добавить(Тип(«DirectoryReference.Nomenclature» )​​​​​​​​​);
полей. Добавить (тип («DirectoryReference.Contractors» ) );

DescriptionType = new DescriptionType(Array);

Res = EnterValue (Value, «Hint», DescriptionType);

Методы Предыдущие версии позволяли открывать только формы, установленные для объектов по умолчанию (форма объекта или форма выбора). Если вам нужно открыть любую форму, вы можете использовать функцию OpenForm().

У этой функции довольно много параметров. Рассмотрим некоторые из них:

  • Имя формы : Здесь вы можете выбрать одну из стандартных форм объекта, например SelectionForm или Форма списка . Или конкретная форма, созданная разработчиком.
  • Параметры : позволяет передать некоторые параметры в виде структуры и, таким образом, определить выходные данные перед открытием формы. Параметрами могут быть любые данные, которые могут быть переданы от клиента к серверу. Параметры, отправленные при открытии формы, могут быть обработаны в процедуре ПриСозданииНаСервере() открытой формы.
  • Режим открытой формы : у вас есть 3 варианта: автономный, заблокировать все интерфейсы, заблокировать форму владельца.

Давайте посмотрим, как функция OpenForm() используется в различных ситуациях.

3. Как открыть форму существующего объекта

Он имеет ключевые аксессуары во всех отношениях. Он выделен жирным шрифтом в списке атрибутов формы и обычно называется Объект для форм ввода документов и справочников. Другие объекты могут иметь другое имя. Чтобы открыть форму существующего объекта, необходимо передать параметр Ключ со значением в качестве ссылки на открываемый объект формы.

&AtClient
Процедура Команда 1 (Команда)
Параметр = новая структура;
Параметр. Вставить(«Ключ», FindC());
OpenForm(«Справочник.Счета.ОбъектФормы», Параметр );
Конец процедуры

&OnServer
Function FindC ( ) ;
Возврат ссылок. Поставщики. FindByAttribute(«ИНН», «745107734623»)
EndFunction

4. Как открыть новый объект формы

Простая функция OpenForm() без параметров

5. Как открыть новую форму объекта и заполнить ее на основе чего-либо

Вам нужно передать параметр Base , значением которого будет ссылка на основание объекта заливки. Это запустит процедуру FillProcessing().

В данном примере будет создан и заполнен документ Реализация товаров и услуг на основании счета на оплату покупателю, ссылка на который была передана.

6. Как открыть форму и установить в ней выборку

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

Для организации простого отбора необходимо передать параметр с помощью клавиши Фильтр в открытую форму значением будет структура, где ключом является поле динамического списка имени, а значением — данные поиска.

Например, откройте форму списка справочника номера ГТД и там сделаем выборку по владельцу: элемент справочника Номенклатура .

Selection = new Struct;
Выбор. Insert(«Владелец», Справочник по именованию);

Читайте также:  Как открыть табакерку с нуля

Параметр. Insert(«Выделение», Selection) ;

OpenForm(«Directory.Numbers GTE.ListForm», Parameter );
Завершение процедуры

7. Как открыть форму записи журнала информации

Для этого вам понадобится ключ записи журнала информации.

раздел реестра — значения всех измерений и периодов (если регистр периодический). Это означает, что ключ реестра является параметром, по которому можно однозначно идентифицировать реестр.

Алгоритм открытия следующий:

  1. Вводим данные ключа в структуру записи с нужными значениями.
  2. Поместите полученную структуру в массив.
  3. Создайте раздел реестра из массива.
  4. Мы передаем параметр Ключ с ключом реестра пункта 3 в качестве значения форме для открытия.

Ключевые параметры = новая структура;
Основные параметры. Вставить(«Номенклатура», СсылкаКНоменклатуре) ;
Основные параметры. Вставить( «ТипЦены», ТипСправочнойЦены);
Основные параметры. Insert(«Период», Дата);

KeyArray = New Array;
Массив ключей. Добавить(ключевые параметры);

RecordKey = New(«RegistrarRecordRecordKey.NomenclaturePrices» , KeyArray ) ;

Параметр. Вставить(«Ключ»,КлючЗаписи);

ОткрытьФорму(«Информационная Запись.Номенклатурные Цены.Бланк Записи», Параметр ) ;
Конец процедуры

Источник

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

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

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

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

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

3. Поместите вновь созданный пропс на форму.

4. Пропишите сам выбор в случае формы «OnCreationOnServer»:

&OnServer
CreateProcedureOnServer(Failure , StandardProcessing)

NewItem = Drivers.Filter.Elements.Add(Type(«DataCompositionFilterItem»));
NewItem.Usage = true;
НовыйЭлемент.ЛевоеЗначение = НовоеПолеКомпоновкиДанных(«Транспортное средство»);
НовыйЭлемент.ТипСравнения = ТипСравненияКомпоновкиДанных.Равно;
NewItem.RightValue = Object.Reference;

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

Источник

УФ: Открывает форму для ввода регистрационных данных в 1С

рассмотреть примеры кода, позволяющие открывать регистрационные формы ввода в 1С на примере самостоятельной периодической регистрации сведений Списки лиц (рис. 1):

рис. 1. Регистрационные данные Списки лиц

Открываем существующую регистрационную форму (в клиенте)

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

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

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

Данная статья хорошо дополнена

Режим производительности РЛС в 1С

Преимущества и недостатки стандартного а режима производительности РЛС

Дни недели 1С-ник/13.07.2022

Как работают виртуальные таблицы Остатки, Обороты, ОстаткиИ Обороты, функции приложения в АКС. Характеристика объекта StandardPeriod

Дни недели 1С-ник / 31.03.2022

Как оформить структуру информационной записи в 1С

Вопросы, которые могут возникнуть при разработке больших записей

Источник

Поделиться с друзьями
Решатор