Архив метки: Приемы программирования

Расшифровка одного отчета на СКД с помощью другого

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

Как отменить проверку заполнения реквизита в расширении

Иногда бывает необходимо позволить пользователям оставлять пустыми реквизиты каких-либо объектов, несмотря на то, что разработчики типовых конфигураций отметили эти реквизиты как обязательные к заполнению. Отключить возможность проверки заполненности реквизита можно двумя способами: Установить для свойства реквизита Проверка заполнения значение Не проверять. Изменить перечень проверяемых реквизитов программно в процедуре ОбработкаПроверкиЗаполнения в модуле объекта. Если отключить проверку, не снимая конфигурацию… Читать далее »

Работа с SFTP в 1С:Предприятие

SFTP, протокол передачи файлов по SSH, или безопасный протокол передачи файлов, — это отдельный протокол, поддерживающий SSH, который работает схожим образом, но использует защищенное подключение. Его преимуществом является возможность использования защищенного подключения для передачи файлов и просмотра файловой системы как на локальной, так и на удаленной системе. К сожалению, по состоянию на июль 2022 года… Читать далее »

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

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

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

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

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

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

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

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

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

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

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

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

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

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