Структура модуля
🟡 Держите модуль в понятной структуре: преамбула, переменные, публичный интерфейс, обработчики, служебные методы, инициализация.
🟡 Разделы оформляйте областями и не оставляйте пустых.
🟡 Публичный интерфейс — сверху, чтобы его было видно первым.
🟡 Обработчики событий располагайте выше служебных методов и группируйте по элементам формы.
🟡 Не вызывайте обработчики напрямую из кода — оставьте их только для платформы.
🟡 Используйте заготовленные шаблоны оформления модулей
#std455
https://v8std.ru/std/455/
#std455
https://v8std.ru/std/455/
Please open Telegram to view this post
VIEW IN TELEGRAM
v8std.ru
Структура модуля - Стандарты разработки 1С
Частный взгляд Ингвара.
1👍36👌11🔥7❤3
Общие требования к конфигурации
🟡 Используйте только штатные и документированные возможности платформы.
🟡 Закладывайте работу в разных средах: СУБД, ОС, браузеры.
🟡 Исправляйте ошибки проверки конфигурации, исключения — только по стандартам.
🟡 Поддержите минимальную работу в обычном приложении для администраторов.
🟡 Не оставляйте мертвый код и мертвые метаданные.
🟡 Сортируйте метаданные по имени, а подчиненные — по проектной логике.
#std467
https://v8std.ru/std/467/
#std467
https://v8std.ru/std/467/
Please open Telegram to view this post
VIEW IN TELEGRAM
v8std.ru
Общие требования к конфигурации - Стандарты разработки 1С
Частный взгляд Ингвара.
1👍27🔥9👏5👌2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
3🔥87👍31❤11👎5👌2🤔1🐳1
Media is too big
VIEW IN TELEGRAM
2👍63🔥50❤9💯5👌3⚡1❤🔥1🤡1🐳1🎅1
Media is too big
VIEW IN TELEGRAM
4🔥71👍27❤10💯3🐳2⚡1✍1👎1👏1👌1
Ограничение на использование оператора Перейти
🟡 Перейти ухудшает читаемость и структуру кода.
🟡 Используйте Если, Иначе, Возврат, циклы — это проще и надежнее.
🟡 Код становится предсказуемым, легче отлаживать и поддерживать.
#std547
https://v8std.ru/std/547/
#std547
https://v8std.ru/std/547/
Please open Telegram to view this post
VIEW IN TELEGRAM
v8std.ru
Ограничение на использование оператора Перейти - Стандарты разработки 1С
Частный взгляд Ингвара.
🔥24👍6💩6💯5👌4🤮3⚡1🕊1🙈1
Правила создания модулей форм
🟡 В модуле формы держите только код, который работает именно в контексте этой формы.
🟡 Не делайте экспорт в форме: публичный интерфейс — в общих модулях и модулях объектов/менеджеров.
🟡 Параметры формы передавайте через ОткрытьФорму, результат — через оповещения, не через экспортные методы.
🟡 Для обновления данных формы используйте Оповестить и стандартные обработчики.
🟡 Если логика нужна и на клиенте, и на сервере — делайте одну процедуру &НаКлиентеНаСервереБезКонтекста и передавайте контекст параметром.
#std630
https://v8std.ru/std/630/
#std630
https://v8std.ru/std/630/
Please open Telegram to view this post
VIEW IN TELEGRAM
v8std.ru
Правила создания модулей форм - Стандарты разработки 1С
Частный взгляд Ингвара.
🔥27💯8❤7👍4👌4⚡1🥰1🙏1🫡1
Media is too big
VIEW IN TELEGRAM
1🔥60👍15👌9❤2🥰1👏1🕊1🥴1💯1🍾1
Структуры и таблицы значений в параметрах
🟡 Для сложных параметров делайте функцию‑конструктор: она возвращает структуру‑заготовку или пустую таблицу с типизированными колонками.
🟡 Вызывающий код только заполняет значения и передает их в основную функцию.
🟡 Имена свойств структуры должны совпадать с параметрами функции; значения по умолчанию задавайте в конструкторе.
🟡 Состав и типы параметров фиксируйте в описании (для библиотек — с перечислением свойств/колонок).
🟡 Не добавляйте новые свойства/колонки на стороне вызова — это источник скрытых ошибок.
#std641
https://v8std.ru/std/641/
#std641
https://v8std.ru/std/641/
Please open Telegram to view this post
VIEW IN TELEGRAM
v8std.ru
Структуры и таблицы значений в качестве параметров процедур и функций - Стандарты разработки 1С
Частный взгляд Ингвара.
1👍29🔥11👌5❤🔥1❤1👏1🎉1
Работа в разных часовых поясах
🟡 Операции выполняйте по времени пользователя, а не сервера.
🟡 В серверном коде используйте
🟡 Когда нужно время вне часового пояса сеанса — используйте
🟡 На клиенте не вызывайте
🟡 Не вызывайте
#std643
https://v8std.ru/std/643/
ТекущаяДатаСеанса, а не ТекущаяДата.УниверсальноеВремя.ТекущаяДата; передавайте дату с сервера или берите из документа.ТекущаяДатаСеанса несколько раз подряд — сохраните значение и используйте его.#std643
https://v8std.ru/std/643/
Please open Telegram to view this post
VIEW IN TELEGRAM
v8std.ru
Работа в разных часовых поясах - Стандарты разработки 1С
Частный взгляд Ингвара.
🔥31👍17👌4⚡1👎1🥰1💯1🏆1👨💻1
Имена процедур и функций
🟡 Имена берите из предметной области — они должны объяснять назначение без комментариев.
🟡 Пишите слитно, каждое слово с заглавной буквы; предлоги тоже с заглавной.
🟡 Не включайте типы в названия, если это не критично для смысла.
🟡 Процедуры называйте глаголом: ЗагрузитьКонтрагента.
🟡 Функции называйте по результату: ПолноеИмя, ДатаНачалаСеанса.
🟡 Если функция создает объект — используйте Новый....
🟡 Функции‑проверки называйте Это... или причастием.
#std647
https://v8std.ru/std/647/
#std647
https://v8std.ru/std/647/
Please open Telegram to view this post
VIEW IN TELEGRAM
v8std.ru
Имена процедур и функций - Стандарты разработки 1С
Частный взгляд Ингвара.
🔥24❤11👍8👏4👌2⚡1🥰1🕊1💯1
Обращения к виртуальным таблицам
🟡 Все условия, относящиеся к виртуальной таблице, передавайте в ее параметры, а не в ГДЕ.
🟡 Так СУБД быстрее выберет план и не обработает лишние записи.
🟡 В параметрах используйте простые условия вида Измерение = Значение.
🟡 Подзапросы и соединения в параметрах — только в исключениях и по строгим правилам.
🟡 Если условий с подзапросами много — оставьте одно самое фильтрующее, остальные перенесите наружу или используйте временную таблицу.
#std657
https://v8std.ru/std/657/
#std657
https://v8std.ru/std/657/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😱3👏2❤🔥1⚡1🥰1🎉1👌1🕊1💯1