При открытии отказ 1с это
Трассировка показывает "вход" в эту процедуру? Может "грабли" до неё?
Установи точку отладки на Отказ=Истина; Останавливается на ней или вылетает раньше?
(1) lisrws, кмк это обычное штатное поведение программы. Отказ = Истина в обработке проведения не вызывает исключения, это не ошибка.
Если там же написать а = б / 0, то будет ошибка, предложение перейти в конфигуратор и все такое.
нет. под дебагом зашел. отказ сперва "Ложь". потом установился в "истина". и все завершилось нормально. если убрать "отказ=истина;", то процедура полностью отработает и у документа установится признак проведения
(5) lisrws, странно это все, а если возврат убрать вовсе ? а у вас случайно подписки на проведение нету ? может в подписке валится ?
(7) AllexSoft, Похоже, но смущеет:
Зачем безапеляционная отмена?
и есть проверка на заполненность обязательных реквизитов. так вот на этой проверке, отказ устанавливается в истину и эта ошибка валится только в этом случае
Ну так "Сходите" туда трассировкой.
к сожаление на 15-й версии платформы ситуация повторилась. решили на это исключение забить, так что всем участникам спасибо, что откликнулись
(18) а зачем её завершать? вы же отказ в истину поставили. Документ и так не проведётся и не сделает никаких движений по регистрам (так как там проверяется на отказ = истине).
Или же выполнение дальнейших функций обернуть в
(14) "Возврат" убрать пробовали?)
Имхается проблема в нём.
Так как возврат прекращает процедуру и осуществляет возврат к точке из которой была вызвана эта процедура, то скорее всего вернуться некуда, вот и пишет ошибку.
Была аналогичная ситуация. Поборол следующим образом:
1. Поставил режим совместимости интерфейса "Такси. Разрешить Версия 8.2"
2. Запустил 1С со старым интерфейсом упр. форм.
3. Зашел в документ, при проведении получил ошибку проведения, но уже с окном без кнопки "Подробно" (только ОК).
4. Переключил интерфейс на "Такси"
5. Профит ) При проведении документа и Отказ = Истина получаем окно ошибки без кнопки Подробно.
Последовательность событий, которые происходят при открытии формы нового элемента, можно представить следующей схемой:
Прежде всего, при заполнении нового объекта данными, можно попробовать обойтись вообще без написания какого-либо кода. Для этого у реквизитов объектов конфигурации есть свойства ЗначениеЗаполнения и ЗаполнятьИзДанныхЗаполнения.
Эти свойства позволяют визуально (в конфигураторе) задать правила, по которым реквизит будет заполняться данными при создании нового объекта.
Если этих возможностей недостаточно, то тогда нужно использовать возможности встроенного языка.
Действия с данными объекта нужно выполнять в модуле объекта, в обработчике события ОбработкаЗаполнения. Этот событие возникает только при создании новых объектов, при открытии форм существующих объектов это событие не вызывается. Поэтому в нем не нужно узнавать, новый это объект, или нет. Нужно только описать алгоритм заполнения объекта данными. При этом следует учитывать, что это событие будет вызываться в нескольких случаях:
- при интерактивном создании нового объекта,
- при вводе на основании,
- при выполнении метода объекта Заполнить().
При этом параметр Основание, передаваемый в этот обработчик, может иметь различные значения в зависимости от того, каким образом создается новый элемент.
Например, он может иметь тип ссылки, если новый объект вводится на основании.
Или он может иметь тип Структура, если новый объект создается интерактивной командой из списка, в котором установлен отбор. В этом случае структура будет содержать значения элементов отбора этого списка.
Также этот параметр может иметь тип Неопределено, если новый элемент создается интерактивной командой из панели действий. То есть в своем алгоритме начального заполнения полезно анализировать этот параметр.
Что касается внешнего вида формы нового объекта, то им нужно управлять в обработчике события формы ПриСозданииНаСервере.
Это событие возникает и для новых, и для существующих объектов. Поэтому в нем нужно убедиться в том, что открывается форма именно нового объекта. Убедиться в этом можно проанализировав параметр формы Ключ.
Если объект новый, в этом параметре будет пустая ссылка. Если это существующий объект – в этом параметре будет ссылка на этот объект:
Если требуется выполнять какие-то действия в обработчике события формы ПриОткрытии, то в нем ситуация аналогичная, нужно анализировать параметр формы Ключ.
Для тех кто не хочет читать все что выше, код проверки на ЭтоНовый в Управляемом приложении:
Похожие FAQ
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора База 1С при запуске уходит в дамп и вылетает 1
В последнее время частенько обращаются пользователи у которых после замены или ремонта компьютера 1С не запускается, а точнее при открытии уходит в dump и вылетает. Как правило, решение одно: Отключить аппаратное ускорение видеокарты В Window Посмотреть все результаты поиска похожих
Еще в этой же категории
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П Как открыть внешнюю обработку или отчет программно 1С УП? 6
В версии 8.2 и старше: приложение не работает непосредственно с локальными файлами, расположенными на компьютере. Файлы должны находиться на сервере. Поэтому для открытия внешней обработки нужно выполнить следующую последовательность действий: Ввод по строке - поиск по первым символам или в любом месте наименования 6
При разработке конфигурации, для упрощении ввода документов потребовалось настроить ввод номенклатуры по совпадению любой части наименования! В 1С 8.3 по умолчанию настройки справочника номенклатуры такие: При такой настройке, механизм поиска в Как передать таблицу значений с сервера на клиент? 5
Многие спрашиваю, как передать тз с сервера на клиент - ниже несколько вариантов как это можно реализовать: Через ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр НаКлиенте Процедура ПолучитьТаблицу НаСервер(Команд а) ТЗВСтроке = ПолучитьТЗНаС РеквизитФормыВЗначение() и ДанныеФормыВзначение() - Описание и примеры использования 2
gvk2009 подробно и доходчиво описал разницу методов, за что ему огромное спасибо: В Синтаксис-Помощнике очень скупо написано о процедуре ДанныеФормыВЗначение (), чуть побольше - о РеквизитФормыВЗначение (). И совсем нет примеров использования. Посмотреть все в категории Управляемое приложение, Тонкий клиент
Последовательность событий, которые происходят при открытии формы нового элемента, можно представить следующей схемой:
Прежде всего, при заполнении нового объекта данными, можно попробовать обойтись вообще без написания какого-либо кода. Для этого у реквизитов объектов конфигурации есть свойства ЗначениеЗаполнения и ЗаполнятьИзДанныхЗаполнения.
Эти свойства позволяют визуально (в конфигураторе) задать правила, по которым реквизит будет заполняться данными при создании нового объекта.
Если этих возможностей недостаточно, то тогда нужно использовать возможности встроенного языка.
Действия с данными объекта нужно выполнять в модуле объекта, в обработчике события ОбработкаЗаполнения. Этот событие возникает только при создании новых объектов, при открытии форм существующих объектов это событие не вызывается. Поэтому в нем не нужно узнавать, новый это объект, или нет. Нужно только описать алгоритм заполнения объекта данными. При этом следует учитывать, что это событие будет вызываться в нескольких случаях:
- при интерактивном создании нового объекта,
- при вводе на основании,
- при выполнении метода объекта Заполнить().
При этом параметр Основание, передаваемый в этот обработчик, может иметь различные значения в зависимости от того, каким образом создается новый элемент.
Например, он может иметь тип ссылки, если новый объект вводится на основании.
Или он может иметь тип Структура, если новый объект создается интерактивной командой из списка, в котором установлен отбор. В этом случае структура будет содержать значения элементов отбора этого списка.
Также этот параметр может иметь тип Неопределено, если новый элемент создается интерактивной командой из панели действий. То есть в своем алгоритме начального заполнения полезно анализировать этот параметр.
Что касается внешнего вида формы нового объекта, то им нужно управлять в обработчике события формы ПриСозданииНаСервере.
Это событие возникает и для новых, и для существующих объектов. Поэтому в нем нужно убедиться в том, что открывается форма именно нового объекта. Убедиться в этом можно проанализировав параметр формы Ключ.
Если объект новый, в этом параметре будет пустая ссылка. Если это существующий объект – в этом параметре будет ссылка на этот объект:
Если требуется выполнять какие-то действия в обработчике события формы ПриОткрытии, то в нем ситуация аналогичная, нужно анализировать параметр формы Ключ.
Для тех кто не хочет читать все что выше, код проверки на ЭтоНовый в Управляемом приложении:
Похожие FAQ
Еще в этой же категории
Как проверить ЭтоНовый() в управляемой форме? 11
Понятие ЭтоНовый() отсутствует в 8.2. Поэтому при необходимости определить, что создается новый элемент можно использовать следующую особенность управляемой формы. Как правило, любая управляемая форма содержит в себе реквизит " Объект" , поэтому Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П Заполнение реквизитов формы и объекта 6
Для реквизитов в документе обработке отчете: Объект.Реквизит = " значение" ; Для реквизитов на форме: ЭтаФорма.Реквизит = " значение" ; Как получить Макет? 6
НаСервере Функция ПолучитьМакетНаСервере(ИмяМакета) ЭтотОбъект=РеквизитФормыВЗначение(" Объект" ); Макет = ЭтотОбъект.ПолучитьМакет(ИмяМакета); Возврат Макет; КонецФункции НаСервере Процедура ВывестиМакет(ТД) Макет = Обработки.ОбработкаВ Как открыть внешнюю обработку или отчет программно 1С УП? 6
В версии 8.2 и старше: приложение не работает непосредственно с локальными файлами, расположенными на компьютере. Файлы должны находиться на сервере. Поэтому для открытия внешней обработки нужно выполнить следующую последовательность действий: Посмотреть все в категории Управляемое приложение, Тонкий клиент
Как Вы думаете, что правильнее писать, например, в ОбработкаПроведения, если документ проводить нельзя?
(12) Исключение это обработка исключительной ситуации, когда выполнение кода может завершиться ошибкой исполнения. Это как микроскопом гвозди забивать, вам не кажется?
(16) конечно потеряется. вызов метода веб-сервиса просто завершится ошибкой, описание будет что то типа "документ не записан."
(13) Исключение выгодно использовать ,когда ошибку надо реально обработать. Например, необходимо внести информацию по ошибке и контексту в таблицу и по окончании процесса вывести ее пользователю.
(14) У ВызватьИсключение есть очень большой минус для групповой обработки - ломает транзакцию. Вместо того, чтобы записать/обработать 100500 элементов одной транзакцией приходится без нее в этом случае делать.
все зависит от случая .
мне больше нравится. Хотя я уверен что это не правильно (Есть такое мнение что все что мне нравится не правильно)
(23) в одной транзакции нужно обрабатывать только те данные в верность которых ты уверен на 1000 процентов.
(26) если мы проводим документ, а он не проводится (в результате проверок внутри обработки проведения) - это разве не исключительная ситуация?
(29) Целостность данных, конечно же. Но как побочный результат, можно слегка оптимизировать работу с БД.
Отказ = Истина; тоже генерирует исключение, только описание ошибки будет совсем не информативное: "Ошибка при вызове метода контекста (Записать): Операция не выполнена!"
(36) Что плюсы? Судя по вопросам, "Ты хочешь и Рыбку съесть и на стуле посидеть". Ты программист или Дворник?
"Будь мужиком, напиши свой обработчик ошибок!" :)
+(36) Ошибка "Не заполнен реквизит " Может быть всего лишь верхушкой Айзберга.
А ошибок может быть куева туча.
.
Но а ты со своим Исключением получишь только одну, да и то мало внятную, если напишешь в ошибку весь талмуд всех ошибок :)
(41) Читай (37). И программируй :)
Если лень, то пиши через Исключение.
.
Предлагаю написать по человечески в зависимости от потребности детализации ошибка на стороне Веб-Клиента :)
(44) Какое в опу нарушение целостности ,когда не обновлен/создан один из 100500 несвязанных элементов? А нагрузка на БД, если делать одной транзакцией будет меньше и отработает шустрее.
(44) Есть легенда, что на определенных объемах информации, через транзакцию быстрее пишутся данные.
Но есть и другая версия, о том, что при этой транзакции все курят бамбук. А так же если превысить определенный объем информации в транзакционном пакете, то скорость упадет куда больше ,чем простая запись :)
(45) связанные они или нет - неважно. к транзакционным системам есть требование атомарности, то есть или все изменения прошли, или ни одно.
"не даст проводить "роботом"" - это что за зверь?
(46) С учетом того, сколько времени отнимает встроенный язык, трансляция запросов и т.д. - кто-то правда задрачивает на оверхед от транзакционной машины в СУБД?
(52) Есть запись в журнал регистрации.
Опять же во многих случаях желательно проверить все ветки алгоритма. Вызов исключения приостанавливает выполнение.
(54) Конечно, это уже поставка от 1С, т.е. если документ не провелся, то получи исключение. Все нормально и логично. Я бы сказал ожидаемо :)
Если доступен флаг Отказ, то стараюсь нужно использовать его. Для случаев, когда Отказ недоступен можно использовать ВызватьИсключение.
+ установка Отказ в Истина не прерывает исполнения процедуры/функции.
(58) какой смысл в дальнейшем выполнении процедуры после того, как Отказ встал в Истина (транзакция полюбому отменяется)? Если только он в дальнейшем опять изменится на Ложь. Такое где нибудь применяется? В типовых точно нет.
(60) это конечно же тема отдельного разговора (выводить пользователю все найденные ошибки или только первую), так что давайте его на другой раз отложим. но извольте: пусть второй вариант опроса реализован чуть иначе: заведена отдельная переменная (например МойОтказ), а в конце процедуры ее значение анализируется и, если оно истинно, то уже вызывается исключение. ведь в этом случае второй вариант несет только плюсы?
(62) Сообщить вполне себе есть на сервере. Даже при вызове из фонового задания вполне работает. Даже то, что было запихано в Сообщить внутри фонового задания потом прочитать можно.
А вообще да, абстракции такие абстракции)
+(62) Отказ = Истина при выходе из ОбработкаПроведения точно так же все остановит, потому что Отказ = Истина это тоже генерация исключения.
(56) Если ты обрабатываешь исключение, то это просто перевод (goto) кода в обработчик исключение
Отказ это не исключение это ОтменитьТранзакцию
(64)
Да, согласный.
>Доступность:
>Сервер, толстый клиент, внешнее соединение.
Но суть в том, что ошибки которые мы хотим Сообщить, покажутся на клиенте только после окончания серверного вызова.
В этом плане, ИМХО, подход в бухе 7.7 (кажется) был самым правильным (после попытки провести отчет с результатом).
PS Все написанное мое личное мнение и может отличаться и других :)
(50) 10-25% процентов экономии порой. Не ахти-что, но иногда экономит лишние полчаса-час. Конечно, надо учитывать блокировки. А кто-то предлагает бездумно что-то использовать?
(63) Есть есть транзакция, то используется Отказ, если код выполняестся вне транзации - ВызватьИсключение.
(67) "Отказ это не исключение" - именно исключение. А откат транзакции это лишь следствие исключения. Если не веришь - попробуй в Попытка - Исключение записать объект, у которого в модуле объекта в "ПередЗаписью" стоит Отказ = Истина. Вывалишься в исключение.
(69) Как все запущено.
Если такой любитель наслаждаться сайд-эффектами - найди в коде все вызовы Новый БлокирвокаДанных и закомментируй. Тоже немало производительности выиграешь.
(74) Представляю, что ты скажешь на то, что я использую обновляю реквизиты документа прямым запросом :)
(72) Вообще то передЗаписью выполняется вне Транзакции.
Но это не суть. Смысл Отказа это установка флага ошибки.
Которое внутри процедуры не прекращает ход выполнения.
Но обрабатывается при выходе из предопределенной процедуры.
А дальше уже может вызываться исключение, Отмена Транзакции.
Смысл исключения перед отменой именно в немедленном прекращении процедуры с записью ошибки в журнал регистрации и вывода исключения для пользователя
Исключения которые перехватываются внутри процедуры это просто оператор перехода в обработчик исключения.
Возникает перед выполнением записи элемента справочника. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи элемента справочника.
да флаг отмена вызывает отмену транзакции и исключение по выходе из процедуры.
ПередЗаписью модуля объекта выполняется уже в транзакции
Здравая мысль про запись в журнал регистрации (1-й вариант не пишет, 2-й пишет), это я как то упустил. Но все равно думаю это не очень существенно.
Но отмена например могла бы быть и результатом выполнения.
(86) Т.е. ты считаешь, что никогда и ни в коем случае, нельзя лезть в 1С прямыми запросами? И что же случится при этом? Мир рухнет, сатана вылезет из ада, солнце потухнет?
(79) Есть еще один минус исключений. Иногда невозможно полностью оттестить все ветки алгоритма, и например проведение записи документа ставишь в обработчик исключений.
Записываешь в ЖР, а пользователю сообщаешь что бы обратился к программисту.
То есть нужно еще разделять пользовательские исключения и исключения системы. В нормальных языках это регулируется классом ошибок.
Обычно при проведении интересно узнать все возможные причины отказа проведения, а не останавливаться на первой попавшейся.
А ведь этим темам не больше года.
Диагноз:
1. "Мальчик паталогически не переносит учебу" - т.е. на лицо банальная аллергия на на чтение документации
2. При этом самомнение - как у вчерашнего девственника, оценивающего свой сексуальный опыт
3. Первое и второе вместе - я бы тебе даже доступа в рабочую базу не дал.
(91) И что не так в этих темах? Ты уверен, что знаешь все? Уверен, что документация раскрывает все возможные проблемы? Я, например, не уверен.
А самомнение только у тебя. Т.к. твое представление о работе с транзакциями кажется единственно верным. А бедные быдлокодеры из шаражки Oracle напридумывали и используют такую ересь, как автономные транзакции. Не понимают своей ущербности :(
(91) Кстати, по мотивам v8: 1С 8.2 УФ. Событие НаКлиенте после отмены проведения. ,а тебе самому не показалось странным и нелогичным, что есть клиентское событие ПередЗаписью, серверное ПередЗаписьюНаСервере, но нет клиентского ПослеЗаписи? Мне вот показалось. Но у меня нет такого самомнения, чтобы быть уверенным в безвыходности этой ситуации :(
(92) Я уверен, что Вам объективно рано делать заявления, подобные (83) :)
А про вложенные транзакции - это ведь просто обертка над вторым коннектом к БД. Ваша "вложенная транзакция" не разделяет блокировок основной и т.д. И, что самое главное - описываемого Вами "ускорения" операций в транзакции Вы уже не получите - с таким же успехом, можете просто запускать фоновое задание в коде на встроенном языке и дожидаться его завершения из кода, выполняемого в транзакции - будет тоже самое.
Через эту штуку удобно делать всякие аудиторские записи, инкременты счетчиков за т.д - это да.
А за алгоритм вида "делаем построчный update, где не сделался - пропускаем" любой опытный ораклоид сперва оторвет Вам руки, а затем понесет директору служебку о Вашем несоответствии занимаемой должности :)
(94) "Я уверен, что Вам объективно рано делать заявления, подобные (83) " Т.е. Вы считаете ,что видели все и знаете обо всем? Печально, жить скучно, должно быть.
(95) Я видел достаточно, чтобы гордые рассказы об ускорении обработки за счет транзакций и прямые запросы к 1Сной базе вызывали у меня только facepalm. Остальное - Ваши домыслы
.
(94) "А про вложенные транзакции - это ведь просто обертка над вторым коннектом к БД." Вы это с постгрёй не путаете.
(96) Т.е. Вы мыслите исключительно основываясь на парадигме, что собеседник - дебил? Не спорю, это намного безопаснее и помогает избежать негативных последствий его действий, но вот в рациональности есть сомнения.
(97) https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/autonotransaction_pragma.htm - особенно много внимания уделяем разделу "Usage Notes" - про пересечения блокировок, дедлокам с вложенными транзакциями и т.д.
(98) Это зависит от того, что говорит собеседник. И как аргументирует свою точку зрения.
Заливкой выделены события, выполняющиеся в транзакции записи.
Последовательность событий при проведении документа из формы документа (провести и закрыть)
Заливкой выделены события, выполняющиеся в транзакции записи.
Последовательность событий при отмене проведения документа из формы документа
Заливкой выделены события, выполняющиеся в транзакции записи.
Обработчики событий
Расширение управляемой формы для документа. Возникает на клиенте перед выполнением записи объекта из формы. Процедура-обработчик данного события вызывается перед вызовом процедуры-обработчика события ПередЗаписью .
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения». Параметр РежимПроведения может отсутствовать, если режим проведения в документе не определен.
Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере .
Расширение управляемой формы для документа. Вызывается перед записью объекта на сервере. Можно отменить запись. Выполняется вне транзакции.
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
- ТекущийОбъект , тип ДокументОбъект.ИмяДокумента . Записываемый объект.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Возникает перед выполнением записи объекта. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи документа.
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
- РежимЗаписи , тип РежимЗаписиДокумента . В параметр передается текущий режим записи документа. Позволяет определить в теле процедуры режим записи. Изменение значения параметра позволяет изменить режим записи.
- РежимПроведения , тип РежимПроведенияДокумента . В данный параметр передается текущий режим проведения. Изменение значения параметра позволяет изменить режим проведения.
Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.
- Отказ , тип Булево . Признак отказа от записи документа. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись документа выполнена не будет. Значение по умолчанию: Ложь .
Расширение управляемой формы для документа. Возникает на сервере при записи объекта из формы. Процедура-обработчик вызывается после записи объекта (после события ПриЗаписи объекта) в базу данных, но до окончания транзакции записи.
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись произведена не будет. Значение по умолчанию: Ложь .
- ТекущийОбъект , тип ДокументОбъект.ИмяДокумента . Записываемый документ.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Расширение управляемой формы для документа. Вызывается после записи объекта на сервере и после завершения транзакции.
- ТекущийОбъект , тип ДокументОбъект.ИмяДокумента . Записываемый объект.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Расширение управляемой формы для документа. Возникает на сервере после записи объекта и после окончания транзакции записи, то есть к моменту вызова этой процедуры запись объекта полностью завершена.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере .
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Читайте также: