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

28.02.25

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Шаблоны для применения cтандартов и методик разработки конфигураций 1С.:
.rar 43,63Kb ver:1.1.2
45
45 Скачать (2 SM) Купить за 2 150 руб.
Шаблоны для применения cтандартов и методик разработки конфигураций 1С:
.rar 46,10Kb ver:1.1.3
111
111 Скачать (2 SM) Купить за 2 150 руб.

Коллеги, добрый день, в продолжение темы Применение 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.

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

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

См. также

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

Расширяемый форматтер структуры модулей 1С. Умеет автоматически расставлять стандартные области и раскидывать по ним процедуры и функции модуля, оформлять стандартные комментарии к методам с помощью ИИ. Также умеет анализировать модуль - извлекать структуру вызовов, используемые поля и т.д. Реализован в виде расширения (.cfe). Можно использовать как платформу для обработки кода в своих задачах автоматизации разработки.

12.02.2025    5922    394    wonderboy    42    

117

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

В третьей статье по докладу Александра Кириллова, с которым он выступил на конференции INFOSTART TECH EVENT 2024, обсудим подходы к рефакторингу платформеннозависимого кода

11.02.2025    897    it-expertise    0    

3

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

Во второй статье по докладу Александра Кириллова, с которым он выступил на конференции INFOSTART TECH EVENT 2024, поговорим об особенностях анализа конфигурации 1С на наличие платформеннозависимого кода.

31.01.2025    1553    it-expertise    1    

7

Рефакторинг и качество кода Обновление 1С Программист Платформа 1С v8.3 Бесплатно (free)

В практике нашей специальной команды по проектам сложных обновлений 1С прошел один из самых объёмных проектов: необходимо было обновить «1С: Бухгалтерия предприятия КОРП 3.0 + БИТ.ФИНАНС». Конфигурация содержала доработки практически по всем типам объектов метаданных. Длительность проекта составила 1 год и 2 месяца и обеспечила полной загрузкой 4 разработчиков на 6 месяцев.

31.01.2025    1092    1c-izh    3    

5

Рефакторинг и качество кода Программист Стажер Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

В последнее время термин «чистый код» стал очень популярным. Появились даже курсы по данной тематике. Так что же это такое?

16.09.2024    17211    markbraer    66    

43

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

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

10.09.2024    1371    acces969    4    

6

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

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

28.08.2024    1883    Chernazem    3    

6

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

SOLID – принципы проектирования программных структур (модулей). Акроним S.O.L.I.D. образован из первой буквы пяти принципов. Эти принципы делают код более гибким, упрощают разработку. Принято считать, что принципы SOLID применимы только в объектно-ориентированном программировании. Но их можно успешно использовать и в 1С. Расскажем о том, как разобраться в принципах SOLID и начать применять их при работе в 1С.

22.08.2024    12437    alex_sayan    41    

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

Пример

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

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

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

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

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

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

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


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

Правильно

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

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

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

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

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

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