Минимизация количества серверных вызовов и трафика
🟡 Если массив хранится как ДанныеФормыКоллекция, форма может передать его неполностью, и платформа выполнит дополнительное дочитывание данных с сервера.
🟡 Не передавайте на сервер больше данных, чем нужно для задачи.
🟡 Если форма открывается из кода, выполняйте это за один вызов ОткрытьФорму.
🟡 Если на сервере требуется одно значение реквизита, не выполняйте контекстный вызов.
#std487
https://v8std.ru/std/487/
#std487
https://v8std.ru/std/487/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Минимизация количества серверных вызовов и трафика #std487
Контролируйте количество серверных вызовов из клиентского кода. В ряде сценариев дополнительно контролируйте объем передаваемых данных между клиентом и сервером.
1👍10🔥1
Денежные поля: требования по локализации
🟡 При использовании функции Формат, а также при задании формата в свойствах элементов формы, полей наборов СКД и т.п.
🟡 Используйте функцию, которая возвращает описание на основе определяемого типа.
🟡 Если используется БСП, не применяйте конструктор типа Число для описания типа денежного поля.
🟡 Чтобы конфигурация корректно работала в странах с низким курсом национальной валюты, увеличивайте разрядность целой части числовых полей с денежным эквивалентом.
#std778
https://v8std.ru/std/778/
#std778
https://v8std.ru/std/778/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Денежные поля: требования по локализации #std778
Чтобы конфигурация корректно работала в странах с низким курсом национальной валюты, увеличивайте разрядность целой части числовых полей с денежным эквивалентом. Примеры денежных...
1👍8
Нумерация редакций и версий
🟡 В пределах одной подредакции используйте сквозную нумерацию версий, включая альфа, ознакомительные, бета и финальные выпуски.
🟡 Каждая часть содержит минимум одну цифру и при необходимости может быть длиннее.
🟡 Новая редакция получает следующий целый номер относительно предыдущей.
🟡 Проверяйте соблюдение стандарта при доработках и перед выпуском релиза.
#std483
https://v8std.ru/std/483/
#std483
https://v8std.ru/std/483/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Нумерация редакций и версий #std483
Новая редакция получает следующий целый номер относительно предыдущей. Формат обозначения: Редакция.Подредакция (например, 1.5, 1.6). Для новой конфигурации стартовая редакция:...
1👍3
Использование модулей с повторным использованием возвращаемых значений
🟡 Если в модуле с повторным использованием экспортные функции вызывают друг друга, результат внутренних вызовов не кешируется.
🟡 Чтобы получить значение из кеша, вызывайте функцию через имя модуля явно.
🟡 Ограничение также распространяется на использование таких значений во временном хранилище.
🟡 Ограничение связано с тем, что эти значения можно использовать только в том серверном вызове, где они получены.
#std724
https://v8std.ru/std/724/
#std724
https://v8std.ru/std/724/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Использование модулей с повторным использованием возвращаемых значений #std724
Общие модули с повторным использованием возвращаемых значений (кеш) применяйте для кеширования результатов функций:
1👍8✍2❤1
Ограничение на установку признака «Вызов сервера» у общих модулей
🟡 Не устанавливайте признак Вызов сервера у всех серверных общих модулей «по умолчанию».
🟡 Серверные процедуры и функции, не предназначенные для вызова с клиента, размещайте в серверных модулях без признака Вызов сервера.
🟡 Для спорных случаев фиксируйте выбранный подход в комментариях к коду и документации.
#std679
https://v8std.ru/std/679/
#std679
https://v8std.ru/std/679/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Ограничение на установку признака «Вызов сервера» у общих модулей #std679
Не устанавливайте признак Вызов сервера у всех серверных общих модулей «по умолчанию».
1👍6
Имя, синоним, комментарий
🟡 В именах, синонимах и комментариях не используйте букву ё.
🟡 Если есть два и более схожих объекта, синонимы должны полностью различать их назначение.
🟡 Если для англоязычного термина нет общепринятого русского эквивалента, используйте оригинальный термин.
🟡 Не используйте сленг, искаженные названия, русские слова латиницей и англоязычные фразы русскими буквами.
#std474
https://v8std.ru/std/474/
#std474
https://v8std.ru/std/474/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Имя, синоним, комментарий #std474
Синоним объекта заполняйте обязательно. Он должен быть осмысленным и лаконичным, чтобы одинаково понятно отображаться в формах, отчетах и командном интерфейсе.
1👍10🔥3👌2🤡1
Регламентные задания: требования по локализации
🟡 Для предопределенных регламентных заданий не задавайте наименование в конфигураторе.
🟡 Если наименование задано вручную, будет использоваться именно оно, а оно не поддерживает локализацию.
🟡 Для непредопределенных (параметризованных) регламентных заданий наименование задавайте программно.
🟡 Если наименование не задано, платформа берет его из локализуемого синонима.
#std767
https://v8std.ru/std/767/
#std767
https://v8std.ru/std/767/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Регламентные задания: требования по локализации #std767
Для предопределенных регламентных заданий не задавайте наименование в конфигураторе. Достаточно указать синоним предопределенного регламентного задания.
1👍12
Реквизит «Комментарий» у документов
🟡 В документе Заказ клиента для фиксации договоренностей с клиентом используйте реквизит Дополнительная информация, а не служебный реквизит Комментарий.
🟡 Используйте его для служебных заметок, которые не относятся к прикладной сути документа.
🟡 В простом варианте для внешнего редактирования комментария используйте функцию ВвестиСтроку.
🟡 Для всех документов рекомендуется создавать реквизит Комментарий (строка неограниченной длины).
#std531
https://v8std.ru/std/531/
#std531
https://v8std.ru/std/531/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Реквизит «Комментарий» у документов #std531
Для всех документов рекомендуется создавать реквизит Комментарий (строка неограниченной длины).
1👍8❤2🔥2
Перенос выражений
🟡 Не переносите строки, содержащие текст сообщения пользователю (объект СообщениеПользователю).
🟡 При конкатенации строк используйте + в начале новой строки, как и в арифметических выражениях.
🟡 При конкатенации длинных строк допускается ставить + в конце строки, чтобы не ломать общее форматирование текста.
🟡 Если длина строки больше 120 символов, используйте переносы.
#std444
https://v8std.ru/std/444/
#std444
https://v8std.ru/std/444/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Перенос выражений #std444
Если длина строки больше 120 символов, используйте переносы. Строки длиннее 120 символов не оставляйте, кроме случаев, когда перенос невозможен.
1👍11🔥3❤2👎2
Ограничение на использование конструкции "ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ" в запросах
🟡 Исключение: случаи, когда запрос объективно нельзя переписать без ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ.
🟡 В таких случаях не нужно механически убирать ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ только ради самого запрета.
🟡 Поэтому в общем случае эту конструкцию использовать не рекомендуется.
🟡 Недопустимо одновременно использовать ПОЛНОЕ СОЕДИНЕНИЕ и обращение к табличным частям из раздела ВЫБРАТЬ.
#std435
https://v8std.ru/std/435/
#std435
https://v8std.ru/std/435/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Ограничение на использование конструкции "ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ" в запросах #std435
При разработке запросов учитывайте, что в клиент-серверном варианте с СУБД PostgreSQL производительность запросов с конструкцией ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ существенно снижается....
1👍5
Безопасность запуска приложений
🟡 При использовании БСП для запуска внешних программ применяйте профильный API.
🟡 При запуске внешней программы из кода собирайте командную строку только из проверенных частей.
🟡 Чтобы открыть проводник с фокусом на каталоге/файле, используйте ФайловаяСистемаКлиент.ОткрытьПроводник.
🟡 Чтобы открыть веб-страницу, вызвать программу по протоколу (mailto:, skype:, tel: и т.д.) или открыть навигационную ссылку ИБ, используйте ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку().
#std774
https://v8std.ru/std/774/
#std774
https://v8std.ru/std/774/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Безопасность запуска приложений #std774
При запуске внешней программы из кода собирайте командную строку только из проверенных частей.
1🔥12🤝4
Стандарты 1С v8std
Безопасность запуска приложений 🟡 При использовании БСП для запуска внешних программ применяйте профильный API. 🟡 При запуске внешней программы из кода собирайте командную строку только из проверенных частей. 🟡 Чтобы открыть проводник с фокусом на каталоге/файле…
Кстати и стандарт 774 и методы в БСП его поддерживающие писал я. Это был один из первых моих проектов по повышению безопасности в БСП.
А на одном из инфостартов я делал большой обзор стандартов по безопасности:
https://t.me/IngvarConsulting/63
А на одном из инфостартов я делал большой обзор стандартов по безопасности:
https://t.me/IngvarConsulting/63
Telegram
Ingvar Consulting
🔖INFOSTART TEAMLEAD & CIO EVENT в Москве 24-25 февраля.
Доклад в секции Информационная безопасность, защита данных, управление рисками
СТАНДАРТЫ V8STD СВЯЗАННЫЕ С ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТЬЮ
🟡Что такое безопасная конфигурация?
🟡Почему важно писать безопасные…
Доклад в секции Информационная безопасность, защита данных, управление рисками
СТАНДАРТЫ V8STD СВЯЗАННЫЕ С ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТЬЮ
🟡Что такое безопасная конфигурация?
🟡Почему важно писать безопасные…
1🔥14👍10❤6❤🔥5👎1🤝1
Использование активности движений
🟡 При отмене проведения документов, в которых разрешено прямое редактирование движений (ручная корректировка), активность движений нужно отключать, а не удалять сами движения.
🟡 Активность записей таких регистров должна учитываться во всех запросах и отчетах.
🟡 Активность записей регистров должна учитываться и в универсальных отчетах (или универсальной бизнес-логике), которые работают с произвольными регистрами конфигурации.
🟡 Если запрос обращается к виртуальным таблицам регистров, это условие учитывается платформой автоматически: виртуальные таблицы содержат только активные записи.
#std633
https://v8std.ru/std/633/
#std633
https://v8std.ru/std/633/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Использование активности движений #std633
Если в конфигурации используются механизмы переключения активности движений регистров (например, для ручной корректировки движений), соблюдайте следующие правила.
1👍10❤🔥5🤬1
Обработчики событий ОбработкаПолученияПредставления и ОбработкаПолученияПолейПредставления
🟡 Обработчики вызываются при любой необходимости получения представления какого-либо объекта информационной базы.
🟡 Также нежелательно использовать получение представления и реквизитов ссылок.
🟡 Представление объекта при этом запрашивается для формирования записи в журнал регистрации.
🟡 Обработчики могут быть также вызваны, в том числе, при записи и удалении объекта в режиме обмена данными.
#std746
https://v8std.ru/std/746/
#std746
https://v8std.ru/std/746/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Обработчики событий ОбработкаПолученияПредставления и ОбработкаПолученияПолейПредставления #std746
С помощью данных обработчиков модуля менеджера объекта можно переопределить представление объекта информационной базы, которое выводится в полях форм и в списках. Пример...
1🤔7👎3
Ограничения на соединения с вложенными запросами и виртуальными таблицами
🟡 В запросах не используйте соединения с вложенными запросами.
🟡 Исключение: вложенный запрос гарантированно сканирует мало записей.
🟡 Избегайте неявных подзапросов, которые появляются из-за вложенных соединений.
🟡 Если соединяются две физические таблицы, СУБД обычно может оценить их объем по статистике.
#std655
https://v8std.ru/std/655/
#std655
https://v8std.ru/std/655/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Ограничения на соединения с вложенными запросами и виртуальными таблицами #std655
В запросах не используйте соединения с вложенными запросами. Соединяйте только объекты метаданных или временные таблицы.
1🔥5
2👍22🎉9❤🔥5❤1
Использование Журнала регистрации
🟡 Не используйте выборки из журнала регистрации там, где критична высокая скорость.
🟡 Текст типа события должен быть локализуемым и задаваться на основном языке конфигурации.
🟡 Журнал регистрации хранит события, которые возникают в работе пользователей с информационной базой.
🟡 Одна запись журнала должна соответствовать одному событию.
#std498
https://v8std.ru/std/498/
#std498
https://v8std.ru/std/498/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Использование Журнала регистрации #std498
Журнал регистрации хранит события, которые возникают в работе пользователей с информационной базой.
1👍5❤🔥3