1с форма выбора документа это

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

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

А делается это при помощи уже знакомого нам метода ОткрытьФорму.

Для тех, кто не знаком с вышеприведенным методом, рекомендую первым делом ознакомиться с моими статьями, где я подробно о нем рассказываю:

Открытие управляемой формы 1С с передачей параметров

Открытие управляемой формы 1С в отдельном окне

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

1 1

Здесь и далее приведена конфигурация из книги «Основы разработки в 1С: Такси».

%D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 1

Замечу, что в моей конфигурации нет формы выбора

2 1
т.е. мы будем открывать автоматически сгенерированную форму выбора.
Поэтому в методе ОткрытьФорму, когда мы будем выбирать нужную управляемую форму 1С, то просто выбираем ФормаВыбора.

3 1

Для того, чтобы получить какое-то значение с формы нужно использовать шестой параметр метода ОткрытьФорму – ОписаниеОповещенияОЗакрытии, который имеет тип ОписаниеОповещение.

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

&НаКлиенте
Процедура ВыбратьНоменклатуру ( Команда )

Если Не ЗначениеЗаполнено ( РезультатЗакрытия ) Тогда
Возврат;
КонецЕсли;

Где ВыбраннаяНоменклатура это реквизит формы.
Заметьте, процедура ОбработатьВыборНоменклатуры, которую мы указали в описании оповещения, обязательно должна быть экспортной.
Теперь нам осталась указать объект описание выбора в шестом параметре метода ОткрытьФорму

&НаКлиенте
Процедура ВыбратьНоменклатуру ( Команда )

И всё! Сейчас при выполнении команды, откроется форма выбора, и если какая-то номенклатура будет выбрана, то она запишется в реквизит формы в процедуре ОбработатьВыборНоменклатуры.

4

Изучайте управляемые формы 1С с моими статьями:

Открытие управляемой формы существующего объекта

Открытие управляемой формы 1С на основании другого объекта

Открытие обычной формы в управляемом приложении 1С

Очень подробно вопросы по работе с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.

Многие начинающие думают, что изучить язык программирование в 1С сложно и трудно. В действительности программировать в 1С — легко. Помогут Вам легко и быстро освоить программирование в 1С мои книги: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»

1 %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D %D0%BC%D0%B0%D0%BB%D0%B5%D0%BD%D1%8C%D0%BA%D0%B0%D1%8F

Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С

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

1C %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3DКнига «Программировать в 1С за 11 шагов»

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


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

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

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

Вступайте в мои группы в соцсетях, и будьте в курсе всех новостей

Источник

Работа с формами в «1С:Предприятии 8»

f651907def0d877fc1817b8b1260b82b

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

Например, вызывая справочник «Контрагенты», мы получаем на экране как раз такую форму-список (рис. 1).

doc 1250 1m

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

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

Кроме этого, в командной панели, как правило, присутствует элемент «Действия», где собраны все действия, которые можно выполнять над элементами данного списка.

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

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

Для часто используемых в форме списков действий назначены комбинации клавиш (подробнее об использовании «горячих» клавиш читайте в номере 10 (октябрь) «БУХ.1С» за 2007 год, стр. 8), использование которых повысит эффективность работы в программе:

Действие

Сочетание клавиш

Активация действия в командной панели

Добавить новый элемент

Пометка на удаление

Добавить группу (для справочников с иерархией)

Переместить элемент в другую группу (для справочников с иерархией)

Быстрый вход внутрь группы (для справочников с иерархией)

Выход на уровень выше

Добавить новый элемент копированием текущего

Изменить текущий элемент

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

Для этого можно использовать клавиши со стрелками (вверх, вниз, вправо, влево), включая привычное всем нам страничное листание (PageUp/PageDown) в сочетании с этими клавишами. Работают также общепринятые «горячие» клавиши:

Действие

Сочетание клавиш

Выделить все от текущей позиции до начала списка

Выделить все от текущей позиции до конца списка

Выделить все элементы

Копирование текстового представления текущей ячейки в списке элементов

Форма списка

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

Например, вызывая справочник «Контрагенты», мы получаем на экране как раз такую форму-список (рис. 1).

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

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

Кроме этого, в командной панели, как правило, присутствует элемент «Действия», где собраны все действия, которые можно выполнять над элементами данного списка.

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

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

Для часто используемых в форме списков действий назначены комбинации клавиш (подробнее об использовании «горячих» клавиш читайте в номере 10 (октябрь) «БУХ.1С» за 2007 год, стр. 8), использование которых повысит эффективность работы в программе:

Действие

Сочетание клавиш

Активация действия в командной панели

Добавить новый элемент

Пометка на удаление

Добавить группу (для справочников с иерархией)

Переместить элемент в другую группу (для справочников с иерархией)

Быстрый вход внутрь группы (для справочников с иерархией)

Выход на уровень выше

Добавить новый элемент копированием текущего

Изменить текущий элемент

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

Для этого можно использовать клавиши со стрелками (вверх, вниз, вправо, влево), включая привычное всем нам страничное листание (PageUp/PageDown) в сочетании с этими клавишами. Работают также общепринятые «горячие» клавиши:

Действие

Сочетание клавиш

Выделить все от текущей позиции до начала списка

Выделить все от текущей позиции до конца списка

Выделить все элементы

Копирование текстового представления текущей ячейки в списке элементов

Форма элемента

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

Для форм элементов характерно наличие командных панелей сверху и/или снизу открываемого окна. Это командные панели формы с действиями, которые относятся к открытому объекту конфигурации целиком.

Обычно одна из команд назначена «кнопкой по умолчанию». Она активируется комбинацией клавиш Ctrl+Enter. Такая кнопка выделяется жирным (в нашем примере, это кнопка «ОК»).

Как правило, на форме элемента четко можно определить разницу между командными панелями формы и вспомогательными командными панелями.

Комбинация Alt+F10 работает и здесь, она активирует ту командную панель, с элементами которой пользователь работает в данный момент времени.

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

Клавиатурное управление, как правило, значительно ускоряет процесс работы с данными. Например, нажатие на клавишу Enter или Tab, позволяет «перескакивать» с одного элемента формы на другой (следующий за ним). Нажатие Shift+Tab позволяет «скакать» по элементам в обратном направлении. Если вы находитесь в каком-либо поле ввода (например, на рис. 2 в группе контрагентов), достаточно написать первые буквы нужного вам элемента и нажать Tab и программа автоматически подставит нужный элемент в поле ввода (если он уникален в системе), либо предоставит автоматический список для уточнения вашего варианта.

Действие

Сочетание клавиш

Открыть форму выбора нужного элемента

Открыть форму элемента уже выбранного объекта в поле ввода

Очистить поле ввода

Быстрое переключение между закладками на форме, если они есть

Ctrl+PageUp и Ctrl+PageDown

Переключение активного элемента типа «Флажок»

Отказаться от внесенных изменений в текстовых элементах формы

Вернуть отмененное действие

Закрытие практически любой формы

Закрытие/открытие окна служебных сообщений (того, которое может появляться внизу)

При вводе новых объектов конфигурации при помощи форм элементов, обязательные для заполнения поля подчеркнуты красным. Например, для документа «Реализация товаров и услуг: Продажа, комиссия» такими полями являются поле «Контрагент» и поле «Договор» (рис. 4).

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

Форма выбора

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

Форма группы

Для каждого объекта конфигурации, может быть задано при разработке несколько форм: разнообразные формы элемента, выбора, вспомогательные формы. Необходимо это, в первую очередь, для облегчения ввода и обработки информации, хранящейся в этом объекте. То есть набор форм, как правило, определяется на этапе создания конфигурации и в разных конфигурациях может отличаться друг от друга даже для однотипных объектов (например, в типовых конфигурациях «Бухгалтерия предприятия» и «Управление торговлей»).

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

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

Вызвать справку можно, нажав клавишу F1.

Кроме этого, в таком случае всегда доступны «горячие» клавиши Ctrl+Shift+Стрелка вверх и Ctrl+Shift+Стрелка вниз.

Источник

Для начинающих: как выбрать файл в 1С?

Добавим новую форму с кнопкой, нажав на которую будет открываться окно выбора файла. Дальнейшая обработка файла в данном примере не рассматривается. Рекомендуется тренироваться на копии базы или пустой конфигурации. Пример создан на конфигурации 1С:CRM 3.0.

Сначала подготовим конфигуратор.

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

741c21bc37ce7cd566be375d46929dd6

Теперь создадим простую обработку.

Находим в левой таблице объектов объект «Обработки», нажимаем на ней правой кнопкой мыши и выбираем «Добавить». Далее потребуется заполнить Имя обработки, указать, в какой подсистеме 1С хотите вызвать обработку, и добавить новую форму в разделе «Формы».

06a133e8efb05fa0ff0f23a7418b24e9

После создания формы появится окно как представлено ниже.

Теперь создадим команду формы «Загрузить» нажав на плюс в верхнем правом окне. Обязательно укажите свойство «Действие». Это будет название процедуры 1С.

784b124f96d69ffc5b523ea4f4ac6e45

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

a1d2e4c32ea4c7f8be5b706d8e0f8828

Далее напишем небольшой код.

Внизу окна нажимаем на закладку «Модуль». У нас здесь уже есть пустая процедура. Добавляем в нее код.

ДиалогВыбора = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогВыбора.Заголовок = «Выберите файл»;

ДиалогВыбора.Фильтр = «Excel документ, .xls|.xls»;

Если ДиалогВыбора.Выбрать() Тогда

В результате получится так как на рисунке ниже.

4a34e77bc1d75410966d4dc70ce6ffc1

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

cf298a3fa308892ca7aec6cd697e98bb

На простейшем примере было показано как написать код, прикрепить его на форму и вызвать в пользовательском режиме 1С.

Источник

Форма выбора (подбор) в управляемых формах

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

Пример 1.

Простой вызов формы выбора с одним возвращаемым результатом:

Пример 2.

Выбор нескольких значений (документов или справочников) :

В первых 2-х примерах мы использовали обработчик (Событие) формы «ОбработкаВыбора».

Теперь рассмотрим пример с использованием «Обработки оповещения», на мой взгляд более удобно )

Пример 3.

Думаю многие не знают про фишку Оповещением «на Сервере». То есть результат можно вернуть сразу на сервер без дополнительных условий. Работает до 8.3.13.1644, с 8.3.16.1063 этот метод недоступен.

Пример 4.

Мы видим что открывается форма выбора (из списка документов «Реализация товаров и услуг»), но иногда необходимо добавить некий отбор, чтобы при открытии формы не выводить все документы в целом.

Пример 5.

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

Пример 6.

Пример 7.

Как открыть форму выбора с Позиционированием ранее выбранного значения:

Тестировалось на 1С:Предприятие 8.3 (8.3.16.1063) и 1С:Предприятие 8.3 (8.3.13.1644), Спасибо за внимание, возможно, кому-то поможет)

Источник

Трюки 1С 8 – Передача формы документа в форму выбора

В числе таких слабостей, к примеру, невозможность подписки на события обычных форм (смотри следующую статью Трюки 1С 8 – Управление обычными формами из общего модуля ) или на событие изменения показателей любого регистра накопления (статья еще не написана).

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

При выборе серии номенклатуры по кнопке выбора в табличной части Товары документов СчетНаОплатуПокупателю или РеализацияТоваровУслуг штатный механизм связи (через указание номенклатуры-владельца) выводит на экран все серии для номенклатуры из текущей строки табличной части. Хотя логично было бы ожидать только серии, зарегистрированные на складе, который указан в соответствующем документе.

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

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

Теперь в форме выбора можно обратиться к форме документа и любым ее элементам, например, реквизиту Склад (и заодно восстановить исходную подсказку):

Процедура ПриОткрытии()

Используя значение Склад, можно запросом выбрать список кодов нужных серий номенклатуры и использовать его в дополнительном элементе отбора:

В приложенном файле – полный код процедуры ПриОткрытии формы выбора (КА 1.1, 1С 8.2).

Штатный подход в обычных формах, как отметил в комментарии awk, более прямолинейный:

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

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с форма выбора возвращаемое значение
  • 1с форма вариант масштаба