FAQ. Часто используемые конструкции при программировании в 1С

FAQ

FAQ

Как в 1C 8.3, 1С 8.2 работать с регистром сведений. Регистры сведений 1C 8.3, 1С 8.2.

Как работать с таблицей значений 1С 8.3, 1С 8.2 Таблица значений 1С 8.3, 8.2 Примеры для разработчика 1С

 

Замер производительности

Для более точных замеров — с версии платформы можно использовать метод ГК

или

или

или

Проверка значения на вхождение в некоторый интервал

Разбиение строки на левую и правую часть

Строка в массив

Преобразование табличного документа в таблицу значений (перебор)

Загрузка файлов Excel

или весь лист Excel сразу в память

Выгрузить Excel или прекратить работу приложения

Закрыть окно служебных сообщений

Строку в многострочную часть

или

Парсить дату в строке

Определить дату из строки с пробелами

Получить из перечисления

Закрыть приложение (kill)

Пинг

Быстрое описание типов

 

Свернуть заголовки табличной части

Преобразование табличного документа в таблицу значений

 Поиск объекта по идентификатору

Разрешение пользователям редактировать отдельные реквизиты документа без перепроведения или просто одни реквизиты разрешать, а другие запрещать.

Иногда необходимо разрешить редактирование некоторых реквизитов документа без перепроведения. Например: Комментарий, АдресКонтрагента, КонтактноеЛицо. Ещё бывает необходимым разрешить изменение отдельных реквизитов в закрытых документах. Например, поставить отметку о состоянии доставки и написать комментарий.

В модуле менеджера документа пишем функцию, которая определяет массив допустимых к редактированию реквизитов

В модуле ОбщегоНазначения пишем функции общие для всех документов.

В модуле документа ПредЗаписью разрешаем запись без пререпроведения в случае, если были изменены только реквизиты, не вызывающие перепроведение.

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

Пример:

Скажете, что можно написать Контрагент.Наименование проще, чем обращаться к функции, но не многие знают, что обращение через точку считывает значение всех реквизитов объекта, что не производительно для объектов с реквизитами типа ХранилищеЗначения например.

Проверяет наличие ссылок на объект в базе данных

Пример:

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

Позволяет определить, есть ли среди реквизитов объекта реквизит с переданным именем

Пример:

Получает файл из Интернета по протоколу http(s), либо ftp и сохраняет его по указанному пути на сервере.

Проверяет, является ли текущий или указанный пользователь полноправным.

Пример:

Получает номер документа для вывода на печать; из номера удаляются префиксы и лидирующие нули

Пример:

Полезно для тех кто делает дополнительные печатные формы.

Возвращает курс валюты на дату.

Пример:

Подставляет параметры в строку. Максимально возможное число параметров — 9.

Очень полезная функция, номер параметра задается знаком процента, пример:

Советую более подробно посмотреть все функции модуля СтроковыеФункцииКлиентСервер.

Открывает Проводник Windows и выделяет указанный файл.
пример: «»С:\Temp\report.txt»

Запускает выполнение процедуры в фоновом задании

Будет полезно для операций длительных по времени, запустили и дали возможность пользователю работать дальше.

Для отображения состояния на клиенте существует метод:

Функции для работы со строками

 

Склонение должности и ФИО

 

Фрагмент программного кода :

или

Число прописью

Работа с массивом

Выборка из регистра и исправление записи

Очистить документы

Получить ссылку

СКД пронумеровать группировку

Необходимо в настройках добавить системное поле «Номер по порядку» и для групп тоже (см. пример на картинке). И так для каждой группировки которую необходимо нумеровать.

СКД свернуть

Разность между датами

Исправление циклической ссылки

Сервис — Проверка наличия ошибок

Выгрузить результат запроса в табличную часть

Увеличить дату на день вперед

или

Прибавить год

В запросе добавить к дате

Прочесть параметр из СКД и изменить другой параметр

Удалить повторяющиеся записи из массива

Выделить дату из даты времени

Организация выпадающего списка

Форматирование на печать

 

Изменение видимости состава панели функций текущего раздела

Элемент метаданных — ПКМ — Дополнительно — Командный интерфейс — Отключение для роли

Отбор в форме списка

Аналог ЭтоНовый() в управляемом приложении

Переключение на КонсольЗапросов

Переключение на КонсольЗапросов

В запросе с предложениями РАЗЛИЧНЫЕ или ОБЪЕДИНИТЬ нельзя использовать поля неограниченной длины 

Удаление записей в независимом регистре сведений

Настройка начальной страницы

1

 

Свернуть табличную часть

Порядок в общих модулях

Вообще идеология должна быть следующая:
— если модулю установлен флаг «клиент (управляемое приложение)» — в нем должны находиться только процедуры, выполняемые на клиенте, никакие директивы перед процедурами не нужны;
— если стоит флга «Сервер» — то соответственно только серверные процедуры;
— если стоит флаг «ВызовСервера» и «Сервер», то данные процедуры и функции (экспортные) можно вызывать с клиента;
— если стоит флаг «Клиент» и «Сервер», то должны быть процедуры, у которых не важно откуда будет вызываться — с клиента или с сервера, в таких процедурах нельзя использовать особенности серверного контекста (использовать запросы) и тд. то есть например процедуры работы со строками и подобные;

Добавить колонки в ТаблицаЗначений