Шаблоны для применения cтандартов и методик разработки конфигураций 1С

11.05.26

Разработка - Рефакторинг и качество кода

Готовые шаблоны текста для применения cтандартов и методик разработки конфигураций 1С, инструментарий. Версия платформы 8.3.22.1851.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Шаблоны для применения cтандартов и методик разработки конфигураций 1С.:
.rar 43,63Kb ver:1.1.2
45 3 000 руб. Купить
Шаблоны для применения cтандартов и методик разработки конфигураций 1С:
.rar 46,23Kb ver:1.1.3
155 3 000 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Коллеги, добрый день, в продолжение темы Применение cтандартов и методик разработки конфигураций на практике предлагаю вашему вниманию уже готовые шаблоны текста для применения cтандартов и методик разработки конфигураций 1С, работают на версии платформы 8.3.22.1851. В шаблонах содержится код с примерами, в некоторых случаях краткое пояснение (комментарии), как следует писать, а как будет неверно, текстовка взята с офиц. сайта 1С. Некоторые короткие можно сразу применять в коде, некоторые с пояснениями можно формировать отдельно и брать необходимую часть и адаптировать в рабочий код. Основная цель шаблонов - ускорить и облегчить применение стандартов сразу в коде или использовать как справочник - помощник для корректировки кода и т.д.

Часть шаблонов сгруппированы для быстрого поиска, например: 

Ст_Запрос(ы)<ДетальнаяРасшифровка>, Ст_Локализация<ДетальнаяРасшифровка>, Ст_Блокировки(а)<ДетальнаяРасшифровка> и т.д. скрины ниже:

 

 

Можно использовать как справочник-помощник:

 

 

Список шаблонов:

 

Добавлены шаблоны:

Ст_ОткрытиеФормыСОповещением

Ст_ИменаРолей

Ст_СообщениеИнформацияОбОшибке

Ст_СообщениеКлиентИнформацияОбОшибке

Ст_ЛокализацияНСтр

Ст_ЗакомментированныйКод

Ст_ЗапросИспользованиеСсылки

Ст_ИнициализацияПарамВложенныхМетодов

Ст_ПоказатьВыборИзСпискаСОповещением

Ст_ПоказатьВыборИзМенюСОповещением

Ст_ПоказатьПредупреждениеСОповещением

Ст_ПоказатьВопрос

Ст_УстановитьПривилегированныйРежим

Ст_ЗапросИспКомментарияДляПомещенияВоВремТаб

Ст_УдалениеЭлементаКоллекции

Ст_ТекущаяДатаСеанса

Ст_ОбменДаннымиОписание

Ст_ТранзакцияЯвнаяЗаписьВЖурналРегистрации

Ст_ТранзакцияЯвнаяВызватьИсключение

Ст_ЗаписьВЖурналРегистрацииБСП

Ст_ЗаписьВЖурналРегистрацииБезБСП

 

Обновления.

Версия 1.1.3 описание изменений:

    1. Укорочены названия в контекстной подсказке, для лучшей читаемости при подборе в коде.

    2. Добавлено окончание Описание в конец названия шаблона для описательных шаблонов с пояснением. Если шаблон  сразу применим в коде то он идет без окончания Описание.

    3. Исправлены ошибки.

Добавлены шаблоны:

Ст_ЗначенияРеквизитовОдногоОбъекта

Ст_ЗначениеОдногоРеквизитаОдногоОбъекта

Ст_ЗначенияНесколькихРеквизитовЭлементовОдногоТипа

Ст_ЗначениеОдногоРеквизитаЭлементовОдногоТипа

Ст_ЗапросРазыменованиеРегистрНакопления

Ст_ЗапросРазыменованиеРегистрСведений

Ст_ЗапросРазыменованиеРегистрБухгалтерии

Ст_ЗапросРазыменованиеРегистрРасчета

Ст_БлокировкаСправочникаУправляемая

Ст_БлокировкаДокументаУправляемая

Ст_БлокировкаОбъектаЗаблокироватьДанныеДляРедактирования

Ст_БлокировкаОбъектаЗаблокировать

Ст_СсылкаСуществует

Ст_ПоказатьПредупреждение

Ст_ЗагрузкаMXL_в_ТаблЗначений

Ст_ПоказатьПредупреждениеСПараметром

Ст_ПоказатьПредупреждениеСПараметромИОповещением

Ст_ИнструкцииПрепроцессораМодулейОбъектовМенеджеров

Ст_ПерехватИсключенийКлиент

Ст_БезопасноеХранениеПаролейЗапись

Ст_БезопасноеХранениеПаролейЧтение

Ст_СообщениеСПараметрамиБезБСП

Ст_СообщениеПростоеБезБСП

Ст_СообщениеОшибкаБезБСП

Ст_НачатьПомещениеФайлаНаСервер

Ст_ПоказатьВводСтроки

Ст_НачатьЗапускПриложений

Ст_ОбменДаннымиЗагрузка

Ст_ПопыткаЗаписьВЖурнРегБСП

Ст_ПопыткаЗаписьВЖурнРегБезБСП

Ст_ДлинаСтроки140

Ст_ДлинаСтроки160

Ст_ЗаписьВЖурнРег+СообщениеБСП

Ст_БлокировкаОбъектаУправляемаяБСП

Ст_МД_ПолноеИмяПоТипу (Ст_Метаданные_ПолноеИмяПоТипу)

Ст_МД_ПолноеИмяПоСсылке (Ст_Метаданные_ПолноеИмяПоСсылке)

Ст_БлокировкаРегистров (Ст_БлокировкаРегистров (синтаксис помощник))

Ст_РазделМодуляФормыОбработчикиСобытий

Ст_РазделМодуляФормыОбработчикиКоманд

Ст_РазделМодуляФормыСлужебныеПроцедуры

Ст_РазделМодуляФормыСобытияЭлементовШапки

Ст_РазделМодуляФормыСобытияТаблицы

Ст_СтрокаВДатуБСП

Ст_ТранзакцияЯвнаяПокаТранзакцияАктивна

 

Примеры шаблонов:

Описательные в качестве справки.  

 
 Ст_ЗапросыРазыменованиеПолейОписание

 

 
 Ст_БезопасностьПОВызывЧерезОткрытыеИнтерфейсыОписание
 
 
 Ст_БлокировкаОтветственноеЧтениеОписание

 

Применяемые непосредственно в коде. 

 
 Ст_ТранзакцияЯвнаяЗаписьВЖурналРегистрации

 

 
 Ст_БлокировкаОбъектаЗаблокироватьДанныеДляРедактирования

 

 
 Ст_ЗаписьВЖурнРег+СообщениеБСП

 

Примечание.

В шаблоны не вошли некоторые стандарты, например, по проектированию интерфейсов.

 

Краткая инструкция по подключению шаблонов.    

Шаблоны тексты подключаются в конфигураторе через Сервис - Параметры, вкладка Модули - Контекстная подсказка, нужно включить флаг "Включить шаблоны в список подсказок", скрин:

 

   

Далее добавляем шаблоны из публикации. Копируем файл шаблонов в любое место вашего компьютера или сервера где они будут надежно храниться и прописываем путь к этим шаблонам из конфигуратора пункт меню Сервис - Шаблоны текста, далее как на скрине ниже:

 

 

 

Все готово к работе, вызываем в модуле, пишем префикс ст, ctrl + Пробел, в контекстном меню подбираем нужный шаблон.

Примечание.

Так же можно использовать шаблоны вместе со стандартными тогда флаг "Использовать стандартные шаблоны" снимать не нужно.

 

Также предлагаю решения вашему вниманию:

Простой пример разработки регулярного обмена с использованием БСП на примере ERP 2.4 и УПП 1.3.

Конфигурация "Табель учета рабочего времени. (Учет работ, доходов и расходов. Взаимодействие с клиентами)"

Применение ChatGPT в 1С и не только

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

Загрузка данных из унифицированных форм УПД и ТОРГ-12.

Список документов и их количество в базе.

Вступайте в нашу телеграмм-группу Инфостарт

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

См. также

Нейросети Рефакторинг и качество кода Программист Бесплатно (free)

Показываем, как встроить ИИ-помощника в code review 1С без Git, SonarQube и EDT – только с Конфигуратором, RAG-контекстом и набором MCP-инструментов. Разбираем архитектуру решения на Open Web UI и OpenRouter, методику сравнения моделей по Precision, Recall, BonusRate и PenaltyRate, а также объясняем, почему контекст влияет на качество ревью сильнее, чем выбор самой модели. На реальных примерах показываем, какие ошибки ИИ находит хорошо, где все еще нужен архитектор и почему на старте пилота время ревью может не сократиться, а вырасти. В финале делимся метриками внедрения и выводами для команд, которые хотят повторить такой подход у себя.

17.06.2026    316    NVyunova    0    

2

Нейросети Рефакторинг и качество кода Программист Бесплатно (free)

Кажется, что code-review с помощью искусственного интеллекта устроено просто: достаточно отправить код в LLM, задать промт и получить список замечаний. На практике такой подход быстро упирается в недетерминированность результата, неверную оценку критичности ошибок в 1С-коде и рекомендации, которые сложно отличить от полезных замечаний. Описываем гибридный подход к автокод-ревью: статический анализатор работает вместе с LLM, а база знаний из стандартов 1С превращается в набор машиночитаемых норм. Такая архитектура помогает снизить количество галлюцинаций, точнее определять критичность нарушений и постепенно развивать качество ревью через итеративное пополнение правил.

09.06.2026    1072    Repich    5    

9

Рефакторинг и качество кода Программист Бесплатно (free)

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

04.06.2026    764    IgorVasilyev    29    

4

Инструментарий разработчика Рефакторинг и качество кода Программист Руководитель проекта 1С:Предприятие 8 Абонемент ($m)

MetaVision for 1C PRO — профессиональная версия статического анализатора и визуализатора кода. Загружает выгрузки конфигураций, расширения и внешние файлы, за секунды строит графы функций, находит уязвимости безопасности и подсвечивает проблемы производительности. В арсенале: визуализация логики в виде графов условий, циклов, транзакций и вызовов, статический аудит безопасности с поиском RCE, SSRF, COM-инъекций и паролей в коде, выявление запросов в циклах и вложенных блокировок, полнотекстовый поиск по всем модулям, встроенный редактор с конвертером запросов и автоформатированием, а также честная статистика по объектам и функциям. Главное новшество PRO — до пяти конфигураций одновременно с мгновенным переключением, наложение до пяти расширений как в конфигураторе, анализ внешних файлов в единой связке с основной конфигурацией и пять тем оформления. Инструмент для тех, кто ведёт несколько проектов параллельно и хочет видеть полную картину в одном окне — быстро, наглядно и безопасно.

7 стартмани

19.05.2026    3048    31    KHoroshulinAV    7    

13

Запросы Рефакторинг и качество кода Программист Стажер 1С:Предприятие 8 Бесплатно (free)

Есть запросы, которые сразу вызывают подозрение: десятки соединений, множество временных таблиц, объединения, группировки и длинный список условий. Но чаще проблемы прячутся в другом месте — в запросах, которые выглядят вполне приемлемо. Пара обращений через точку, отбор после виртуальной таблицы, РАЗЛИЧНЫЕ «чтобы убрать дубли», большой список в параметре, реквизит регистратора через составной тип — и вот уже на тестовой базе все летает, а в рабочей базе отчет открывается минуту. Разберу такие случаи из практики: не синтаксические ошибки, а именно запросы, которые формально нормальные, но на больших данных начинают вести себя плохо.

04.05.2026    2041    YA_2060655612    11    

9

Рефакторинг и качество кода Программист Бесплатно (free)

Почему рефакторинг, призванный улучшать код, иногда приводит к сбоям, потерям времени и новым ошибкам? Показываем типичные ситуации, когда рефакторинг становится токсичным: работа с legacy-кодом, изменения перед релизом, рефакторинг про запас и без тестирования. Объясняем, как универсальные мегаметоды, преждевременные абстракции и отсутствие понимания бизнес-логики ухудшают систему. А также рассказываем, когда рефакторинг действительно нужен, и какие принципы помогают делать его безопасно и осознанно.

29.04.2026    1061    _apelsin4ik    0    

5

Рефакторинг и качество кода Программист Стажер 1С 8.3 Бесплатно (free)

Код в 1С редко начинает тормозить сразу. Намного чаще он долго выглядит нормальным, а проблемы проявляются позже — когда растут данные, пользователи и количество доработок. В статье разбираю типичные причины такой деградации: запросы в цикле, лишние ПолучитьОбъект(), тяжёлые формы и обработку “по одному”. Статья практическая: с примерами, типичными ошибками и понятными признаками того, что код уже плохо масштабируется.

