Например, чтобы сделать код встроенного языка 1с удобно читаемым его можно отформатировать через меню Текст-Блок-Форматировать.

1С выбор каталога управляемые формы
Предположим, что на форме создан реквизит ПутьКФайлу. Этот реквизит имеет тип Строка и выведен на форму. Пользователь должен указывать в этом поле путь к файлу Excel.
Для удобства свойство КнопкаВыбора элемента формы установим в значение Да и будем обрабатывать событие НачалоВыбора этого элемента.
В процедуре начала выбора элемента ПутьКФайлу необходимо написать код:
&НаКлиенте
Процедура ПутьКФайлуНачалоВыбора ( Элемент , ДанныеВыбора , СтандартнаяОбработка )
// Отказываемся от стандартной обработки процедуры
СтандартнаяОбработка = Ложь;
содержит описание процедуры, которая будет вызвана после закрытия диалога выбора. В этой процедуре должно быть два параметра:
- ВыбранныеФайлы — массив выбранных имен файлов. Если пользователь отказался от выбора файла, то в параметре будет содержаться Неопределено;
- ДополнительныеПараметры — произвольное значение, которое указано при создании объекта ОписаниеОповещения в третьем параметре (в нашем примере не задано).
Пример процедуры, которая будет вызвана после закрытия окна выбора файла:
&НаКлиенте
Процедура ВыборФайлаЗавершение ( ВыбранныеФайлы , ДополнительныеПараметры ) Экспорт
Процедура, указанная в объекте ОписаниеОповещения должна иметь ключевое слово Экспорт.
Приведенный пример можно немного усовершенствовать: передать в третий параметр конструктора ОписаниеОповещения переменную Диалог.
ОповещениеЗавершения = Новый ОписаниеОповещения ( «ВыборФайлаЗавершение» , ЭтотОбъект , Диалог );
Тогда в процедуре ВыборФайлаЗавершение будет доступно немного больше информации: из параметра ДополнительныеПараметры можно будет узнать каталог, в котором хранится выбранный файл, и фильтр, которому соответствует файл.
В конструкторе объекта ДиалогВыбораФайла в параметре указывается для чего будет открыт диалог. Возможные значения системного перечисления РежимДиалогаВыбораФайла:
Приведу еще несколько свойств объекта ДиалогВыбораФайла:
- Каталог — текущий каталог;
- ПолноеИмяФайла — начальное полное имя файла. После выбора файла содержит полное имя выбранного файла (кроме множественного выбора и выбора каталога);
- МножественныйВыбор — флаг возможности выбора нескольких файлов;
- ПредварительныйПросмотр — флаг необходимости показа окна предварительного просмотра файлов;
- ПроверятьСуществованиеФайла — флаг необходимости проверки существования выбираемого файла.
Настройки управляемых форм и настройка списков — Digital-агентство Программист 1С
- Заголовок – заголовок окна выбора фйлов
- ИндексФильтра – индекс активного фильтра
- Каталог – текущий каталог выбора файла
- МножественныйВыбор – задаёт возможность выбора нескольких файлов
- ПолноеИмяФайла – имя выбранного файла
- ПредварительныйПросмотр – отображение окна предварительного просмотра содержимого файла
- ПроверятьСуществованиеФайла – определяет проверять существование файла
- Расширение – расширения для записи файлов
- Режим – РежимДиалогаВыбораФайла.(ВыборКаталога, Открытие, Сохранение)
- Фильтр – строка с файловыми фильтрами
Решение средствами БСП
В конфигурациях со втроенной Библиотекой стандартных подсистем можно использовать процедуру
ОбработчикВыбораФайла ( Объект , Знач ИмяСвойства , СтандартнаяОбработка = Ложь, Знач ПараметрыДиалога = Неопределено, ОповещениеЗавершения = Неопределено ) Экспорт
общего модуля ОбменДаннымиКлиент. При помощи этого метода приведенную выше задачу можно решить так:
&НаКлиенте
Процедура ПутьКФайлуНачалоВыбора ( Элемент , ДанныеВыбора , СтандартнаяОбработка )
НастройкиДиалога = Новый Структура ;
НастройкиДиалога . Вставить ( «Заголовок» , НСтр ( «ru=’Выберите файл Excel’» ));
НастройкиДиалога . Вставить ( «Фильтр» , НСтр ( «ru=’Книга Excel (*.xlsb)|*.xlsb|Книга Excel 2007 (*.xlsx)|*.xlsx|Книга Excel 97 (*.xls)|*.xls’» ));
Промокоды на Займер на скидки
ОбменДаннымиКлиент . ОбработчикВыбораФайла ( ЭтотОбъект , «ПутьКФайлу» , СтандартнаяОбработка , НастройкиДиалога );
Остались вопросы?
Спросите в комментариях к статье.
Достаточно часто нам требуется получить от пользователя какую-либо информацию — имя файла или каталога, цвет или шрифт. Для всего этого в 1С существуют диалоги. Код, который требуется для вызова диалога, довольно стандартный и мало чем отличается из раза в раз. Собственно именно о том, как вызвать различные диалоги в 1С 8.2 и 8.3 и пойдет речь.
Отмечу, что приведенные ниже примеры подходят для любых конфигураций 1С 8.2, а также для конфигураций 1С 8.3 у которых свойство конфигурации «Режим использования модальности» установлено как «Использовать» либо «Использовать с предупреждениями». Если же Вы имеете дело с конфигурацией 1С 8.3 не использующей модальность, то рекомендую прочесть статью о модальности в 1С.
Процедура ВыбратьИПередатьФайлыНаСерверЗавершение должна быть экспортной, оповещения не могут работать с локальными процедурами.

Изменение элементов формы
Управление элементами формы производится через коллекцию Элементы объекта ФормаКлиентскогоПриложения , с помощью которой можно добавлять, удалять, изменять свойства элементов формы, а также перемещать элементы формы между родителями.
Для добавления нового элемента формы требуется передать в функцию Добавить данной коллекции имя элемента, его тип и родителя (при необходимости). Например:
По аналогии с добавлением реквизитов, данный код можно выполнять в функциях МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере (УТ, КА, ERP) , ПодключаемыеКоманды.ПриСозданииНаСервере или ВерсионированиеОбъектов.ПриСозданииНаСервере .
При создании новых элементов формы старайтесь добавлять к их именам префикс своего расширения, чтобы избежать конфликтов с элементами формы типовой конфигурации. Этот же совет следует применять к именованию реквизитов формы, процедур, функций и глобальным переменным.
Работа со свойством текущие данные 1С.
Обработка событий формы
Выполнить код по событию элемента формы можно двумя способами:
- Создать команду, указать для этой команды имя обработчика события и назначить эту команду элементу формы
- Выполнить метод УстановитьДействие элемента формы, чтобы указать имя обработчика события в модуле формы
Для самых простых случаев (команда или событие без параметров) можно использовать следующие комбинации обработчиков и переопределяемых процедур:
- обработчик Подключаемый_ВыполнитьПереопределяемуюКоманду с переопределением процедуры МодификацияКонфигурацииКлиентПереопределяемый.ВыполнитьПереопределяемуюКоманду для УТ, КА и ERP;
- обработчик Подключаемый_ВыполнитьКоманду с переопределением процедуры ПодключаемыеКомандыКлиент.ВыполнитьКоманду
При этом в предопределенной процедуре обязательно проверять имя команды (или имя элемента формы) и имя самой формы.
Обратите внимание, что при использовании процедур, не предназначенных для программной обработки команд, следует возвращать поток выполнения методом глобального контекста ПродолжитьВыполнение , чтобы не нарушить работу типовых механизмов.
7 НачатьПомещениеФайлов — тут и асинхрон и временное хранилище и имена файлов и даже можно открыть с помощью диалога и фильтрами расширений.

С обращением к серверу
Отличия в реализации подбора будут в этом случае только в передаче данных в документ и, затем, обработки подобранных товаров в документе. Вот таким образом будет выглядеть команда передачи данных в документ из подбора:
Теперь алгоритм обработки выбора элемента формы документа «Товары» изменится следующим образом:
Этот подход требует вызова сервера при передаче данных между формами, однако, он более гибкий как с точки зрения обработки подобранных данных, так и с точки зрения производительности.
Вместо выводов
По ссылке Вы можете скачать тестовую конфигурацию с примером из статьи.
Специальные предложения
- Большие объемы данных могут передаваться некорректно. По опыту работы с управляемыми формами скажу, что очень часто возникали ошибки типа «Ошибка передачи данных», если размер таблицы был больше мегабайта.
- Если передаваемые данные требуют обработки (получение остатков товара, цен и т.д.), то все эти действия необходимо выполнять на серверной стороне. Поэтому было бы правильней в форме подбора поместить их на серверную сторону, а уже на стороне документа обработать и и поместить в объект документа.
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы