Стандарты 1С v8std
2.48K subscribers
22 photos
6 videos
1 file
125 links
Download Telegram
Минимизация количества серверных вызовов и трафика

🟡 Если массив хранится как ДанныеФормыКоллекция, форма может передать его неполностью, и платформа выполнит дополнительное дочитывание данных с сервера.

🟡 Не передавайте на сервер больше данных, чем нужно для задачи.

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

🟡 Если на сервере требуется одно значение реквизита, не выполняйте контекстный вызов.

#std487
https://v8std.ru/std/487/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍10🔥1
Денежные поля: требования по локализации

🟡 При использовании функции Формат, а также при задании формата в свойствах элементов формы, полей наборов СКД и т.п.

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

🟡 Если используется БСП, не применяйте конструктор типа Число для описания типа денежного поля.

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

#std778
https://v8std.ru/std/778/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍8
Нумерация редакций и версий

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

🟡 Каждая часть содержит минимум одну цифру и при необходимости может быть длиннее.

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

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

#std483
https://v8std.ru/std/483/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍3
Использование модулей с повторным использованием возвращаемых значений

🟡 Если в модуле с повторным использованием экспортные функции вызывают друг друга, результат внутренних вызовов не кешируется.

🟡 Чтобы получить значение из кеша, вызывайте функцию через имя модуля явно.

🟡 Ограничение также распространяется на использование таких значений во временном хранилище.

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

#std724
https://v8std.ru/std/724/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍821
Ограничение на установку признака «Вызов сервера» у общих модулей

🟡 Не устанавливайте признак Вызов сервера у всех серверных общих модулей «по умолчанию».

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

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

#std679
https://v8std.ru/std/679/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍6
Имя, синоним, комментарий

🟡 В именах, синонимах и комментариях не используйте букву ё.

🟡 Если есть два и более схожих объекта, синонимы должны полностью различать их назначение.

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

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

#std474
https://v8std.ru/std/474/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍10🔥3👌2🤡1
Регламентные задания: требования по локализации

🟡 Для предопределенных регламентных заданий не задавайте наименование в конфигураторе.

🟡 Если наименование задано вручную, будет использоваться именно оно, а оно не поддерживает локализацию.

🟡 Для непредопределенных (параметризованных) регламентных заданий наименование задавайте программно.

🟡 Если наименование не задано, платформа берет его из локализуемого синонима.

#std767
https://v8std.ru/std/767/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍12
Реквизит «Комментарий» у документов

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

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

🟡 В простом варианте для внешнего редактирования комментария используйте функцию ВвестиСтроку.

🟡 Для всех документов рекомендуется создавать реквизит Комментарий (строка неограниченной длины).

#std531
https://v8std.ru/std/531/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍82🔥2
Перенос выражений

🟡 Не переносите строки, содержащие текст сообщения пользователю (объект СообщениеПользователю).

🟡 При конкатенации строк используйте + в начале новой строки, как и в арифметических выражениях.

🟡 При конкатенации длинных строк допускается ставить + в конце строки, чтобы не ломать общее форматирование текста.

🟡 Если длина строки больше 120 символов, используйте переносы.

#std444
https://v8std.ru/std/444/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍11🔥32👎2
Ограничение на использование конструкции "ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ" в запросах

🟡 Исключение: случаи, когда запрос объективно нельзя переписать без ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ.

🟡 В таких случаях не нужно механически убирать ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ только ради самого запрета.

🟡 Поэтому в общем случае эту конструкцию использовать не рекомендуется.

🟡 Недопустимо одновременно использовать ПОЛНОЕ СОЕДИНЕНИЕ и обращение к табличным частям из раздела ВЫБРАТЬ.

#std435
https://v8std.ru/std/435/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5
Безопасность запуска приложений

🟡 При использовании БСП для запуска внешних программ применяйте профильный API.

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

🟡 Чтобы открыть проводник с фокусом на каталоге/файле, используйте ФайловаяСистемаКлиент.ОткрытьПроводник.

🟡 Чтобы открыть веб-страницу, вызвать программу по протоколу (mailto:, skype:, tel: и т.д.) или открыть навигационную ссылку ИБ, используйте ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку().

#std774
https://v8std.ru/std/774/
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥12🤝4
Использование активности движений

🟡 При отмене проведения документов, в которых разрешено прямое редактирование движений (ручная корректировка), активность движений нужно отключать, а не удалять сами движения.

🟡 Активность записей таких регистров должна учитываться во всех запросах и отчетах.

🟡 Активность записей регистров должна учитываться и в универсальных отчетах (или универсальной бизнес-логике), которые работают с произвольными регистрами конфигурации.

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

#std633
https://v8std.ru/std/633/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍10❤‍🔥5🤬1
Обработчики событий ОбработкаПолученияПредставления и ОбработкаПолученияПолейПредставления

🟡 Обработчики вызываются при любой необходимости получения представления какого-либо объекта информационной базы.

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

🟡 Представление объекта при этом запрашивается для формирования записи в журнал регистрации.

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

#std746
https://v8std.ru/std/746/
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤔7👎3
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤣3🔥2
Ограничения на соединения с вложенными запросами и виртуальными таблицами

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

🟡 Исключение: вложенный запрос гарантированно сканирует мало записей.

🟡 Избегайте неявных подзапросов, которые появляются из-за вложенных соединений.

🟡 Если соединяются две физические таблицы, СУБД обычно может оценить их объем по статистике.

#std655
https://v8std.ru/std/655/
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥5
С нового года уже более 90000 раз вы читали сайт v8sd.ru

19400 человек, скоро доведем до 20000?

Интересно что в выходные мы любим не работать и не учить стандарты!

Ну а самыми популярными оказались статьи:
1) про MCP от v8std.ru
2) про язык разработки 1С
3) про паттерны
2👍22🎉9❤‍🔥51
Использование Журнала регистрации

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

🟡 Текст типа события должен быть локализуемым и задаваться на основном языке конфигурации.

🟡 Журнал регистрации хранит события, которые возникают в работе пользователей с информационной базой.

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

#std498
https://v8std.ru/std/498/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5❤‍🔥3