Новая главная страница и новый раздел! https://v8std.ru/patterns/ Встречайте Паттерны на v8std
Стандарты 1С v8std
v8std.ru Автор @radio_ingvar
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
19 из 19Сегодня доделаны все стандарты с v8std Сайт в десктопе улучшен Добавлены диагностики от bslls, АПК и EDT с перекрестными ссылками на стандарты
Использование функциональных опций 🟡 Управляйте необязательной функциональностью через функциональные опции, а их значения храните в данных информационной базы. 🟡 Для контекстной доступности функциональности используйте параметризованные функциональные опции и устанавливайте параметры опций формы. 🟡 После изменения значений функциональных опций вызывайте ОбновитьИнтерфейс, чтобы командам и элементам формы применились новые ограничения. 🟡 Не перегружайте систему параметрами опций: исключайте ...
Обработчик события ОбработкаПроверкиЗаполнения 🟡 В обработчике ОбработкаПроверкиЗаполнения проверяйте корректность заполнения реквизитов шапки, табличных частей и других данных до записи. 🟡 Если проверка заполнения условная, в коде удаляйте такие реквизиты из массива ПроверяемыеРеквизиты. 🟡 Не используйте альтернативные схемы условной проверки, чтобы проверки оставались прозрачными для свойства «Проверка заполнения». 🟡 Учитывайте, что обработчик вызывается не при каждой записи; при обмене да...
Правила создания общих модулей 🟡 Общие модули создавайте для процедур и функций, объединенных по одному признаку. 🟡 При разработке общих модулей выбирайте один из четырех контекстов выполнения. 🟡 Серверные общие модули используйте для внутренней серверной бизнес-логики. 🟡 Именуйте по общим правилам именования. #std469 https://v8std.ru/std/469/
Имена объектов метаданных в конфигурациях 🟡 Именуйте объекты метаданных по общим правилам именования, без лишних технических слов в названиях. 🟡 Для ролей разделяйте схему именования: прикладные роли называйте по должности, технические — по разрешаемому действию. 🟡 Подписки на события называйте от сути действия и образуйте имя от неопределенной формы глагола. 🟡 Функциональные опции и их параметры именуйте по включаемой функциональности и смыслу параметра, а не по внутренней реализации. #std5...
Использование параметров сеанса 🟡 Используйте параметры сеанса для значений, которые нужны в рамках текущего сеанса, запросов и ограничений доступа к данным. 🟡 Не храните в параметрах сеанса значения, нужные только клиентской логике: для этого применяйте глобальные переменные приложения. 🟡 Не используйте параметры сеанса как кеш вычислений серверной бизнес-логики; выносите такие вычисления в серверные функции с повторным использованием. 🟡 Инициализируйте параметры сеанса по требованию в обра...
Ограничения на использование Выполнить и Вычислить на сервере 🟡 Не выполняйте на сервере строки кода, собранные из внешних параметров, без строгого контроля источника и содержимого. 🟡 Перед вызовом Выполнить и Вычислить на сервере включайте безопасный режим, а в сервисной модели дополнительно включайте безопасный режим разделения данных. 🟡 По возможности используйте безопасные обертки БСП вместо прямого вызова Выполнить и Вычислить. 🟡 Код, который нельзя запускать в безопасном режиме, выполн...
🔖ЧёПоСтандартам: инструкция, которую никто не читает, а потом страдает Стандарты 1С часто воспринимают как “про оформление кода”: отступы, скобки, переносы. Но в какой-то момент выясняется: в стандартах уже есть ответы на кучу типовых рабочих ситуаций, из-за которых мы спорим в ревью, ломаем архитектуру и тратим часы на “ну я так привык”. На стриме разберем: ➡️ Стандарты глазами новичка: что я думал о них в начале и почему это было наивно. ➡️ Почему в вакансиях требуют, но на собеседованиях ред...
Использование подсистем 🟡 Используйте подсистемы для двух задач: построения разделов командного интерфейса и функциональной группировки объектов метаданных. 🟡 Если интерфейсная и функциональная структуры не совпадают, создавайте отдельную иерархию функциональных подсистем без включения в командный интерфейс. 🟡 Объекты без визуального представления в интерфейсе включайте только в функциональные подсистемы. 🟡 Команды администрирования выносите в раздел «Настройка и администрирование», сохраняя...