|
Процедура ПередЗаписью() и Ссылка | ☑ | ||
---|---|---|---|---|
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) Спасибо... помогло
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |