|
Событие ПередЗаписью | ☑ | ||
---|---|---|---|---|
0
nbutt
03.12.12
✎
05:51
|
Здравствуйте. Перешли на новую версию УТ, релиз 10.3.18.3. В справочние КонтактныеЛицаКонтрагентов не срабатывают процедуры ПередЗаписью, ни в модуле формы, нив модуле объекта. Форма обычная. В эти процедуры не попдаю отладчиком по точкам останова. Процедуры прикрепрены к событиям формы и объекта соответственно.
|
|||
1
nbutt
03.12.12
✎
05:53
|
Сами процедуры вот
Процедура ПередЗаписью(Отказ) Если НЕ ЗначениеЗаполнено(КонтактноеЛицо) Тогда // новое контактное лицо НовоеКонтактноеЛицо = Справочники.КонтактныеЛица.СоздатьЭлемент(); НовоеКонтактноеЛицо.Фамилия = Фамилия; НовоеКонтактноеЛицо.Имя = Имя; НовоеКонтактноеЛицо.Отчество = Отчество; НовоеКонтактноеЛицо.Наименование = Фамилия + " " + Имя + " " + Отчество; НовоеКонтактноеЛицо.ДатаРождения = ДатаРождения; НовоеКонтактноеЛицо.НапоминатьОДнеРождения = НапоминатьОДнеРождения; НовоеКонтактноеЛицо.КоличествоДнейДоНапоминания = КоличествоДнейДоНапоминания; НовоеКонтактноеЛицо.Пол = Пол; Попытка НовоеКонтактноеЛицо.Записать(); Исключение Отказ = Истина; Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; КонтактноеЛицо = НовоеКонтактноеЛицо.Ссылка; КонецЕсли; Наименование = КонтактноеЛицо; КонецПроцедуры Процедура ПередЗаписью(Отказ) // Вставить содержимое обработчика. Если ЭтотОбъект.ЭтоНовый() = Истина Тогда ФормаНового = ЭтотОбъект.ПолучитьФорму("ФормаВводаНового"); Если НЕ ЗначениеЗаполнено(КонтактноеЛицо) Тогда // новое контактное лицо НовоеКонтактноеЛицо = Справочники.КонтактныеЛица.СоздатьЭлемент(); НовоеКонтактноеЛицо.Фамилия = ФормаНового.ЭлементыФормы.Фамилия; НовоеКонтактноеЛицо.Имя = ФормаНового.ЭлементыФормы.Имя; НовоеКонтактноеЛицо.Отчество = ФормаНового.ЭлементыФормы.Отчество; НовоеКонтактноеЛицо.Наименование = ФормаНового.ЭлементыФормы.Фамилия + " " + ФормаНового.ЭлементыФормы.Имя + " " + ФормаНового.ЭлементыФормы.Отчество; НовоеКонтактноеЛицо.ДатаРождения = ФормаНового.ЭлементыФормы.ДатаРождения; НовоеКонтактноеЛицо.НапоминатьОДнеРождения = ФормаНового.ЭлементыФормы.НапоминатьОДнеРождения; НовоеКонтактноеЛицо.КоличествоДнейДоНапоминания = ФормаНового.ЭлементыФормы.КоличествоДнейДоНапоминания; НовоеКонтактноеЛицо.Пол = ФормаНового.ЭлементыФормы.Пол; Попытка НовоеКонтактноеЛицо.Записать(); Исключение Отказ = Истина; Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; КонтактноеЛицо = НовоеКонтактноеЛицо.Ссылка; КонецЕсли; Наименование = КонтактноеЛицо; КонецЕсли; КонецПроцедуры |
|||
2
uraskin
03.12.12
✎
06:17
|
проверьте привязаны ли они к самой форме.в свойствах формы должна быть ссылка на это событие
|
|||
3
kosts
03.12.12
✎
06:20
|
(0) Попробовать очистить кэш.
|
|||
4
nbutt
03.12.12
✎
06:23
|
(2) да, процедура в форме привязана к соответствующему событию. Кэш попробую сейчас.
|
|||
5
nbutt
03.12.12
✎
06:30
|
(3) к сожалению, очистка кэша тоже не помогла.
|
|||
6
Cube
03.12.12
✎
06:31
|
А отладчик-то подключен к пользовательскому сеансу?)
|
|||
7
nbutt
03.12.12
✎
06:33
|
(6) да, подключен)
|
|||
8
vitek89
03.12.12
✎
06:50
|
А если сообщить("что-нибудь") вписать, то сообщение вылазит?)
|
|||
9
kosts
03.12.12
✎
06:55
|
Сравни объедини этот справочник с типовой.
Попробуй сгенерировать эти процедуры заново, что бы автоматически вставились. |
|||
10
SeraFim
03.12.12
✎
06:56
|
База файловая?)
|
|||
11
nbutt
03.12.12
✎
06:57
|
(9) в модуле формы не вылазит, это пробовал. в модуле объекта попробовал, аналогично ничего)
|
|||
12
playmaker
03.12.12
✎
06:59
|
И все-таки - "КонтактныеЛица" или "КонтактныеЛицаКонтрагентов"?
|
|||
13
nbutt
03.12.12
✎
07:02
|
(12) КонтактныеЛицаКонтрагентов. При его заполнении создается объект КонтактноеЛицо и используется уже в справочнике КонактныеЛицаКонтрагентов.
|
|||
14
playmaker
03.12.12
✎
07:02
|
(13) Ага, уже дошло
|
|||
15
nbutt
03.12.12
✎
08:09
|
Нашел косяк. Проверка на заполненность, как оказалось, проводится перед обработкой события ПередЗаписью. А наименование как раз пустое и в обработке события и заполняется. Всем спасибо за помощь, если что:)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |