Все о программировании в 1С, шаблоны кода, полезные инструменты и сервисы, стандарты разработки и паттерны
1.98K subscribers
15 photos
2 videos
5 files
78 links
Все о программировании в 1С, шаблоны кода, полезные инструменты и сервисы, стандарты разработки и паттерны
Обратная связь, публикации: @usefultools1c_bot
Download Telegram
Все о программировании в 1С, шаблоны кода, полезные инструменты и сервисы, стандарты разработки и паттерны
https://seiokami.notion.site/1-9afab0814a04482d97b0d65736383bc3
# Расширяемый фреймворк на 1С

# Список ссылок на ресурсы

## Докладчик:

- Черненко Виталий
- [Infostart](https://infostart.ru/profile/309462/)
- [Телеграм канал Желтый Чайник 1С](https://t.iss.one/JuniorOneS)
- [GitHub](https://github.com/SeiOkami)
- [YouTube](https://www.youtube.com/@JuniorOneS)
- [LinkedIn](https://www.linkedin.com/in/seiokami/)

## Расширенный глобальный поиск:

- https://github.com/SeiOkami/AdvancedGlobalSearchOneS
- [Обзорная статья на Инфостарт](https://infostart.ru/public/1833872/?ref=1159)
- [Видео-обзор 2023](https://www.youtube.com/watch?v=0I4q8iwWpPQ)
- [Видео-обзор 2024](https://www.youtube.com/watch?v=8KJ0HJLL4hc)

## Проекты БСП

- [БСП РУ](https://github.com/SeiOkami/OneS_ssl_ru)
- [БСП EN](https://github.com/SeiOkami/OneS_ssl_eng)

## Среды разработки

- Конфигуратор
- [TurboConf](https://turboconf.ru/)
- [Снегопат](https://snegopat.ru/)
- [EDT](https://edt.1c.ru/)
- [Плагины EDT](https://github.com/marmyshev/edt-plugins)
- Visual Studio Code
- [Language 1C (BSL)](https://marketplace.visualstudio.com/items?itemName=1c-syntax.language-1c-bsl)
- [1C Metadata Viewer](https://marketplace.visualstudio.com/items?itemName=Zerobig.vscode-1c-metadata-viewer)

## Контроль качества кода

- [Проверки конфигуратора](https://v8.1c.ru/platforma/proverka-konfiguracii/)
- [Проверки EDT](https://github.com/1C-Company/v8-code-style/blob/master/docs/checks/readme.md)
- [Строгая типизация EDT](https://infostart.ru/public/2016652/?ref=1159)
- [BSL LS](https://1c-syntax.github.io/bsl-language-server/)
- [Sonar BSL LS](https://github.com/1c-syntax/sonar-bsl-plugin-community)
- [Sonar Серебряная пуля](https://checkbsl.org/)
- [1С: АПК](https://v8.1c.ru/tekhnologii/1s-avtomatizirovannaya-proverka-konfiguratsiy/)
- [Другие](https://infostart.ru/public/1949745/?ref=1159)
👍1
Недавно (?) в Телеграме появился канал, в котором автоматически публикуется информация о новых репозиториях на 1С тематику и появлении новых релизов в этих репозиториях.

https://t.iss.one/OpenYellowProject

Как можно догадаться, канал связан с проектом OpenYellow - агрегатором и рейтингом все тех же 1с-и-около-репозиториев.

Канал стал для меня отличным источником информации о новой движухе на гитхабе, и я считаю, что при его некоммерческой основе у него преступно мало подписчиков.

Например, совсем недавно Ваня Смирнов опубликовал проект по адаптации понятий C4 model на 1сный мир.

https://github.com/ivanmolodec/c4-1c-example

В последнее время я проникся C4 model, о которой можно почитать вот здесь, и рад, что и в 1С мире находятся специалисты, которые её применяют. В конце концов архитектура - это кубики, и совсем неважно, что там внизу под капотом: классы или общие модули со справочниками.

В репозитории есть примеры описания архитектуры на DSL Structurizr (тык), который на мой взгляд является довольно вербозным, но Ваня планирует вскоре добавить примеры и на моем любимом plantuml, у которого тоже есть родная поддержка C4.

Используете ли вы у себя какую-либо нотацию для описания архитектуры приложения? Хотите? А будете? :)
👍1
🤠 Коллекция кода на 1С .

✍️ Я давно складываю свои кусочки кода. То в обработки, то в текстовые файлы, а со временем и онлайн ресурсы. В какой-то момент остановился на https://fastcode.im/ - для хранения небольших методов на 1С для меня самое удобное.

😺 А в начале года сделал приватный репозиторий в GitHub, чтобы собрать какие-то полезные для себя методы в одном месте, да ещё и покрыть их unit-тестами на YaxUnit. Сейчас накопилось примерно 60 таких разработок разной степени (бес)полезности. Решил открыть доступ к проекту, вдруг кому пригодится.

🦾 Проект в формате EDT в виде двух расширений. Основное с методами и техническое с тестами на движке YaxUnit.

Некоторые разработки могут точечно отходить от ниже указанных правил, но в целом каждый метод:
Отдельный и независимый кусочек кода. Чтобы удобнее было копировать в свои инструменты и не приходилось тянуть кучу зависимостей.
Имеет страницу в issues с актуальной версией. Чтобы удобнее было искать методы без скачивания проекта. На странице вся история, комментарии, лайки, прочие ссылки и так далее.
Содержит unit-тест(ы) на YaxUnit.

Все методы, которые имеют завершенную версию, содержат тег "Опубликован". По нему стоит искать, чтобы отсечь заготовки и технические issues.
Поиск по коллекции методов можно делать по данной ссылке:
🔗 РЕЕСТР КОДА

😱 Ахтунг, некоторые стандарты разработки 1С были специально нарушены в связи с особенностями проекта, который не предполагает использование "как есть" (полное внедрение).

Подробнее можно прочитать в описании проекта
😺 КОЛЛЕКЦИЯ КОДА НА 1С

⭐️ P.S.: Если вам интересен проект, то не забудьте ему поставить "звездочку" на GitHub =)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Forwarded from Желтый клуб (Евгений Шилов)
#стандарты за 20 секунд

Этот пост об именовании метаданных: какие метаданные должны быть в единственном числе, а какие должны быть во множественном числе.

Ссылка на стандарт №550

Подробно обсуждаем 57 стандартов фирмы 1С на курсе «Чистый код на 1С». Предзапись на курс тут
👍5
Forwarded from 1С Обработки
Ошибка реорганизация индексов базы данных MS SQL «Невозможно реорганизовать индекс» на базах 1С Предприятие.

После обновления платформы 8.3.20.1674, обратил внимание что не выполняется реиндексация баз данных относящихся к 1С, в логах значится ошибка — «Невозможно реорганизовать индекс «_Acc48_1» в таблице «_Acc48″, поскольку отключена блокировка на уровне страницы.»

Как оказалось что начиная с версии платформы 8.3.22 необходимо выполнять дефрагментацию индексов по следующему алгоритму:

До дефрагментации индекса необходимо включить страничные блокировки. Пример команды: ALTER INDEX index_name ON table_name SET (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON);
Выполнить дефрагментацию.
Обратно выключить страничные блокировки. Пример команды: ALTER INDEX index_name ON table_name SET (ALLOW_PAGE_LOCKS = OFF, ALLOW_ROW_LOCKS = ON);
Исходя из этого пришлось написать скрипт выполняющий умную реорганизацию индексов базы данных с принудительным включением блокировки индекса на уровне страницы и её отключение, если блокировка была изначально выключена.

Скрипт работает по следующему принципу:

В базе данных определяются таблицы для которых необходимо включить страничные блокировки и таблицы для которых страничные блокировки уже включены.
Выполняется включение страничных блокировок для определенных таблиц.
Выполняется реорганизация индексов базы данных.
Выполняется выключение страничных блокировок для тех таблиц, для которых оно было включено.
👍3
Все о программировании в 1С, шаблоны кода, полезные инструменты и сервисы, стандарты разработки и паттерны pinned «Канал для поиска кода, обработок, расширений 1С, упрощающих работу. Оценивайте реакциями. Отправляйте полезное для публикации через бот: @usefultools1c_bot https://t.iss.one/usefultools1c»
Forwarded from quazareline
Для всех новых участников канала 🧑‍💻👨‍💻👩‍💻 - примерчик как работать с 🔥🔥🔥"Длительными операциями" в БСП
👍5
Forwarded from quazareline
ДлительныеОперации.zip
22.6 KB
Для тех, кто хочет получить больше интересной информации - присоединяйтесь к каналу "Практика не для всех"
👍4