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 #130 · Back to latest

Older Posts 20 shown
Post #129 1.91K
Использование модулей с повторным использованием возвращаемых значений

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

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

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

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

#std724
https://v8std.ru/std/724/
Стандарты разработки 1С Использование модулей с повторным использованием возвращаемых значений #std724 Общие модули с повторным использованием возвращаемых значений (кеш) применяйте для кеширования результатов функций:
  • 👍 8
  • ✍ 2
  • ❤ 1
Post #128 1.9K
Нумерация редакций и версий

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

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

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

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

#std483
https://v8std.ru/std/483/
Стандарты разработки 1С Нумерация редакций и версий #std483 Новая редакция получает следующий целый номер относительно предыдущей. Формат обозначения: Редакция.Подредакция (например, 1.5, 1.6). Для новой конфигурации стартовая редакция:...
  • 👍 3
Post #127 2.07K
Денежные поля: требования по локализации

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

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

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

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

#std778
https://v8std.ru/std/778/
Стандарты разработки 1С Денежные поля: требования по локализации #std778 Чтобы конфигурация корректно работала в странах с низким курсом национальной валюты, увеличивайте разрядность целой части числовых полей с денежным эквивалентом. Примеры денежных...
  • 👍 8
Post #126 1.88K
Минимизация количества серверных вызовов и трафика

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

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

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

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

#std487
https://v8std.ru/std/487/
Стандарты разработки 1С Минимизация количества серверных вызовов и трафика #std487 Контролируйте количество серверных вызовов из клиентского кода. В ряде сценариев дополнительно контролируйте объем передаваемых данных между клиентом и сервером.
  • 👍 10
  • 🔥 1
Post #125 2.01K
Предварительная инициализация локальных переменных

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

🟡 Эта рекомендация особенно важна для больших блоков Если / ИначеЕсли / Иначе, где визуально сложно проверить все ветки инициализации.

🟡 Это снижает риск ошибок времени выполнения, когда переменная остается Неопределено, а следующий код ожидает конкретный тип.


#std494
https://v8std.ru/std/494/
Стандарты разработки 1С Предварительная инициализация локальных переменных #std494 В блоках, где вычисляются локальные переменные, явно задавайте начальные значения.
  • 👍 12
  • ❤ 1
Post #124 2.1K
Многократное выполнение однотипных запросов

🟡 Запросы к разным таблицам тоже рекомендуется объединять в один с помощью ОБЪЕДИНИТЬ ВСЕ или пакета запросов.

🟡 При этом выигрыш по времени выполнения может быть незначительным.

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

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

#std436
https://v8std.ru/std/436/
Стандарты разработки 1С Многократное выполнение однотипных запросов #std436 Старайтесь получать однотипные данные одним запросом, а не серией запросов в цикле.
  • 👍 10
  • ❤ 2
Post #123 1.86K
Вызов исключений в коде

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

🟡 В общем случае исключения в коде вызывать не требуется.

🟡 Для остальных случаев рекомендуется задавать категорию (ОшибкаРаботыСПринтером, ОшибкаСети, НарушениеПравДоступа и т.п.).

#std790
https://v8std.ru/std/790/
Стандарты разработки 1С Вызов исключений в коде #std790 В общем случае исключения в коде вызывать не требуется.
  • 👍 8
Post #122 2.16K
Блокирующее чтение остатков в начале транзакции

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

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

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

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

#std661
https://v8std.ru/std/661/
Стандарты разработки 1С Блокирующее чтение остатков в начале транзакции #std661 В ряде задач нужно выполнять блокирующее чтение итогов. Типовой случай - контроль остатков при проведении документа.
  • 🔥 7
  • 👍 4
  • 🤔 2
Post #121 2.24K
Имена объектов метаданных в иерархии библиотек

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

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

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

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

#std552
https://v8std.ru/std/552/
Стандарты разработки 1С Имена объектов метаданных в иерархии библиотек #std552 Если конфигурация использует одну или несколько #std551: библиотек, избегайте конфликтов имен объектов метаданных (справочников, документов, общих модулей и др.) между библиотеками...
  • 👍 10
  • ❤ 3
Post #120 2.05K
Безопасное хранение паролей

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

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

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

🟡 Если используется БСП, применяйте безопасное хранилище паролей.

#std740
https://v8std.ru/std/740/
Стандарты разработки 1С Безопасное хранение паролей #std740 При разработке подсистем, которые работают с внешними ресурсами (почта, веб-сервисы, FTP и т. п.), обычно нужно передавать данные аутентификации: логин и пароль.
  • 👍 14
  • 🔥 6
Post #119 2.14K
Общие сведения об избыточных блокировках

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

🟡 Ожидание блокировки возникает, когда разные сеансы 1С:Предприятия пытаются захватить один и тот же ресурс.

🟡 Поэтому при проектировании важно понимать, какие ресурсы захватываются при каждой операции и насколько «мелко» нарезаны данные.

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

#std659
https://v8std.ru/std/659/
Стандарты разработки 1С Общие сведения об избыточных блокировках #std659 Ошибки в проектировании структуры объектов метаданных могут привести к большому количеству избыточных блокировок и заметному падению производительности системы.
  • 👍 13
  • ❤‍🔥 1
Post #118 2.22K
Использование определяемых типов

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

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

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

#std704
https://v8std.ru/std/704/
Стандарты разработки 1С Использование определяемых типов #std704 Определяемые типы используйте для данных, которые:
  • 👍 14
  • ❤ 3
Post #117 2.25K
Порядок записи движений документов

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

🟡 Исключение: данные из регистров нужны в последующих алгоритмах, которые выполняются до выхода из процедуры проведения.

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

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

#std450
https://v8std.ru/std/450/
Стандарты разработки 1С Порядок записи движений документов #std450 Не используйте явную запись наборов записей регистров методом Записать() в процедуре обработки проведения документа.
  • 👍 23
  • 🤔 3
  • 🔥 2
Post #116 2.26K
Стандартные роли

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

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

🟡 При разработке расширений не рекомендуется заимствовать и изменять роли АдминистраторСистемы и ПолныеПрава.

#std488
https://v8std.ru/std/488/
Стандарты разработки 1С Стандартные роли #std488 Если в конфигурации есть разграничение прав доступа, настраивайте доступ только ролями.
  • 🔥 11
  • ❤ 3
Post #115 2.34K
Безопасность программного обеспечения, вызываемого через открытые интерфейсы

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

🟡 В частности, перед программным открытием документов Microsoft Word и Microsoft Excel через COM следует запрещать исполнение макросов.

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


#std775
https://v8std.ru/std/775/
Стандарты разработки 1С Безопасность программного обеспечения, вызываемого через открытые интерфейсы #std775 При интеграции со сторонними приложениями через открытые интерфейсы (в частности, COM) отключайте исполнение произвольного кода средствами вызываемого приложения.
  • 👍 15
  • 🔥 6
  • ✍ 3
  • ❤ 1
Post #114 2.03K
Майская передышка пролетела, Кунг-фу в Екатеринбурге провели, продолжаем посты по стандартам 🙂
  • 👍 13
Post #113 2.83K
Как вы заметили, пока постов нет.

Майская передышка до 15 мая :)

Потом продолжим.
  • 👍 34
  • 👌 16
  • 😢 4
  • 🎉 3
  • 🤬 1
Post #112 3.91K
Общие требования по разработке оптимальных запросов

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

🟡 Для сложных запросов проверяйте, что СУБД выбирает эффективный план выполнения.

🟡 В большинстве случаев следует минимизировать и общее количество запросов к СУБД.

🟡 Если нужно выполнять свертку, сортировку или вычисления, сначала проверьте, можно ли переложить эти операции на СУБД и сразу получить готовый результат.

#std729
https://v8std.ru/std/729/
Стандарты разработки 1С Общие требования по разработке оптимальных запросов #std729 Прежде чем переходить к продвинутым приемам оптимизации, убедитесь, что сам запрос адекватен задаче.
  • 🔥 13
  • 👍 8
  • ❤ 4
Post #111 2.2K

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

https://ai.v8std.ru/monitoring/

Добавил статистику публичную:
Что за последние 24 часа использовали и как в MCP.

Для разъяснений кода не стал включать трекер и сохранение фрагментов кода.

А вот запросы на поиск решил сохранять чтобы помониторить как именно LLM формулирует запросы. Это прям интересно получается.

Отдельно по логам собирается трек запросов скраберов которые пытаются выдернуть все что плохо лежит - тоже для интересующихся можно посмотреть что пытаются запрашивать злоумышленники.
  • 🔥 11
  • 👍 6
  • ❤ 4
Post #110 1.82K

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

v8std-search-benchmark-results.pdf119.9 KB
https://v8std.ru/mcp/

Я тут докрутил mcp к базе стандартов.

Можно локально у себя поднять можно готовый подключить.

Он по фрагменту кода находит применимые к нему стандарты

Получает стандарты в маркдауне чистом виде

По коду диагностик апк бсл и едт находит описание диагностики и пункт стандарта.

Ну и просто умеет искать по произвольным фразам стандарты)
  • 🔥 17
  • 👍 9
  • ❤ 3
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 →