TGViewer
Channel Public Channel
Стандарты 1С v8std

Стандарты 1С v8std

@v8std

v8std.ru

Автор @radio_ingvar
Subscribers
2.58K
Photos
22
Videos
6
Links
150

Showing posts older than #110 · Back to latest

Older Posts 20 shown
Post #109 1.93K
Проверка прав доступа

🟡 Если роль не дает прав на объекты метаданных и служит только маркером дополнительного права, используйте РольДоступна.

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

🟡 Такой подход повышает устойчивость кода к пересмотру состава ролей.

#std737
https://v8std.ru/std/737/
Стандарты разработки 1С Проверка прав доступа #std737 Если в конфигурации много ролей (от нескольких десятков), не используйте ролевую настройку видимости в элементах форм:
  • 🔥 8
  • 👍 6
  • 💯 3
  • ❤ 1
Post #108 2.01K
Обработчик события ОбработкаЗаполнения

🟡 Если нужно ограничить ввод по команде Создать на основании, выполняйте проверку в обработчике ОбработкаЗаполнения модуля объекта (или набора записей).

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

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

🟡 Сначала выполняйте специальное заполнение в зависимости от типа ДанныеЗаполнения.

#std396
https://v8std.ru/std/396/
Стандарты разработки 1С Обработчик события ОбработкаЗаполнения #std396 Если нужно ограничить ввод по команде Создать на основании, выполняйте проверку в обработчике ОбработкаЗаполнения модуля объекта (или набора записей).
  • 👍 15
  • ❤ 1
Post #107 3.57K
Использование управляемого режима блокировки

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

🟡 Они связаны с особенностями механизмов блокировок в самой СУБД и с тем, что СУБД не учитывает физический смысл и структуру объектов метаданных 1С:Предприятия.

🟡 Одновременно могут возникать избыточные блокировки на уровне СУБД.

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

#std460
https://v8std.ru/std/460/
Стандарты разработки 1С Использование управляемого режима блокировки #std460 В конфигурациях следует использовать управляемый режим блокировок (свойство конфигурации Режим управления блокировкой данных устанавливается в значение Управляемый) и учитывать его...
  • ❤‍🔥 8
  • 🔥 5
  • 👍 4
Post #106 2.07K
Упорядочивание результатов запроса

🟡 Если алгоритм обработки зависит от порядка записей или результат показывается пользователю, в тексте запроса следует использовать УПОРЯДОЧИТЬ ПО.

🟡 Если используется РАЗЛИЧНЫЕ, сортируйте только по полям, включенным в ВЫБРАТЬ.

🟡 В остальных случаях АВТОУПОРЯДОЧИВАНИЕ также не рекомендуется, так как разработчик не контролирует поля сортировки.

🟡 Причины использования АВТОУПОРЯДОЧИВАНИЕ нужно указывать в комментарии непосредственно перед текстом запроса.

#std412
https://v8std.ru/std/412/
Стандарты разработки 1С Упорядочивание результатов запроса #std412 Если алгоритм обработки зависит от порядка записей или результат показывается пользователю, в тексте запроса следует использовать УПОРЯДОЧИТЬ ПО.
  • 👍 15
  • 🔥 3
Post #105 2.21K
Обеспечение совместимости библиотек

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

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

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

🟡 Если интерфейс и служебная реализация разнесены по разным модулям, для служебного модуля используйте постфикс Служебный (Internal).

#std644
https://v8std.ru/std/644/
Стандарты разработки 1С Обеспечение совместимости библиотек #std644 При разработке библиотек обеспечивайте обратную совместимость между версиями в пределах одной #std483: подредакции.
  • 👍 11
  • 🔥 1
Post #104 1.75K

Forwarded from Игорь Апресов | Radio Ingvar

Обратите внимание на проект

https://github.com/itrous/bsl-analyzer

Это LSP сервер по мотивам BSL LS написанный на расте, по примеру rust-analyzer.

Конфиг BSL LS зачитыаается для обратной совместимости.

Под капотом MCP CLI и LSP сразу.

