TGViewer
Стандарты 1С v8std Стандарты 1С v8std @v8std · 2.58K subscribers
Post #159 2.02K
Июльское обновление стандартов 1С: один новый, два переписаны

1С обновила систему стандартов разработки. Коротко о том, что поменялось и что стоит проверить в своём коде.

Новый стандарт: Разработка правил регистраций (#std799)

Правила регистрации — алгоритмы проверок, фильтров и отборов данных, которые участвуют в обменах. Обычно их хранят в макете плана обмена: так их выгружает Конвертация данных. Теперь стандарт требует размещать правила в модулях конфигурации, например отдельным общим модулем — менеджером регистрации.

Зачем: код в модуле попадает в синтаксическую проверку платформы и в остальные проверки конфигурации, его проще отлаживать без внешних обработок и дешевле переводить при выпуске WE-версий.

Ещё два требования:
— в правилах регистрации запрещено переключать привилегированный и безопасный режимы;
— исправления ошибок в правилах обмена поставлять расширениями (патчами).

#std411: параметры выбора — три новых пункта

Самое заметное: не задавайте Режим изменения связанного значения = Очищать. Безусловная очистка ломает два сценария:
— повторный выбор того же ведущего значения обнуляет зависимый реквизит, хотя ничего не изменилось;
— если зависимое значение допустимо для нескольких ведущих, оно очистится, оставаясь корректным.

Вместо этого — код условной очистки. В стандарте есть готовый пример: запрос выбирает первые две подходящие характеристики и возвращает текущее значение, если оно всё ещё годится.

Исключение (п. 4.1): если повторно выбрать то же ведущее значение технически невозможно (например, это флажок) и связь строго один-к-одному — Очищать допустимо.

Ещё два пункта:
— параметры выбора стоит задавать и для объектов, которые не редактируются интерактивно: они работают в отборах отчётов и динамических списков;
— префикс Отбор. в имени параметра выбора — тогда значения приедут в ДанныеЗаполнения обработчика ОбработкаЗаполнения и новый объект создастся уже заполненным.

#std542: доступ к файловой системе — переписан целиком

Стандарт переструктурирован: шесть разделов вместо прежних пяти, два из них новые.

«Работа с двоичными данными и потоками». Не гоняйте данные через временные файлы, если хватит ПотокВПамяти. Классический антипаттерн: записать ТекстовыйДокумент во временный файл, прочитать из него ДвоичныеДанные, удалить файл — хотя данные и так были в памяти. И закрывайте потоки после чтения, иначе течёт память.

«Безопасность файловой системы» — восемь пунктов, которые полезно прогнать по своему коду:
— нельзя хранить путь или имя файла в реквизитах формы: на клиенте их подменят сторонними средствами, и серверный код полезет в произвольный файл;
— нельзя передавать путь к файлу в параметры серверных процедур форм и экспортных методов серверных общих модулей — их тоже можно вызвать с клиента;
— расширение файла, пришедшее с клиента, проверять по белому списку;
— перед работой с файлом на сервере убеждаться, что он лежит во временном каталоге или другом специально предусмотренном месте.

Плюс актуализированы методы передачи файлов: ПоместитьФайлНаСерверАсинх, НачатьПомещениеФайлаНаСервер и парные для скачивания вместо старых ПоместитьФайл и НачатьПомещениеФайла.

Разборы с примерами кода и скриншотами:
https://v8std.ru/std/799/
https://v8std.ru/std/411/
https://v8std.ru/std/542/

#std799 #std411 #std542
  • 🔥 8
  • ❤ 3
  • 👍 3
  • 🥰 1
  • 🙏 1
More from @v8std
  1. Oct 2, 2026Оптимизация использования оперативной памяти 🟡 В этом случае платформа получает данные по…
  2. Sep 30, 2026Минимизация кода, выполняемого на клиенте 🟡 Не выполняйте на клиенте сложные алгоритмы, т…
  3. Sep 28, 2026Запись событий в историю работы пользователя 🟡 Для добавления событий используется объект…
  4. Sep 25, 2026Общие требования к регламентным заданиям 🟡 Если используется подсистема Регламентные зада…
  5. Sep 24, 2026Обновил v8std.ru по сентябрьским изменениям стандартов 1С: три новых стандарта и пять обно…
  6. Sep 23, 2026Ограничения на использование реквизитов составного типа 🟡 Исключение могут составлять таб…
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 →