Имя: Пароль:
1C
1С v8
Ввод на основании
0 Rumpil
 
27.04.12
15:06
В процедуре вводе на основании у документа - ОбработкаЗаполнения(Основание) - я прописал свое условие с выдачей ПРедупреждения. ПРедупреждение выдается при несоблюдении условия, но новый документ все равно открывается - хоть и пустой. Как можно сделать чтобы форма нового документа не открывалась в случае отказа, что то типа Отказ = истина
1 Stim213
 
27.04.12
15:07
стандартнаяОбработка = ложь
2 Rumpil
 
27.04.12
15:09
(1) пробовал, не помогает, все равно открывается
3 Шапокляк
 
27.04.12
15:09
В обработке заполнения заполните, например, документОснование, а все прочее при несоблюдении условия не заполняйте.В процедуре ПередОткрытием() проверять заполненность каких-то параметров для нового документа - если ничего кроме документаОснования не заполнено, то Отказ
4 Rumpil
 
27.04.12
15:10
вот сокращенный код:

Если ТипЗнч(Основание)   = Тип("ДокументСсылка.РезервированиеТоваров") Тогда

Если
// условие
Тогда
Предупреждение ("низзя")
Иначе
//код заполнения документа

КОнецЕсли;
КонецЕсли;
5 Rumpil
 
27.04.12
15:10
(3) хм, вариант
6 Rumpil
 
27.04.12
15:12
(3) правда придется отдельный какой то реквизит создавать под это дело
7 Шапокляк
 
27.04.12
15:14
(6) Зачем? Можно хоть в комментарии "Ж_опа" написать :)
8 Rumpil
 
27.04.12
15:16
(7) )))) гыы, это будет круто
9 Rumpil
 
27.04.12
15:18
(7) а не получается. Документ то открывающийся НОВЫЙ, а не тот что заполняется на основании, и как прописать какой то параметр, ту же опу, в комментарий я не знаю, ибо не знаю за счет чего он в принципе открывается
10 alexhtn
 
27.04.12
15:20
Обычно в модуле объекта делается переменная
Перем мНеОткрыватьФормуДокумента Экспорт;
А модуле формы
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
   Если мНеОткрыватьФормуДокумента Тогда
       Отказ = Истина;
       Возврат;
   КонецЕсли;
КонецПроцедуры
11 Rumpil
 
27.04.12
15:23
(10) спс
12 tulke
 
27.04.12
15:24
13 Rumpil
 
27.04.12
15:28
(10) стоп, а что делать если я документ добавляю без основания ? он тога мне тоже отказ сделает ?
14 73
 
27.04.12
15:30
(13)
В ПередОткрытием можно проверить ПараметрОснование на Неопределено и определить
вводится ли на основании или нет.
15 Rumpil
 
27.04.12
15:31
(14) хм, можно попробовать
16 Шапокляк
 
27.04.12
15:37
(9) Документ открывается тот же самый - новый, который заполнялся на основании но как-то недозаполнился. У меня данный способ работает.
(14) Вам в (10) классное решение подсказали. Вы в модуле объекта переменную добавьте и проинициализируйте ее там Ложь. В Обработке заполнения при невыполнении условия запишите в нее значение Истина. Тогда отказ в открытии формы будет только в нужной вам ситуации.
17 Rumpil
 
27.04.12
15:38
(16) сделал как в (14), все работает. Спасибо всем за советы.
18 Rizhij_Nikitos
 
27.04.12
15:39
Возврат...