21.04.2026    2132    YA_2060655612    6    

11

Инструментарий разработчика Рефакторинг и качество кода Программист 1С:Предприятие 8 Бесплатно (free)

Инструмент для тех, кто устал читать модули по 50 тысяч строк и искать ошибки глазами. MetaVision загружает выгруженные файлы конфигурации и за секунды строит графы функций, находит уязвимости и подсвечивает проблемы производительности. Ключевые возможности: Визуализация логики функций (графы условий, циклов, транзакций и вызовов). Статический аудит безопасности (RCE, SSRF, COM-инъекции, пароли в коде). Поиск проблем производительности (запросы в циклах, вложенные блокировки). Полнотекстовый поиск по всем модулям конфигурации. Статистика по объектам и функциям. Безопасность: Программа работает строго локально. Код вашей конфигурации не отправляется в интернет и не анализируется на сторонних серверах. Попробуйте MetaVision сегодня — узнайте, что скрывает ваш код.

20.04.2026    12011    1259    KHoroshulinAV    56    

92
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1588 05.06.23 14:37 Сейчас в теме
Поставил минус за мега-цену в 5 стартмани за скопипащенный файл шаблонов и дублирование 2х публикаций
shinauroviju; chrnv; Rjhev; stas_ganiev; wild83; Lemmonbri; bugagashenka; CSiER; Rafaraf; IntellXeon; CTAC1287; Andreeei; itoptimum; +13 7 Ответить
2. kser87 2484 05.06.23 15:05 Сейчас в теме
(1) просто интересно, каким образом у вас ценообразование работает?
sCHTASS; improg; PowerBoy; +3 Ответить
3. improg 757 05.06.23 16:14 Сейчас в теме
(1) Не совсем скопипащенного, в шаблонах идет выжимка основного материала с примерами, разработчику остается набрать шаблон, прочитать краткое описание (там где оно есть), адаптировать и удалить комменты. По поводу цены соизмеряю трудозатраты + временные затраты, не считаю что это мега-цена, можно месяц посидеть поизучать самому (с учетом того что еще работу делать надо), законспектировать.
ivnik; Global__IT; Светлый ум; +3 Ответить
4. Lemmonbri 173 05.06.23 16:36 Сейчас в теме
(1) Ну тут вечные 2 противостояния: те, кто за развитие комьюнити, и те, кто пытается заработать на комьюнити. Кто за развитие и опен сорс проекты делает, и на гитхаб выкладывает, это куча народу. А кто пытается заработать, тот "соизмеряет трудозатраты". Как хорошо что в 1С первых больше.
shibudo; Rasdag; mrChOP93; RayCon; artbear; KereberoS; Kesak; Sancho-R; sdaf; user1876070; itoptimum; +11 1 Ответить
7. kser87 2484 07.06.23 14:36 Сейчас в теме
(4) кто хочет развития, тот развивает. Кто хочет заработать, тот зарабатывает. Почему последние вызывают негатив?
1cl_bl; chrnv; Global__IT; biimmap; improg; +5 Ответить
8. Lemmonbri 173 07.06.23 14:37 Сейчас в теме
(7)
(7) У меня не вызывает негатива, просто классифицировал так людей, чтобы убрать негатив с 1 коммента.
9. Lemmonbri 173 07.06.23 14:40 Сейчас в теме
(8) Возможно вы подумали что моя фраза "Как хорошо что в 1С первых больше." означает негатив, но это не так. Если тех, кто хочет развиваться больше - то и развитие идет быстрее. А если все будут зарабатывать то развиваться будем по крупинке в год. Наоборот, этой фразой я подчеркиваю что в компьюнити сейчас хороший баланс. Не забывают о коммерции, но и развивают. Отлично же!
Scroudge; +1 Ответить
11. kser87 2484 07.06.23 15:51 Сейчас в теме
(9) так и подумал. Я лично вообще не вижу связи между зарабатыванием и развитием. Ничего не мешает коммерциализировать развитие.
12. biimmap 2118 08.06.23 12:11 Сейчас в теме
(4) Заходите в мой профиль))) Там бесплатно, но плюсы надо ставить!)

