|
Метод ПередЗаписью() | ☑ | ||
---|---|---|---|---|
0
Vadimok
31.01.11
✎
06:53
|
Обхожу доккументы в цикле как мне вызвать метод ПередЗаписью().
Выборка = Документы.ЗаявкаНаПриобретениеТоваров.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.Проведен = Истина Тогда ДокОбъект = Выборка.ПолучитьОбъект(); //ДокОбъект.ПередЗаписью(,РежимЗаписиДокумента.Запись,); //Ошибка метод не обноружен ДокОбъект.Записать(РежимЗаписиДокумента.Проведение); Состояние(Выборка); КонецЕсли; КонецЦикла; |
|||
1
Rie
31.01.11
✎
06:55
|
(31) Это событие, а не метод. Оно само вызовется.
|
|||
2
Vadimok
31.01.11
✎
06:57
|
Так он не вызывается, я даже точку останова ставил.
|
|||
3
Rie
31.01.11
✎
06:59
|
(2) Тогда поподробнее. Метод ПередЗаписью - чего? Документа или формы?
|
|||
4
Rie
31.01.11
✎
07:00
|
+(3) Судя по количеству параметров в (0) - ты пытаешься вызывать метод формы. А это совсем не правильно.
|
|||
5
Wobland
31.01.11
✎
07:00
|
вопрос: как мне вызвать метод ПередЗаписью()?
ответ: попытаться записать |
|||
6
Rie
31.01.11
✎
07:02
|
(5) См. (0). Он обработчик события ПередЗаписью формы документа вызвать пытается.
|
|||
7
Vadimok
31.01.11
✎
07:02
|
Мне надо перебрвть документы.
И записать их с проверкой. А событие ПередЗаписью() не вызывается. Как мне правильно сделать? |
|||
8
Wobland
31.01.11
✎
07:03
|
давайте тогда послушаем, зачем автору это надо
|
|||
9
Rie
31.01.11
✎
07:03
|
(0) Тут такие варианты.
Все нужные тебе действия/проверки выносишь в обработчик события ПередЗаписью в модуле _объекта_ (а не формы). Или в модуле _объекта_ создаёшь новую экспортируемую процедуру, которая провернёт то, что тебе нужно - и вызываешь её. (Это если нужны действия только в твоей обработке, которые перед обычной записью не должны выполняться) |
|||
10
Denizzz
31.01.11
✎
07:05
|
(2) в модуле объекта тоже пробовал ставить?
|
|||
11
Denizzz
31.01.11
✎
07:08
|
+ (9) можно также попробовать использовать подписку на событие
|
|||
12
Rie
31.01.11
✎
07:12
|
(11) Тоже очень хороший вариант.
Тут вопрос в том, что нужно топикстартеру. ПередЗаписью в форме и ПередЗаписью в объекте не зря ведь были разделены. |
|||
13
Wobland
31.01.11
✎
07:12
|
не понял. а что, правда ДокОбъект.Записать(РежимЗаписиДокумента.Проведение) не приводит в ПередЗаписью() в модуле объекта ?
|
|||
14
Irbis
31.01.11
✎
07:14
|
Но все равно не гуд
Расширение формы документа (Document form extension) ЗаписатьВФорме (WriteInForm) Синтаксис: ЗаписатьВФорме(<Режим записи>) Параметры: <Режим записи> (необязательный) Тип: РежимЗаписиДокумента. Позволяет указать режим записи документа. Возвращаемое значение: Тип: Булево. Истина - документ успешно записан; Ложь - в противном случае. Описание: Записывает объект, редактируемый в данный момент в форме. См. также: Расширение формы документа, свойство ИспользоватьРежимПроведения |
|||
15
Denizzz
31.01.11
✎
07:19
|
(13) приводит, но видимо Вадимок пытается вызвать событие формы
|
|||
16
Vadimok
31.01.11
✎
07:20
|
Перенес в ПередЗаписью() в модуль документа, Все заработало. Спасибо.
|
|||
17
Wobland
31.01.11
✎
07:21
|
(16) на здоровье. что перенёс? см (5)
|
|||
18
Rie
31.01.11
✎
07:29
|
(16) ПередЗаписью в форме может производить дополнительные проверки/действия, используя данные формы (а не только документа).
Так что убедись, что перенос из формы в модуль объекта ничему не повредил. |
|||
19
Denizzz
31.01.11
✎
08:22
|
(16) если конфигурация на поддержке, то все же советую реализовать через подписку на событие.
|
|||
20
Rie
31.01.11
✎
08:24
|
(19) Это спорный вопрос.
Если он оставит ПередЗаписью в форме - то будет "удвоение эффекта" при интерактивной записи документа. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |