Стандарты 1С v8std – Telegram
Стандарты 1С v8std
1.87K subscribers
10 photos
4 videos
36 links
Download Telegram
Промаркировал посты #std<номер стандарта>

Например тег помогает найти стандарт по номеру #std726
• В телеграм
• На ИТС
• На v8std.ru

Я уверен, что введение такого стандарта маркировки поможет всем быстро находить статьи о стандартах.

Используйте ее в своих обсуждениях или постах.
5🔥22🤝9👏5👍321
Оформление текстов запросов

🟡Ключевые слова запросов пишите заглавными, сами запросы — только структурированно, не в одну строку.

🟡Явно задавайте псевдонимы полям и используйте КАК, особенно для полей с вложенными реквизитами.

🟡В сложных запросах добавляйте комментарии, но помните: конструктор запросов их удаляет.

🟡При программной сборке запроса документируйте этапы и оставляйте части, которые открываются в конструкторе.

🟡Даны типовые примеры «Неправильно/Правильно» для замены полей, временных таблиц и пакетных запросов.

#std437
https://v8std.ru/std/437/
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥124👌4
Приготовил челлендж по изучению стандартов:

https://news.1rj.ru/str/v8std

3 раза в неделю в пн, ср и пт выходит новый стандарт: три раза в неделю - найди время чтобы прочитать и выучить!

Справишься месяц? А два?
1🔥50🤝16👍12❤‍🔥2👌2🫡21😱1
Проверка на пустой результат выполнения запроса

🟡Когда нужно только проверить наличие строк, используйте Пустой() — это быстрее, чем выгружать результат.

🟡Не вызывайте Пустой(), если дальше все равно будете выбирать/выгружать данные — это лишний вызов.

#std438
https://v8std.ru/std/438/
Please open Telegram to view this post
VIEW IN TELEGRAM
135👍23💯13👌7🤝7🤔1
Описание процедур и функций

🟡Пишите комментарии к процедурам и функциям — их видят в подсказках и в EDT.

🟡Экспортные методы документируйте обязательно, внутренние — только если есть нюансы.

🟡Описание должно объяснять назначение, а не повторять имя.

🟡Структура комментария: Описание → Параметры → Возвращаемое значение → Пример.


// Проверяет доступность ролей для текущего пользователя.
//
// Параметры:
// ИменаРолей - Строка - имена ролей через запятую.
//
// Возвращаемое значение:
// Булево - Истина, если доступна хотя бы одна роль.
//
Функция РолиДоступны(ИменаРолей) Экспорт


#std453
https://v8std.ru/std/453/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍40🔥187👌1
Правила образования имен переменных

🟡Имя берите из предметной области — сразу понятно назначение.

🟡Пишите слитно, каждое слово с заглавной буквы; предлоги и местоимения тоже с заглавной.

🟡Не начинайте имя с подчеркивания.

🟡Не используйте имена из одного символа (кроме счетчиков цикла).

🟡Булевы переменные называйте по истинному смыслу: ЕстьОшибки, ЭтоТоварТара.

#std454
https://v8std.ru/std/454/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍33🔥138👌1
Структура модуля

🟡Держите модуль в понятной структуре: преамбула, переменные, публичный интерфейс, обработчики, служебные методы, инициализация.

🟡Разделы оформляйте областями и не оставляйте пустых.

🟡Публичный интерфейс — сверху, чтобы его было видно первым.

🟡Обработчики событий располагайте выше служебных методов и группируйте по элементам формы.

🟡Не вызывайте обработчики напрямую из кода — оставьте их только для платформы.

🟡Используйте заготовленные шаблоны оформления модулей

#std455
https://v8std.ru/std/455/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍36👌11🔥73
Общие требования к конфигурации

🟡Используйте только штатные и документированные возможности платформы.

🟡Закладывайте работу в разных средах: СУБД, ОС, браузеры.

🟡Исправляйте ошибки проверки конфигурации, исключения — только по стандартам.

🟡Поддержите минимальную работу в обычном приложении для администраторов.

🟡Не оставляйте мертвый код и мертвые метаданные.

🟡Сортируйте метаданные по имени, а подчиненные — по проектной логике.

#std467
https://v8std.ru/std/467/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍27🔥9👏5👌21
Media is too big
VIEW IN TELEGRAM
#std454 #v8std

Правила образования имен переменных
https://v8std.ru/std/454
2👍63🔥509💯5👌31❤‍🔥1🤡1🐳1🎅1
Media is too big
VIEW IN TELEGRAM
#std640 #v8std

Параметры процедур и функций
https://v8std.ru/std/640
4🔥71👍2710💯3🐳211👎1👏1👌1
Ограничение на использование оператора Перейти

🟡Перейти ухудшает читаемость и структуру кода.

🟡Используйте Если, Иначе, Возврат, циклы — это проще и надежнее.

🟡Код становится предсказуемым, легче отлаживать и поддерживать.

#std547
https://v8std.ru/std/547/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍6💩6💯5👌4🤮31🕊1🙈1
Правила создания модулей форм

🟡В модуле формы держите только код, который работает именно в контексте этой формы.

🟡Не делайте экспорт в форме: публичный интерфейс — в общих модулях и модулях объектов/менеджеров.

🟡Параметры формы передавайте через ОткрытьФорму, результат — через оповещения, не через экспортные методы.

🟡Для обновления данных формы используйте Оповестить и стандартные обработчики.

🟡Если логика нужна и на клиенте, и на сервере — делайте одну процедуру &НаКлиентеНаСервереБезКонтекста и передавайте контекст параметром.

#std630
https://v8std.ru/std/630/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27💯87👍4👌41🥰1🙏1🫡1
Media is too big
VIEW IN TELEGRAM
#std454 #v8std

Правила образования имен переменных
https://v8std.ru/std/454/
1🔥60👍15👌92🥰1👏1🕊1🥴1💯1🍾1
Структуры и таблицы значений в параметрах

🟡Для сложных параметров делайте функцию‑конструктор: она возвращает структуру‑заготовку или пустую таблицу с типизированными колонками.

🟡Вызывающий код только заполняет значения и передает их в основную функцию.

🟡Имена свойств структуры должны совпадать с параметрами функции; значения по умолчанию задавайте в конструкторе.

🟡Состав и типы параметров фиксируйте в описании (для библиотек — с перечислением свойств/колонок).

🟡Не добавляйте новые свойства/колонки на стороне вызова — это источник скрытых ошибок.

#std641
https://v8std.ru/std/641/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍29🔥11👌5❤‍🔥11👏1🎉1
Работа в разных часовых поясах

🟡Операции выполняйте по времени пользователя, а не сервера.

🟡В серверном коде используйте ТекущаяДатаСеанса, а не ТекущаяДата.

🟡Когда нужно время вне часового пояса сеанса — используйте УниверсальноеВремя.

🟡На клиенте не вызывайте ТекущаяДата; передавайте дату с сервера или берите из документа.

🟡Не вызывайте ТекущаяДатаСеанса несколько раз подряд — сохраните значение и используйте его.

#std643
https://v8std.ru/std/643/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍17👌41👎1🥰1💯1🏆1👨‍💻1
Имена процедур и функций

🟡Имена берите из предметной области — они должны объяснять назначение без комментариев.

🟡Пишите слитно, каждое слово с заглавной буквы; предлоги тоже с заглавной.

🟡Не включайте типы в названия, если это не критично для смысла.

🟡Процедуры называйте глаголом: ЗагрузитьКонтрагента.

🟡Функции называйте по результату: ПолноеИмя, ДатаНачалаСеанса.

🟡Если функция создает объект — используйте Новый....

🟡Функции‑проверки называйте Это... или причастием.

#std647
https://v8std.ru/std/647/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2411👍8👏4👌21🥰1🕊1💯1
Обращения к виртуальным таблицам

🟡Все условия, относящиеся к виртуальной таблице, передавайте в ее параметры, а не в ГДЕ.

🟡Так СУБД быстрее выберет план и не обработает лишние записи.

🟡В параметрах используйте простые условия вида Измерение = Значение.

🟡Подзапросы и соединения в параметрах — только в исключениях и по строгим правилам.

🟡Если условий с подзапросами много — оставьте одно самое фильтрующее, остальные перенесите наружу или используйте временную таблицу.

#std657
https://v8std.ru/std/657/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😱3👏2❤‍🔥11🥰1🎉1👌1🕊1💯1