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

 

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

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

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

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

Смена пароля на Postgres SQL

Находим файл pg_hba.conf в папке:

c:\Program Files\PostgreSQL\9.2.4-1.1C\data\

Находим в нем секцию:

# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
Меняем md5 на trust.

Удаляем файл pgpass.conf

В Windows этот файл находится в: c:\Users\Administrator\AppData\Roaming\postgresql\

Здесь хранится старый пароль от PostgreSQL.

Меняем пароль в pgAdmin

Запускаем pgAdmin и нам предлагается ввести пароль. Если отметить галочку сохранить, то пароль будет сохранен в  pgpass.conf и больше программой запрашиваться не будет.

Чтобы обеспечить безопасность использования паролей необходимо вернуть алгоритм шифрования md5. Для этого в файле pg_hba.conf параметр trust обратно меняем на md5.

Для подключения на локальном компьютере к PostgreSQL с помощью psql, pg_dump в локальных адресах  IPv4 127.0.0.1/32 и IPv6 ::1/128 значение trust нужно оставить.

Добавить таблицу в виде параметра

 

Как обойти список кнопок командной панели формы

Работа с MS WORD

Проверка дублей (запрос)

 

Проверка невхождения (запрос)

 

Количество записей в результате запроса

 

Как убрать Таблица из печатной формы

Установка HP Universal Printing принтер

устанавливаем принтер, как локальный,
выбираем в качестве порта local port (в качестве имени порта указываем сетевой путь до принтера (\\comp\HP Laser Jet P2015…) такой, каким он видится в сетевом окружении той сетевой машины, выбираем драйвер из списка нашей машины, работаем.

Пустая дата в запросе

Удаление незаполненных значений из запроса

Смена заголовка поля

Установить новые связи параметров выбора

ОЧИСТКА СПРАВОЧНИКА

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

Еще один прием, который очень часто работает с САО, знающими команды. Видите, кобель не в себе — командуйте «сидеть», «лежать», «стоять», можно две любые команды на выбор. Упал-отжался, короче:) Обычно это хорошо прочищает мозг и отвлекает собаку от намерения порвать любимого хозяина.

Определение имени файла из полного пути

Порядок полей СКД при группировке. Как изменить порядок полей в группировке СКД 1с?

На вкладке «Выбранные поля» добавляем поля группировки в нужном порядке перемещаем.

Прочитать массив структур

Работа с записью документа в транзакции

Разбить массив на части

Таблица значений как параметр запроса

Выгрузить результат запроса в СписокЗначений

Строку в массив, массив свернуть, массив убрать лишние значения

В расширении добавить владельца

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

Галки в общих модулях

Глобальный — если флаг установлен, функции и процедуры из этого модуля становятся доступны в глобальном контексте. Т.е. их можно вызвать в любом месте конфигурации, обращаясь без названия общего модуля. Однако добавляется условие — название процедур и функций в этом общем модуле должны быть уникальны в рамках глобального контекста.
Сервер — процедуры и функции данного общего модуля могут быть выполнены на сервере.
Внешнее соединение — программные коды данного общего модуля могут быть выполнены при подключении внешним источником (например, COM).
Клиент (управляемое приложение) — процедуры и функции данного общего модуля могут быть использованы в толстом клиенте в режиме управляемого приложения.
Клиент (обычное приложение) — программные коды данного общего модуля могут быть использованы в толстом клиенте в режиме обычного приложения.
Вызов сервера — флаг, разрешающий на клиенте использовать процедуры и функции из этого общего модуля.
Привилегированный — если установлена Истина, в этом общем модуле будет отключена проверка прав доступа.
Повторное использование — определяет настройки возвращаемых значений, если опция включена, то после первого выполнения система запомнит значение для данных входных параметров и будет возвращать уже готовое значение. Может принимать следующие значения: не используется — отключение, на время вызова — на время выполнения определенной процедуры, на время сеанса — пока пользователь не закрыл сеанс (программу).