|
Процедура ПередЗаписью() и Ссылка |
☑ |
0
serpentt
16.05.12
✎
11:36
|
Здравствуйте..
Помогите начинающему
в документе есть процедура ПередЗаписью()
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
...
...
мЗакрытиеСмены = (Не ЗначениеЗаполнено(Ссылка.ОтчетОРозничныхПродажах)
И ЗначениеЗаполнено(ОтчетОРозничныхПродажах));
...
КонецПроцедуры
Внешней обработкой делаю выборку документов и пытаюсь внести в данный документ ИЗМЕНЕИЯ в реквизит "ОтчетОРозничныхПродажах".
Но когда отрабатывает Предопределенная процедура ПередЗаписью()а первом условии
(Ссылка.ОтчетОРозничныхПродажах) нет изменений.
можно как-то програмнео передать в процедуру ПередЗаписью() что бы и в Ссылка.ОтчетОРозничныхПродажах были теже изменения что и в реквизите ОтчетОРозничныхПродажах?
|
|
1
mikecool
16.05.12
✎
11:37
|
нет, нельзя
|
|
2
mikecool
16.05.12
✎
11:38
|
тут как раз идет сравнение того что есть сейчас с тем, что было до изменения
|
|
3
Rizhij_Nikitos
16.05.12
✎
11:39
|
А ты пробывал получил по ссылке объект, и его потом менять и записать и сработает втоя процедура перед записью, если понял правильно твой вопросы, выглядит это так.
НашОбъект = ТвояСсылкаНаОбъект.ПолучитьОбъект();
НашОбъект.Реквизит = ЗначениеДляНужногоРеквизита;
НашОбъект.Записать();
И все изменения будут.
|
|
4
ptrtss
16.05.12
✎
11:40
|
В начале ПередЗаписью должно стоять
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
А ты когда получаешь объект документа в обработке ставь .ОбменДанными.Загрузка = ИСТИНА
И запись будет просто с изменением реквизита
|
|
5
Rizhij_Nikitos
16.05.12
✎
11:40
|
А вопрос прочитал не правильно.
(0) тебе надо делать так, в процедуре ПриЗаписи, ты получаешь у тебя щас и что потом будет.
|
|
6
Rizhij_Nikitos
16.05.12
✎
11:43
|
СсылкаНаОбъект будет показывать, что щас в базе хранится, а в ЭтотОбъект, что есть по факту в документе.
|
|
7
KAO111
16.05.12
✎
11:47
|
Если ЭтоНовый() тогда
// в ссылке точно ничего нет - можно не сравнивать
Иначе
КонецЕсли;
|
|
8
serpentt
16.05.12
✎
11:54
|
(3) все так и делаю но не взлетает
Пока ВыборкаЧековККМ.Следующий() Цикл
ЧекККМОбъект = ВыборкаЧековККМ.Ссылка.ПолучитьОбъект();
//ЧекККМОбъект.УстановитьПометкуУдаления(Истина); // Удалить()
Попытка
ЧекККМОбъект.ОтчетОРозничныхПродажах = "";
ЧекККМОбъект.Записать();
Исключение
Сообщить(ИнформацияОбОшибке().Описание);
КонецПопытки;
Попытка
ЧекККМОбъект.УстановитьПометкуУдаления(Истина);
Исключение
Сообщить(ИнформацияОбОшибке().Описание);
КонецПопытки;
Сообщить(ЧекККМОбъект);
КонецЦикла;
|
|
9
serpentt
16.05.12
✎
12:04
|
(4) Спасибо... помогло
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший