Media is too big
VIEW IN TELEGRAM
2🔥63👍15👌9❤2🥰1👏1🕊1🥴1💯1🍾1
Структуры и таблицы значений в параметрах
🟡 Для сложных параметров делайте функцию‑конструктор: она возвращает структуру‑заготовку или пустую таблицу с типизированными колонками.
🟡 Вызывающий код только заполняет значения и передает их в основную функцию.
🟡 Имена свойств структуры должны совпадать с параметрами функции; значения по умолчанию задавайте в конструкторе.
🟡 Состав и типы параметров фиксируйте в описании (для библиотек — с перечислением свойств/колонок).
🟡 Не добавляйте новые свойства/колонки на стороне вызова — это источник скрытых ошибок.
#std641
https://v8std.ru/std/641/
#std641
https://v8std.ru/std/641/
Please open Telegram to view this post
VIEW IN TELEGRAM
v8std.ru
Структуры и таблицы значений в качестве параметров процедур и функций - Стандарты разработки 1С
Частный взгляд Ингвара.
2👍30🔥11👌5❤🔥1❤1👏1🎉1
Работа в разных часовых поясах
🟡 Операции выполняйте по времени пользователя, а не сервера.
🟡 В серверном коде используйте
🟡 Когда нужно время вне часового пояса сеанса — используйте
🟡 На клиенте не вызывайте
🟡 Не вызывайте
#std643
https://v8std.ru/std/643/
ТекущаяДатаСеанса, а не ТекущаяДата.УниверсальноеВремя.ТекущаяДата; передавайте дату с сервера или берите из документа.ТекущаяДатаСеанса несколько раз подряд — сохраните значение и используйте его.#std643
https://v8std.ru/std/643/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Работа в разных часовых поясах #std643
Сервер может работать в одном часовом поясе, пользователи в другом. Операции должны выполняться по местному времени пользователей.
1🔥33👍18👌4⚡1👎1🥰1💯1🏆1👨💻1
Имена процедур и функций
🟡 Имена берите из предметной области — они должны объяснять назначение без комментариев.
🟡 Пишите слитно, каждое слово с заглавной буквы; предлоги тоже с заглавной.
🟡 Не включайте типы в названия, если это не критично для смысла.
🟡 Процедуры называйте глаголом: ЗагрузитьКонтрагента.
🟡 Функции называйте по результату: ПолноеИмя, ДатаНачалаСеанса.
🟡 Если функция создает объект — используйте Новый....
🟡 Функции‑проверки называйте Это... или причастием.
#std647
https://v8std.ru/std/647/
#std647
https://v8std.ru/std/647/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Имена процедур и функций #std647
Чем лучше имена - тем проще читать код. Хорошо выбранное имя процедуры и имена параметров описывают её смысл лучше, чем комментарии. Если имя подобрать сложно - возможно, уже есть...
1🔥29❤11👍9👏4👌2⚡1🥰1🕊1💯1
Обращения к виртуальным таблицам
🟡 Все условия, относящиеся к виртуальной таблице, передавайте в ее параметры, а не в ГДЕ.
🟡 Так СУБД быстрее выберет план и не обработает лишние записи.
🟡 В параметрах используйте простые условия вида Измерение = Значение.
🟡 Подзапросы и соединения в параметрах — только в исключениях и по строгим правилам.
🟡 Если условий с подзапросами много — оставьте одно самое фильтрующее, остальные перенесите наружу или используйте временную таблицу.
#std657
https://v8std.ru/std/657/
#std657
https://v8std.ru/std/657/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍17😱3👏2👌2❤🔥1⚡1🥰1🎉1🕊1💯1
Безопасность прикладного программного интерфейса сервера
🟡 Любая серверная функция, доступная с клиента, потенциально опасна.
🟡 Не размещайте бизнес‑логику в модуле формы: оставляйте там только взаимодействие и работу с реквизитами.
🟡 Привилегированный режим и модули с флагом «Вызов сервера» тщательно тестируйте.
🟡 «Внешний» код и произвольные запросы на сервере — источник рисков (утечки, порча данных, зависания).
🟡 На клиент передавайте только итог, не отдавайте промежуточные/чувствительные данные.
#std678
https://v8std.ru/std/678/
#std678
https://v8std.ru/std/678/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Безопасность прикладного программного интерфейса сервера #std678
Злоумышленник может вызвать серверный код с клиента. Например, он может выполнять запросы по HTTP, пытаясь повторить поведение клиента платформы. Своими действиями злоумышленник не...
2🔥30👌8❤5✍2⚡1🤔1🙏1🕊1💯1🏆1
Forwarded from 1C Company (Никита Старичков)
Заметки из Зазеркалья
Обновлен план задач на версию 8.5.5 платформы 1С:Предприятие
Хотим обратить внимание, что план - это пока только план, мы публикуем его для повышения открытости и для того, чтобы разработчики на платформе 1С:Предприятие понимали направления развития платформы. Обсуждать эти задачи мы будем готовы позже, когда опубликуем…
1🔥10
Использование объектов типа Структура
🟡 Не передавайте в конструктор структуры больше 3 значений — остальное через Вставить или свойства.
🟡 Не вкладывайте конструкторы других объектов с параметрами внутрь Новый Структура(...).
🟡 Не вызывайте в конструкторе функции с большим числом параметров.
🟡 Не добавляйте свойства «разбросанно» — создавайте структуру сразу с полным набором и значениями по умолчанию.
🟡 Исключения — структуры с нефиксированным форматом (внешние данные, параметры формы).
#std693
https://v8std.ru/std/693/
#std693
https://v8std.ru/std/693/
Please open Telegram to view this post
VIEW IN TELEGRAM
v8std.ru
Использование объектов типа Структура - Стандарты разработки 1С
Частный взгляд Ингвара.
1👍23🔥11👌4💯2❤1🥰1👏1
Media is too big
VIEW IN TELEGRAM
Не рекламы ради, а пользы для
После Кунг-фу конфы в Питере решили провести формат больший!
Екатеринбург 16 мая 2026
После Кунг-фу конфы в Питере решили провести формат больший!
Екатеринбург 16 мая 2026
2🔥11👍5❤🔥3💩2
Канал закрыт для рекламы, но
Anonymous Poll
28%
Анонсы некоторых событий ок
62%
Публикуй видео, связанные с кодом и архитектурой, даже если не про стандарт
35%
Не надо тут вообще ничего кроме стандартов
Открытие параметризированных форм
🟡 Если форма открывается только программно и требует параметры — не делайте ее основной.
🟡 Если других форм нет, можно назначить основной, но при открытии без параметров нужно выдавать понятное исключение.
🟡 Параметры формы объявляйте на вкладке «Параметры» — тогда состав виден сразу.
🟡 В ПриСозданииНаСервере используйте параметры напрямую, без проверок Свойство(...).
#std741
https://v8std.ru/std/741/
#std741
https://v8std.ru/std/741/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Открытие параметризированных форм #std741
Если форма требует параметров при открытии и предназначена только для программного открытия, не назначайте ее основной формой объекта. Такая форма не должна открываться из меню...
1👍29👌5⚡2🕊2❤1🔥1🥰1💯1🏆1
Размеры экрана
🟡 Ориентируйтесь на типовое разрешение 1280×768 и масштаб 96 DPI (100%).
🟡 Считайте, что окно развернуто на весь экран, но часть высоты занимает панель задач и браузера.
🟡 Рабочая область — примерно 1280×668.
🟡 Формы должны помещаться без горизонтальной и вертикальной прокрутки (вертикальная допустима только в списках).
#std727
https://v8std.ru/std/727/
#std727
https://v8std.ru/std/727/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Размеры экрана #std727
1280х768 типовое разрешение экрана.
1👍23👎9💯4👀4⚡1🔥1🥰1👏1👌1🕊1🎅1
Изменения на сайте:
↔️ Теперь для ссылок генерируется социальная карточка
https://v8std.ru
🔨 Есть быстрый переход к просмотру исходников в markdown и открытием на внесение правок - если заметили ошибку отправляйте PR
▶️ Вы же знаете, что сайт собирается сам из markdown? :)
🗂 Для десктопного сайта нумерация разделов уходит в отдельную выравненную колонку, на которую можно скопировать и дать ссылку, чтобы поделиться конкретным абзацем
https://v8std.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍18❤🔥3❤2🔥2👏2🎉2👎1🥰1👌1
Ограничения на использование экспортных процедур и функций
🟡 Не размещайте экспортные процедуры и функции в модулях команд и общих команд.
🟡 К этим модулям нельзя обращаться извне, поэтому экспорт там бесполезен.
#std544
https://v8std.ru/std/544/
#std544
https://v8std.ru/std/544/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Ограничения на использование экспортных процедур и функций #std544
Не следует размещать экспортные процедуры и функции в модулях команд и общих команд. К этим модулям нет возможности обращаться из внешнего по отношению к ним кода, поэтому...
3👍23🔥6❤3🥱3😁2🥰1
Безопасность программного обеспечения, вызываемого через открытые интерфейсы
🟡 При использовании интеграции со сторонними приложениями с помощью открытых интерфейсов (в частности, с помощью COM) требуется отключать исполнение произвольного кода средствами вызываемого приложения.
🟡 В частности, перед программным открытием документов Microsoft Word и Microsoft Excel через COM следует запрещать исполнение макросов.
🟡 «Разрешить запуск подписанных макросов (рекомендуется)» (выбран по умолчанию).
🟡 Форма настройки для клиентского кода должна быть доступна каждому пользователю, настройки должны сохраняться в разрезе пользователей, каждому пользователью должны быть доступны только свои настройки.
#std775
https://v8std.ru/std/775/
#std775
https://v8std.ru/std/775/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Безопасность программного обеспечения, вызываемого через открытые интерфейсы #std775
При интеграции со сторонними приложениями через открытые интерфейсы (в частности, COM) отключайте исполнение произвольного кода средствами вызываемого приложения.
1🔥11👍9👏4👌1
Поля «Ответственный» и «Комментарий»
🟡 Если в типовых сценариях комментарии обычно длинные, используйте многострочный вариант на отдельной вкладке.
🟡 Располагайте внизу формы документа, последним полем.
🟡 Заголовок Комментарий выводите в названии вкладки, а у самого поля заголовок не отображайте.
🟡 Поле Ответственный выводите в нижней части формы документа.
#std719
https://v8std.ru/std/719/
#std719
https://v8std.ru/std/719/
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍27🔥4👌4👏2
Открытие форм
🟡 Для открытия форм используйте метод ОткрытьФорму.
🟡 Если форма требует параметризации при открытии, передавайте все параметры через набор параметров формы.
🟡 Не используйте альтернативные способы параметризации формы при открытии.
🟡 Результат работы формы получайте через обработчики оповещений.
#std404
https://v8std.ru/std/404/
#std404
https://v8std.ru/std/404/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Открытие форм #std404
Для открытия форм используйте метод ОткрытьФорму. (В проектах на платформе 1С:Предприятие 8.2 и ниже ОткрытьФормуМодально).
2🤝19👍5👌3❤1🔥1
Обработчик события ОбработкаПроверкиЗаполнения
🟡 В обработчике
🟡 Если проверка заполнения условная, в коде удаляйте такие реквизиты из массива ПроверяемыеРеквизиты.
🟡 Не используйте альтернативные схемы условной проверки, чтобы проверки оставались прозрачными для свойства «Проверка заполнения».
🟡 Учитывайте, что обработчик вызывается не при каждой записи; при обмене данными анализируйте
#std463
https://v8std.ru/std/463/
ОбработкаПроверкиЗаполнения проверяйте корректность заполнения реквизитов шапки, табличных частей и других данных до записи.ДополнительныеСвойства.ОтложенноеПроведение.#std463
https://v8std.ru/std/463/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Обработчик события ОбработкаПроверкиЗаполнения #std463
В обработчике ОбработкаПроверкиЗаполнения модуля объекта выполняйте проверки корректности заполнения реквизитов объекта:
1👍13👌3🔥1
Forwarded from Игорь Апресов | Radio Ingvar
Стандарты 1С часто воспринимают как “про оформление кода”: отступы, скобки, переносы.
Но в какой-то момент выясняется: в стандартах уже есть ответы на кучу типовых рабочих ситуаций, из-за которых мы спорим в ревью, ломаем архитектуру и тратим часы на “ну я так привык”.
На стриме разберем:
Приглашенный гость:
Формат: разговор + разбор примеров + вопросы из чата.
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥29👍7❤4
Правила создания общих модулей
🟡 Общие модули создавайте для процедур и функций, объединенных по одному признаку.
🟡 При разработке общих модулей выбирайте один из четырех контекстов выполнения.
🟡 Серверные общие модули используйте для внутренней серверной бизнес-логики.
🟡 Именуйте по общим правилам именования.
#std469
https://v8std.ru/std/469/
#std469
https://v8std.ru/std/469/
Please open Telegram to view this post
VIEW IN TELEGRAM
Стандарты разработки 1С
Правила создания общих модулей #std469
Общие модули создавайте для процедур и функций, объединенных по одному признаку. Обычно в один модуль попадает код:
1🔥13👌10❤2🤔1