Еще есть HIR, Salsa, cfg и dfg при этом: AST представляется в универсальном формате и динамически пересчитывается вместе с гарафами потока управления и потока данных при редактировании кода.

На УТ:
2.6x быстрее
2.9x меньше памяти

Работает только с форматом xml конфигуратора.

Самое время ковырять!
GitHub GitHub - itrous/bsl-analyzer: Анализатор кода BSL (1С:Предприятие) с поддержкой LSP. Написан на Rust. Анализатор кода BSL (1С:Предприятие) с поддержкой LSP. Написан на Rust. - itrous/bsl-analyzer
  • 👍 15
  • 🔥 7
  • ❤ 3
  • 👎 2
Post #103 1.8K
Требования к установке и обновлению прикладных решений

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

🟡 В строке Catalog файла-манифеста, в наименование шаблона конфигурации (часть значения до символа «/») следует включать в явном виде название разработчика.

#std731
https://v8std.ru/std/731/
Стандарты разработки 1С Требования к установке и обновлению прикладных решений #std731 Подготовка дистрибутивов установки и обновления прикладных решений (конфигураций) системы 1С:Предприятие 8 должна выполняться в соответствии с рекомендациями, изложенными в главе...
  • 🔥 8
  • ❤ 4
  • 👍 3
Post #102 2.44K
Использование реквизитов строкового типа

🟡 Для реквизитов строкового типа используйте переменную длину строки: Допустимая длина = Переменная.

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

#std432
https://v8std.ru/std/432/
Стандарты разработки 1С Использование реквизитов строкового типа #std432 Для реквизитов строкового типа используйте переменную длину строки: Допустимая длина = Переменная.
  • 🤔 9
  • 🔥 2
Post #101 2.38K
Подсказка и проверка заполнения

🟡 Для документа Заказ клиента реквизит Клиент и табличная часть Товары должны быть обязательными.

🟡 Если хотя бы один сценарий требует обязательного заполнения, ставьте Проверка заполнения = Выдавать ошибку.

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

🟡 Для типизированных объектов метаданных, стандартных реквизитов и табличных частей, которые обязательны по логике объекта, устанавливайте свойство Проверка заполнения = Выдавать ошибку.

#std478
https://v8std.ru/std/478/
Стандарты разработки 1С Подсказка и проверка заполнения #std478 Свойство Подсказка задавайте только для тех реквизитов и объектов, которые пользователь видит в интерфейсе и для которых действительно нужно пояснение.
  • 🔥 5
Post #100 2.35K
Уточнение сущности объекта метаданных

🟡 Для уточнения сущности объекта используйте отдельные реквизиты, которые явно задают вид или состояние.

🟡 В справочнике Организации использовать только реквизит ГоловнаяОрганизация и по его заполненности определять вид организации: «обычная» или обособленное подразделение.

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

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

#std541
https://v8std.ru/std/541/
Стандарты разработки 1С Уточнение сущности объекта метаданных #std541 Используйте разные типы объектов метаданных для разных сущностей. Например, сущность «организация» описывайте справочником Организации, а сущность «подразделение» - отдельным...
  • 👍 5
  • ❤ 1
  • 🥰 1
  • 😁 1
Post #99 1.93K
Дополнительные индексы

🟡 Не понятно зачем нужен этот пункт "подстилка", ведь для того чтобы не исполнить стандарт разрешение стандарта не нужно :).

🟡 Для таблиц до 1 млн записей должно работать быстро без доп.

🟡 Не делайте несколько веток кода в зависимости от использования доп.

🟡 Для больших таблиц - производительность должна гарантироваться доп.

#std791
https://v8std.ru/std/791/
Стандарты разработки 1С Дополнительные индексы #std791 Дополнительный индекс – это индекс сразу по нескольким полям объекта метаданных.
  • 👍 5
  • ❤ 2
  • 😁 1
  • 🤮 1
  • 👌 1
  • 🤣 1
Post #98 2.32K
Разработка ролей в библиотеках

🟡 В большинстве случаев библиотека должна поставлять готовый набор ролей для работы со своими данными (справочники, регистры и т.п.).

🟡 В ролях допустимо задавать не только права к объектам, но и ограничения доступа на уровне записей (RLS).

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