В целом можно так снегативить и в отношении раздела обучение. Целый отдел зарабатывает деньги на сообществе. Но это нормально!
improg; mrChOP93; +2 Ответить
6. artbear 1588 07.06.23 12:25 Сейчас в теме
(1) я написал комментарий, чтобы было понятно, за что и как я поставил минус.
без комментария минусовать неправильно.

минус - это моя личная субъективная оценка. ее причины я привел.
с моей оценкой не обязательно соглашаться )

указанные стартмани - это цена, которую выставляет автор\продавец товара
я как возможный потребитель товара с этой ценой не согласен и потому не куплю.
mrChOP93; Lemmonbri; +2 Ответить
13. biimmap 2118 08.06.23 12:20 Сейчас в теме
(1) Артур, никто ж не говорит про мега-цену для Infostart-toolkit? Вот мне непонятно почему он стоит дороже косаря...

Но т.к. я знаю сколько стоит час работы программиста я не задаю таких вопросов и не пишу нигде что цена завышена. Просто дорого лично для меня. Зачем это тиражировать на всех?

У меня эти 2 публикации вызывают смешанные чувства.
-- С одной стороны человек зашел в стандарты, крепенько их изучил, собрал инфу оттуда и перенес в шаблоны, чтоб можно было быстро использовать нужный шаблон.
-- С другой стороны непонятно зачем 2 публикации
-- С третьей брать деньги за материал с ИТС для меня странно. Понимаю, что автор берет деньги за потраченное время... Но ведь за статью же начислили $m за плюсы и объём? Меня это обычно удовлетворяет.

И немного название публикации второй не соответствует описанному. Ведь практика - это не инструкция как скопировать кусок кода, надо ж описать реальную задачу, которую решает этот кусок кода.
15. artbear 1588 08.06.23 13:40 Сейчас в теме
(13)
Артур, никто ж не говорит про мега-цену для Infostart-toolkit? Вот мне непонятно почему он стоит дороже косаря...

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

Но т.к. я знаю сколько стоит час работы программиста я не задаю таких вопросов и не пишу нигде что цена завышена. Просто дорого лично для меня. Зачем это тиражировать на всех?

еще раз - я поставил минус и прокомментировал, почему я минусанул, т.к. минусовать без комментария считаю некорректным
14. biimmap 2118 08.06.23 12:24 Сейчас в теме
(1) И кстати, я вот 2 статьи по контактной информации опубликовал... Вообще бесплатно! И куча кода в придачу... Но ты даже не читал)
Это к тому, что раз ты ценишь адекватное соотношение цена-качество, то почему даже не смотришь?)
16. artbear 1588 08.06.23 13:41 Сейчас в теме
(14)
И кстати, я вот 2 статьи по контактной информации опубликовал... Вообще бесплатно! И куча кода в придачу... Но ты даже не читал)
Это к тому, что раз ты ценишь адекватное соотношение цена-качество, то почему даже не смотришь?)

а мне пока неинтересны знания по контактной информации, поэтому и не читаю )
17. biimmap 2118 08.06.23 13:56 Сейчас в теме
(16)
а мне пока неинтересны знания по контактной информации,


)))
5. improg 757 07.06.23 12:08 Сейчас в теме
Опубликуйте тогда шкалу оценки своих публикаций на ИС, как оценивать, какая публикация стоит 1 см, какая 2 см, а какая 10 см, оценил субъективно, модерацию прошла, публикацию создал по запросам предыдущей публикации.
10. Lemmonbri 173 07.06.23 14:43 Сейчас в теме
(5) У меня подход следующий: если я выкладываю для развития компьюнити, либо бесплатно, либо 1 см. Если хочу заработать, то по трудозатратам минус процент за тиражность (10-20%). Я полагаю что по трудозатратам у вас намного больше сумма вышла, чем 5 см. Но вы так же хотели и помочь комьюнити. Вы где то посерединке решили расположиться, как мне кажется) Для меня промежуточного состояния не существует. Но это опять же только мой субъективный подход.
18. improg 757 11.06.23 12:52 Сейчас в теме
Поясню что авторы минусов статьи не скачивали шаблоны. Я всегда их использую в работе, они реально помогают написать мне наиболее качественный и читабельный код.
19. biimmap 2118 11.06.23 19:34 Сейчас в теме
(18) По своему опыту могу сказать, что все кто ставит минусы не вникают в написанное и не скачивают файлы если они есть)))

Для того, чтоб их не расстраивать своим творчеством, я их заблокировал)))
"честного" минуса на моих публикациях пока что нет!
20. kuzyara 2255 16.06.23 06:33 Сейчас в теме
Исключение
	// 5. Если при установке блокировки возникла исключительная ситуация из-за того, что регистр уже заблокирован в другом сеансе (или по другим причинам),
	// отменить транзакцию и записать сведения об ошибке в журнал регистрации.
	ОтменитьТранзакцию();
	ЗаписьЖурналаРегистрации(НСтр("ru = 'Заметки'", ОбщегоНазначения.КодОсновногоЯзыка()), 
	    УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
	ВызватьИсключение;
КонецПопытки;
Нужна ли запись в ЖР при использовании метода ВызватьИсключение? Не вызовет ли это дублирование сообщения об ошибке?
21. improg 757 16.06.23 08:42 Сейчас в теме
(20) ВызватьИсключение рекомендуют писать если есть внешняя транзакция если ее нет данная строчка не нужна, напишу коммент в шаблонах. Запись в ЖР думаю нужна всегда прежде всего самому разработчику или поддержке для того чтобы понять причину.

при использовании вложенных транзакций (см. п. 1.4) в конце блока Исключение рекомендуется добавить оператор ВызватьИсключение. В противном случае исключение не будет передано выше по стеку вызовов, там не сработает обработка исключения, внешняя транзакция не будет явным образом отменена и платформа вызовет исключение «В данной транзакции происходила ошибка»
22. kuzyara 2255 16.06.23 09:42 Сейчас в теме
(21) Тогда почему в типовых при пробросе исключения после отмены транзакции запись в ЖР не делают?
В большинстве случаев используется:
Исключение
    ОтменитьТранзакцию();
    ВызватьИсключение;
КонецПопытки;
24. improg 757 16.06.23 11:11 Сейчас в теме
(22) Опять таки шаблон это некая заготовка которую разработчик может отредактировать, например если он убирает ВызватьИсключение, тогда запись в ЖР нужно оставить + вывести ИнформациюОбОшибке пользователю и наоборот.
23. improg 757 16.06.23 10:24 Сейчас в теме
(22) Согласен, видимо в последних версиях платформы пишется неявно в ЖР, тогда да запись в ЖР не обязательно писать с ВызватьИсключение, в частности версия платформы 8.3.22.1851. Возможно на более ранних релизах этого не было. Спасибо.
25. kuzyara 2255 19.06.23 08:52 Сейчас в теме
(23) причем тут версия платформы? неперехваченные ошибки всегда писались в ЖР
26. improg 757 19.06.23 09:04 Сейчас в теме
(25) Это я уже понял, вот только не пойму почему в документации пишут так:

Правильно записывать в журнал регистрации подробное представление исключения, а краткое представление добавлять в текст сообщения пользователю:

&НаСервере
Процедура ВыполнитьОперацию()
Попытка
// код, приводящий к вызову исключения
....
Исключение
// Запись события в журнал регистрации для системного администратора.
ЗаписьЖурналаРегистрации(НСтр("ru = 'Выполнение операции'"),
УровеньЖурналаРегистрации.Ошибка,,,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
Показать


ссылка на источник Перехват исключений в коде.
27. kuzyara 2255 19.06.23 09:13 Сейчас в теме
(26) потому что на клиенте нет метода "ЗаписьЖурналаРегистрации",
&НаКлиенте
Попытка
    ВыполнитьОперацию();
Исключение
    ТекстСообщения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
    ПоказатьПредупреждение(,НСтр("ru = 'Операция не может быть выполнена по причине:'") + Символы.ПС + ТекстСообщения);
КонецПопытки;
чтобы можно было записать полный текст ошибки, перед тем как подавим и изменим на текст на понятный пользователю.

Информация с этой страницы ИТС: Перехват исключений в коде содержит редкий кейс когда исключение перехватывается на клиенте - что вводит в заблуждение и только усугубляет неразбериху
28. improg 757 19.06.23 09:16 Сейчас в теме
(27) То что на клиенте нет записи ЖР это понятно, пишет то на сервере он ее. И у себя я тоже этот момент проверил на форме. Вообщем на практике я понял что если писать ВызватьИсключение то в ЖР дублировать запись не имеет смысла, если без ВызватьИсключение то тогда нужно производить запись в ЖР с подробным представлением об ошибке.

Вот еще источник Транзакции: правила использования
предпоследний пункт (рекомендуется в блоке Исключение делать запись в журнал регистрации;):

При использовании транзакций необходимо предусмотреть обработку исключений, придерживаясь следующих правил:

метод НачатьТранзакцию должен быть за пределами блока Попытка-Исключение непосредственно перед оператором Попытка;
все действия, выполняемые после вызова метода НачатьТранзакцию, должны находиться в одном блоке Попытка, в том числе чтение, блокировка и обработка данных;
метод ЗафиксироватьТранзакцию должен идти последним в блоке Попытка перед оператором Исключение, чтобы гарантировать, что после ЗафиксироватьТранзакцию не возникнет исключение;
необходимо предусмотреть обработку исключений – в блоке Исключение нужно сначала вызвать метод ОтменитьТранзакцию, а затем выполнять другие действия, если они требуются;
рекомендуется в блоке Исключение делать запись в журнал регистрации;
при использовании вложенных транзакций (см. п. 1.4) в конце блока Исключение рекомендуется добавить оператор ВызватьИсключение. В противном случае исключение не будет передано выше по стеку вызовов, там не сработает обработка исключения, внешняя транзакция не будет явным образом отменена и платформа вызовет исключение «В данной транзакции происходила ошибка»


и ниже кусок кода

Пример

НачатьТранзакцию();
Попытка
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить("Документ.ПриходнаяНакладная");
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", СсылкаДляОбработки);
ЭлементБлокировкиДанных.Режим = РежимБлокировкиДанных.Исключительный;
БлокировкаДанных.Заблокировать();

... // чтение или запись данных

ДокументОбъект.Записать();

ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();

ЗаписьЖурналаРегистрации(НСтр("ru = 'Выполнение операции'"),
УровеньЖурналаРегистрации.Ошибка,
,
,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));

ВызватьИсключение; // есть внешняя транзакция

КонецПопытки;
Показать


и далее еще кусок кода:

Правильно

НачатьТранзакцию();
Попытка
РегистрыСведений.КурсыВалют.УстановитьИспользованиеИтогов(Ложь);

НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Валюта.Установить(ВалютаСсылка);
НаборЗаписей.Загрузить(ТаблицаКурсов);
НаборЗаписей.ОбменДанными.Загрузка = Истина;

НаборЗаписей.Записать();

РегистрыСведений.КурсыВалют.УстановитьИспользованиеИтогов(Истина);

ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;

РегистрыСведений.КурсыВалют.ПересчитатьИтоги();
Показать
32. improg 757 17.07.23 09:42 Сейчас в теме
(27) да это редкий случай и работает правильно т.к. описан в примере Перехват исключений в коде, хороший кейс нужно взять на вооружение.
29. untru 71 26.06.23 01:10 Сейчас в теме
есть 2 см а очень хочется, выложите вариант для не имущих))))))
30. improg 757 26.06.23 18:33 Сейчас в теме
(29) Таких нет, если только эту цену снизить, предлагаю середину 3 см?
31. untru 71 05.07.23 14:36 Сейчас в теме
(30) так нет 3х то))) есть только 2)
34. improg 757 18.07.23 09:58 Сейчас в теме
(31) Поставил 2 см.
Date; amiralnar; +2 Ответить
33. improg 757 17.07.23 09:49 Сейчас в теме
(28) Тут при проверке не совсем как в примере проверил Перехват исключений в коде, не обернул в исключение на клиенте, если оборачивать на клиенте в попытку то в попытке на сервере нужно писать в ЖР.
35. bzmax 26.07.24 09:53 Сейчас в теме
Выложены два файла, а какой из них версии 1.1.3 (обновленный и исправленный) ?
И что делать если купил и скачал не тот?
В разделе скачать файл отметь какое то различие по файлам, т.к. не понятно что покупаешь и скачиваешь.
distorshion; +1 Ответить
Для отправки сообщения требуется регистрация/авторизация