|
v8.2 УдалитьОбработчик | ☑ | ||
---|---|---|---|---|
0
Dmitrith
20.09.11
✎
15:04
|
Народ помогите вкурить:
Требуется из обработки записать элемент справочника,но при этом чтобы ПриЗаписи() данного элемента не обработалось. Насколько я понимаю это можно сделать через УдалитьОбработчик, по документации ничего не понял. У меня сейчас так: Если Не СтандартнаяЗапись Тогда УдалитьОбработчик НайденныйЭлемент.ПриЗаписи, ПриЗаписи; // тут что??? КонецЕсли; НайденныйЭлемент.Записать(); |
|||
1
GenV
20.09.11
✎
15:06
|
(0) Обычно в обработчиках есть проверка на ОбменДанными.Загрузка. Тогда можно через неё обойти.
|
|||
2
Dmitrith
20.09.11
✎
15:07
|
Знаю. Это справочник НоменклатурныеГруппы в УПП. Нет там ОбменДанными ((
|
|||
3
Жан Пердежон
20.09.11
✎
15:07
|
НайденныйЭлемент.Загрузка = Истина;
не катит? |
|||
4
Dmitrith
20.09.11
✎
15:08
|
(3) Нет.
|
|||
5
Жан Пердежон
20.09.11
✎
15:11
|
(3) *.ОбменДанными
(2) есть |
|||
6
Жан Пердежон
20.09.11
✎
15:13
|
телепатирую дальше:
у тебя в (0) НайденныйЭлемент - ссылка, а должен быть объект |
|||
7
Dmitrith
20.09.11
✎
15:20
|
(5) Для того чтобы
ОбменДанными.Загрузка = Истина; работал в самом обработчике должно быть условия необработки этих исключений. Так например написано в справочнике ДоговорыКонтрагентов: // Проверим, заполнен ли способ ведения взаиморасчетов. Если НЕ ОбменДанными.Загрузка И НЕ ЗначениеЗаполнено(ВедениеВзаиморасчетов) Тогда Сообщить("Не указан способ ведения взаиморасчетов по договору.", СтатусСообщения.Важное); Отказ = Истина; КонецЕсли; В справочнике же НоменклатурныеГруппы в обработчике ПриЗаписи(0 Таких условий нет. Там тупо стоит проверка на заполненность поля, которая и выдает ошибку в любом случае |
|||
8
Dmitrith
20.09.11
✎
15:22
|
(6) Код процедуры уже отлажен и другие справочники пишет нормально (это универсальная процедура загрузки справочников при обмене). Затык именно на данном справочнике.
|
|||
9
Жан Пердежон
20.09.11
✎
15:24
|
(8) ну так допили ПриЗаписи(), тем более, что в типовой (1.3.9.1) ПриЗаписи() - для НГ вообще не определен, зато
Процедура ПередЗаписью(Отказ) Если НЕ ОбменДанными.Загрузка И НЕ ЭтоГруппа И НЕ ЗначениеЗаполнено(БазоваяЕдиницаИзмерения) Тогда #Если Клиент Тогда РаботаСДиалогами.СообщитьПользователюНезаполненРеквизит(Ссылка, "базовая единица"); #КонецЕсли Отказ = Истина; КонецЕсли; КонецПроцедуры // ПередЗаписью() |
|||
10
Dmitrith
20.09.11
✎
15:25
|
(9) я понимаю что можно допилить элементарно, но задача стоит максимально не трогать типовую конфигурацию. Поэтому и пытаюсь сделать через УдалитьОбработчик
|
|||
11
Dmitrith
20.09.11
✎
15:27
|
(9) и в 1.3.16 ПриЗаписи() уже присутствует
|
|||
12
Жан Пердежон
20.09.11
✎
16:07
|
(11) открыл специально 1.3.16.1 - нету,
тем более, что уже проверять заполнение реквизитов в обработчиках записи - моветон |
|||
13
Dmitrith
20.09.11
✎
16:09
|
(12) Ну как нету а это что? http://clip2net.com/s/1bCCb
|
|||
14
Жан Пердежон
20.09.11
✎
16:20
|
(13) а ничего, что это форма элемента?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |