Изменение реквизита документа при удаление

1. sashulyT 201 13.04.07 12:11 Сейчас в теме
Есть необходимость при удаление документа изменить его реквизит.
Проблема в том, что при удаление он блокируется и не дает записать изменения.
Какие есть мысли как это обойти?

п.с. я думаю с справочниками такая же ...
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. azernot 781 13.04.07 12:39 Сейчас в теме
> Проблема в том, что при удаление он блокируется и не дает записать изменения.

Это, видимо, проблема в вашей не типовой конфигурации.
В 1С 7.7 можно произвольно менять реквизиты помеченных на удаоение объектов.
3. sashulyT 201 13.04.07 12:46 Сейчас в теме
Изменить надо не помеченный на удаление, а в процессе пометки, т.е. когда юзер нажал del, сразу изменился реквизит
4. azernot 781 13.04.07 13:23 Сейчас в теме
да... похоже, что только через ОбработкуОжидания..
5. sashulyT 201 13.04.07 14:12 Сейчас в теме
тут, пожалуста, поподробнее
6. poppy 13.04.07 14:22 Сейчас в теме
Объявляешь глобальную переменную. Создаешь таблицу значений. При удалении документа заносишь его в ТЗ, например: документ, реквизит, новое значение.

В глобальном модуле объявляешь процедуру. При начале работы выполняешь метод ОбработкаОжидания.

В процедуре проверяешь наличие строк в таблице. Если есть то пытаешься изменить реквизиты документов. Если получилось, тогда вычеркиваешь из ТЗ. Если не удалось, то оставляешь до следующего раза.
7. O-Planet 6403 14.04.07 02:10 Сейчас в теме
Вот ведь... Зря я тебя похвалил в пред. ветке. Я бы сделал проще: в журнале доков проверял ТекущийДокумент. Если он поменялся, то записываю его состояние. Если вдруг состояние поменялось, то выполняю требуемое действие. как отслеживать? Поле текстовое на форме создаешь и в формулу вставляешь функцию, возвращающую "". Эта функция будет запускаться всякий раз, как ты что-то на форме поменял.

Код
Функция ЧтотоПоменялосьОтработка()
  Если БылДок<>ТекущийДокумент Тогда
    БылДок=ТекущийДокумент;
    БылПометка=ТекущийДокумент.ПометкаУдаления();
  Иначе
    Если БылПометка<>ТекущийДокумент.ПометкаУдаления() Тогда 
      ...  // твоя гениальнейшая вставка

      БылПометка=ТекущийДокумент.ПометкаУдаления();
    КонецЕсли;
  КонецЕсли;
КонецФункции
Показать полностью

Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот