Архив рубрики: Программирование

Загрузка файла в хранилище значения на управляемых формах

Загрузка файла в хранилище значений через управляемые формы осложняется тем, что реквизит с типом Хранилище значения недоступен в данных формы. То есть работать с ним напрямую не получится. Начиная с версии 1С:Предприятие 8.3.15, доступна процедура НачатьПомещениеФайлаНаСервер(). Она позволяет с помощью диалога выбрать файл на клиенте и поместить его во Временное хранилище, чтобы потом на сервере поместить файл в Хранилище Читать далее »

Обработка длительных операций в фоновом режиме или «Как сделать кота»

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

Выпадающее меню с выбором месяца в 1С

Иногда, например в вопросах расчетов с персоналом, требуется организовать выбор не конкретной даты документа или отчета, а месяца. То есть, пользователь должен выбрать не 01.01.2020, а просто Январь 2020. При этом, выбранный пользователем месяц должен быть преобразован в нормальную дату, т.к. период регистров указывается датой — началом выбранного месяца. Организовать выбор месяца можно с помощью создания Читать далее »

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

Иногда бывает необходимо получить последние или первые строки табличных частей нескольких элементов (документов, справочников и т.п.) Проблема в том, что у разных элементов может быть разное количество строк в табличной части, поэтому получить нужную строку по номеру не получится, а использовать сортировку и ВЫБРАТЬ ПЕРВЫЕ 1 зачастую нельзя. Рассмотрим пример. В запросе, который получает данные из Читать далее »

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

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

Как открыть вторую форму внешней обработки в управляемом приложении 1С

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

УстановитьСсылкуНового() или «как узнать ссылку на объект до записи»

Многие знают, что любому объекту ссылочного типа в 1С ссылка присваивается при записи в базу данных. То есть, если объект новый, то реквизит Ссылка у него пустой. Кстати, это один из способов узнать, работает пользователь с новым, только что созданным объектом, или же открыл уже существующий. Если Ссылка = Справочники.Контрагенты.ПустаяСсылка() Тогда //Это новый контрагент Иначе //Это Читать далее »

Как удалить из строки все символы кроме букв и цифр

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

Менеджер временных таблиц в запросах 1С

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

Создание переключателей на обычных формах 1С

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