Имя: Пароль:
1C
 
Отказ в ОбработкаПроведения
0 zenik
 
27.10.10
16:55
Для эксперимента создан новый документ, без форм, реквизитов и прочего. Одна единственная процедура:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
   Отказ = Истина;
КонецПроцедуры

Открываем документ в режиме предприятия, нажимаем "сохранить", нажимаем "ок", выдает надпись, что провести не удалось. Все с этим понятно, нажимаем "закрыть" - спрашивает о сохранении... Что он там хочет сохранить и как от избавится от этого вопроса, если мы просто сделали отказ в обработке проведения?
1 agarych
 
27.10.10
16:57
Ты же изменения в документ внес, вот он и спрашивает тебя выйти с сохранением (проведением если документ уже проведен) или нет...
2 el-gamberro
 
27.10.10
16:57
В форме прописываешь:

Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
Модифицированность = Ложь;
КонецПроцедуры
3 zenik
 
27.10.10
17:02
(1) Какие изменения? Я сохранил все, прежде чем делать проведение "Сохранить" нажал предварительно. т.е. Это реальная процедура проведения, в ней действительно только отказ, движухи по регистрам нет!!!
(2) Не канает, а вдруг пользователь, прежде чем закрыть, изменить чего захочет?

Может в обработку проведения ее?
4 zenik
 
27.10.10
17:03
А блин, низя ее в проведение...
5 Серый Пес
 
27.10.10
17:03
А реквизит "проведен" в истину кто поставил, Пушкин?
6 el-gamberro
 
27.10.10
17:05
(3) Ты эта... говори точно чего хочешь, а то блин спрашиваешь одно, а потом внезапно у тебя другие варианты появляются...
7 zenik
 
27.10.10
17:10
(6) Объясняю популярно, проводим документ (СОХРАНЕННЫЙ!!!), в обработке проведения, по нам известным причинам, установили ОТКАЗ = ИСТИНА - иначе говоря - не даем провести документ (товара нет на остатке, к примеру). Как не выдавать запрос на сохранение, если пользователь ничего не изменял в реквизитах документа, ну и естественно выдавать вопрос, если изменили прежде чем закрыть.
8 agarych
 
27.10.10
17:17
(7) Слушай, если пользователь создал, записал, но не смог провести документ, то имхо, при нажатии на кнопку Закрыть вопрос должен появлятся, чтобы еще раз пользователю просемафорить, что что-то не то!

Но если ты хочешь делать по своему то перед закрытием формы для непроведенного документа проверяй реквизиты ссылки и объекта. Если они не отличаются друг от друга, то Модифицированность = Ложь.

Как то так...
9 zenik
 
27.10.10
17:29
Всем спасибо, глянул в типовых такой же эффект... Значит будет как у всех :)
10 stangen
 
27.10.10
17:41
(9) а если так, в форме документа объявить переменную ФормаИзменена

Далее

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
   ФормаИзменена = ЭтаФорма.Модифицированность;
КонецПроцедуры

Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
   Если НЕ ФормаИзменена Тогда
       СтандартнаяОбработка=Ложь;
   КонецЕсли;
КонецПроцедуры

При закрытии не спрашивает, если форму не модифицировали)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.