Окрошка (программирование в 1с)
103 subscribers
12 photos
1 video
11 files
5 links
Про программирование в 1С. Делюсь опытом. Гайды и авторский контент
Download Telegram
На одном известном ресурсе сказали, что такие долгие запросы от того, что это 1с. Не уверен в их правоте, т.к. имел дело и с непосредственной работой с mssql, mysql и postgresql.
Для тех, кому интересно повторить эксперимент - расширение для 1С, которое парсит, хранит и проверяет результаты: https://github.com/oparinpv/stoloto/blob/main/РусскоеЛото.cfe
Для тех, кто хочет проверить корректность моих подсчетов и/или составить более оптимальный запрос проверки - база данных 1С с билетами, которые я спарсил: https://github.com/oparinpv/stoloto/blob/main/Билеты Столото 18.02.24.dt
Если у вас открыт модуль объекта или форма объекта - можете легко найти этот объект в окне конфигурации, нажав ctrl+t
1
ДниРожденияЗнаменитостейЗУП.epf
13 KB
Вот такая обработка у меня на выходных получилась. Отправляет уведомления о днях рождения сотрудников, перемешав их со знаменитостями, которые родились в этот день в общий чат
Если хотите такие уведомления - вам нужно:
1. Указать в модуле обработки токен бота и ид чата, в который должен писать бот.
Процедура ПеречислитьИменинников()

КлючБота = "";//Тут нужно вставить токен
ИДЧата = "";//Тут нужно вставить идентификатор чата

НаДату = ТекущаяДата();

РезультатСравненияСписков(НаДату);
ОтправитьУведомление(НаДату);

КонецПроцедуры

2. Добавить обработку в 1С:ЗУП как доп. обработку и задать расписание (каждый день в 8 утра, например)
Инфостарт - интересная площадка. Позволяет реализовать разработчикам свои амбиции и немного заработать. Если вам интересно было бы почитать об этом - напишите в комментарии к этому посту.
Немного эксклюзива в канал. Еще толком не решил продавать эту разработку или выложить за стартмани. Оба расширения имеют один функционал (о функционале в следующем посте), но одно для версий БСП 3.1.7 и ниже, другое для версий БСП 3.1.8 и выше.
По своему опыту могу сказать, что большинство задач у программистов - это:
1. Сделать так, чтобы при открытии формы объекта что-то происходило с элементами или данными объекта.
2. Сделать так, чтобы перед записью объекта что-то происходило.

Все остальные задачи тоже прекрасны, но эти 2 мне попадались больше, чем в половине задач. И поэтому появилось на свет это расширение.
С его помощью можно решить эти 2 задачи не изменяя конфигурацию. При этом, если нужно что-то будет поменять - опять же это делается в режиме предприятия и не требует обновления.

Суть такая: расширение добавляет справочник "Значения по умолчанию (ГТТ)". В элементе справочника вы можете указать объект, для которого это правило будет применено. А так же можно указать точку вызова (При создании формы, Перед записью).
Затем устанавливаем отборы (СКД отборы, т.е. возможно добавить группы и/или). Отборы указывают при каких условиях будет отрабатывать это правило.
Далее можем установить значения для объекта. Тут тоже без строчки кода. Просто выбираем поле и его значение.
А дальше уже интереснее. Можно написать запрос и/или алгоритм. Причем и запрос и алгоритм сделаны с помощью редактора кода Monaco, что обеспечивает подсветку синтаксиса и автодополнение кода.
Так, например, вы можете при создании формы любого объекта скрыть элементы с определенными условиями и/или для определенных пользователей:
Для этого пишем в алгоритме;
ФормаОбъекта.Элементы.ФизическоеЛицо.Видимость = Ложь;

Это основное предназначение расширения, но существует и много других. Вы можете сами посмотреть код или подождать от меня инструкцию по использованию этого расширения. Когда будет инструкция - сложно сказать. Будет настроение - будет и инструкция.
ЗаполнениеПолучателейДляРасчетныхЛистков.epf
8.9 KB
Оказывается в ЗУП добавили такой классный инструмент, как рассылка отчетов по email (конечно опоздали на лет 10, но не об этом) с подстановкой в отчет получателя.
Но вот получателей надо указывать руками ))
Пришлось обработку делать, которая автоматически получателей каждый месяц туда докидывает.
А ведь так логично было сделать флажок "Всем работающим сотрудникам"
Обработка простая - заполняет получателей рассылки всеми работающими.
Надо только указать наименование вашей рассылки в модуле объекта обработки, добавить ее как доп. обработку и настроить расписание (раз в месяц перед рассылкой, например)
Хорошие новости, коллеги.
Обновил версию инструмента "Значения по умолчанию" и подготовил инструкцию по использованию этого инструмента. С помощью этого инструмента можно закрывать небольшие задачи здесь и сейчас. Не нужно ждать обновление, не нужно обновляться динамически.
А если повесили ошибку - она так же легко устраняется, т.к. настраивается этот инструмент из режима предприятия.
Инструмент исключетельно для БСП версии 3.1.8 и выше.
Но если у вас версия БСП ниже - код открыт. Можете сделать под другую версию.
Не забывайте назначить роль "Чтение значений по умолчанию" всем пользователям базы.
2👍2
Как прерывать выполнение некоторых задач в 1С?
Для этого можно воспользоваться комбинацией клавиш Ctrl+Break.
А если вы работает за ноутбуком, то у вас наверняка компактная клавиатура. А на компактной клавиатуре отсутствует клавиша Break.
Для меня стало открытием, что на моем ноутбуке (Hp) клавишу Break заменяет комбинация Fn+R.
Таким образом Ctrl+Fn+R заменяет комбинацию Ctrl+Break.
Много таких комбинаций для различных ноутбуков можете найти тут (https://en.wikipedia.org/wiki/Break_key#Keyboards_without_Break_key)
👍1
Пересмотрев несколько обработок для анализа прав пользователей в конфигурациях на БСП - не нашел подходящей. Либо они долгие, либо только по одному объекту метаданных.
Этот отчёт имеет 2 варианта:
1. Профили и роли объекта.
В этом варианте мы можем выбрать несколько объектов и посмотреть какие группы пользователей имеют на него права и на основании какой роли.
2. Профили и роли пользователя.
Показывает какие есть профили и роли у пользователя.
🔥3
ВыгрузкаВнешнихОбработок.epf
9 KB
Как найти все доп. обработки, в которых используется какой-то реквизит или процедура/функция? А как подготовить все доп. обработки к выгрузке в git?
Для этого нужно сохранить доп. обработку на диск, открыть ее в конфигураторе и выгрузить в файлы. Так мы получаем xml файлы обработки и можем с помощью notepad++, например искать по содержимому файлов.
А если обработок больше 100? Для этого я сделал обработку, которая автоматизирует этот процесс.
👍5🔥1
Саму обработку надо открывать в базе, из которой выгружаем обработки, а вот строку соединения лучше использовать для пустой базы, т.к. она быстрее будет открываться и вся процедура займет меньше времени.
👍2