#std668
https://v8std.ru/std/668/
Стандарты разработки 1С Разработка ролей в библиотеках #std668 При проектировании ролей в библиотеках придерживайтесь общего подхода к границам функциональности библиотеки:
  • 👍 13
  • 👌 2
Post #97 2.5K
Режим разделения итогов для регистров накопления

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

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

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

#std664
https://v8std.ru/std/664/
Стандарты разработки 1С Режим разделения итогов для регистров накопления #std664 При проектировании регистра накопления учитывайте, что остатки по одному набору измерений хранятся в одном ресурсе.
  • 👌 3
Post #96 2.12K
Несоответствие индексов и условий запроса

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

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

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

#std652
https://v8std.ru/std/652/
Стандарты разработки 1С Несоответствие индексов и условий запроса #std652 Проверяйте, что для всех условий запроса есть подходящие индексы.
  • 🤔 5
  • ❤ 3
  • 👍 2
  • 🔥 2
  • 👌 1
Post #95 2.26K
Использование значений, влияющих на поведение клиентского приложения

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

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

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

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

#std459
https://v8std.ru/std/459/
Стандарты разработки 1С Использование значений, влияющих на поведение клиентского приложения #std459 Если поведение многих форм или команд зависит от одних и тех же значений, для минимизации клиент-серверного взаимодействия используйте #std724: общие модули с повторным...
  • 🔥 8
  • ❤ 1
Post #94 2.13K
Особенности разработки конфигураций для ОС Linux и macOS

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

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

🟡 Если применяется БСП, используйте функции модулей ОбщегоНазначения и ОбщегоНазначенияКлиент.

🟡 В большинстве случаев платформа сама обеспечивает кроссплатформенную работу клиентского и серверного кода.

#std723
https://v8std.ru/std/723/
Стандарты разработки 1С Особенности разработки конфигураций для ОС Linux и macOS #std723 В большинстве случаев платформа сама обеспечивает кроссплатформенную работу клиентского и серверного кода.
  • 👍 11
  • 👌 1
Post #93 2.39K
Технология разветвленной разработки конфигураций

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

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

🟡 В исправительной версии не должно быть объемных доработок конфигурации.

🟡 Все изменения по техническому проекту переносите в основное хранилище за одну закладку.

#std709
https://v8std.ru/std/709/
Стандарты разработки 1С Технология разветвленной разработки конфигураций #std709 Цели внедрения технологии:
  • 🔥 8
  • 👍 2
  • 👌 1
Post #92 2.61K
Поддержка толстого клиента, управляемое приложение, клиент-сервер

🟡 Не устанавливайте признак Вызов сервера всем модулям с признаком Сервер.

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

🟡 Обработчики ОбработкаПолученияДанныхВыбора и ОбработкаПолученияФормы вызываются только на сервере, и это ограничение на них не распространяется.

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

#std680
https://v8std.ru/std/680/
Стандарты разработки 1С Поддержка толстого клиента, управляемое приложение, клиент-сервер #std680 В управляемом режиме иногда требуется поддержка запуска толстого клиента (режим управляемого приложения). Причина — часть возможностей, которые есть в обычном приложении, но...
  • 🔥 11
  • 👌 1
Post #91 2.43K
Начальные действия при работе конфигурации

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

🟡 Если в конфигурации используется Библиотека стандартных подсистем, применяйте подсистему Обновление версии ИБ.

🟡 Ситуации, когда обработка выполнена не полностью, должны контролироваться конфигурацией.

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

#std556
https://v8std.ru/std/556/
Стандарты разработки 1С Начальные действия при работе конфигурации #std556 В конфигурации должен быть механизм, который автоматически:
  • 🔥 9
  • ⚡ 1
  • 👌 1
Post #90 2.55K
Версия платформы 1С:Предприятие для разработки

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

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

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

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

#std785
https://v8std.ru/std/785/
Стандарты разработки 1С Версия платформы 1С:Предприятие для разработки #std785 Минимальная версия платформы, на которой обеспечивается работа прикладного решения, устанавливается:
  • 🤔 16
  • ❤ 6
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →