Имя: Пароль:
1C
1С v8
v8: Где правильнее запретить создание нового документа?
0 RomaH
 
naïve
12.12.13
08:21
Надо при соблюдении некого условия запретить создавать новый документ.
Где это правильнее сделать?
1 Wobland
 
12.12.13
08:24
РЛС?
2 hhhh
 
12.12.13
08:25
(0) в табличном поле списка документов. В событии Перед Добавлением  вставить строчку Отказ = Истина;
3 shuhard
 
12.12.13
08:26
(0) подписка перед записью
4 Wobland
 
12.12.13
08:26
(2) а как же СоздатьДокумент()?
5 RomaH
 
naïve
12.12.13
08:27
(1) - сложно, у меня там условие непростое
6 RomaH
 
naïve
12.12.13
08:28
(2) списков - много, кучка обработок где может создаваться этот документ, + ввод на основании
7 Wobland
 
12.12.13
08:31
(5) ну вопрос был про правильнее. вариант шухарда проще, но у него создание допускается ;)
8 shuhard
 
12.12.13
08:39
(7) я под документом понимаю запись в СУБД, а ты ?
9 RomaH
 
naïve
12.12.13
08:44
а я создание формы
ибо пользователь будет не доволен
создал документ (открыл форму) - заполнил её, и при попытке записи получает фигу
10 RomaH
 
naïve
12.12.13
08:45
(8) СОЗДАНИЕ документа - создание нового объекта
есть еще ЗПИСЬ объекта в базу
11 RomaH
 
naïve
12.12.13
08:47
варианты:
ОбработкаПолученияФормы
12 Wobland
 
12.12.13
08:47
(10) во!
13 ALFkz
 
12.12.13
08:47
В ПередОткрытием добавь отказ да и все.
14 Wobland
 
12.12.13
08:48
СоздатьДокумент (CreateDocument)

Описание:

Создает новый документ
15 shuhard
 
12.12.13
08:48
(9) ответ не верный
16 RomaH
 
naïve
12.12.13
08:54
(15) почему?
(14) ок, уточним - интерактивное создание

вот так если?
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
    
    Если Не ВидФормы = "ФормаОбъекта" Тогда
        Возврат;
    КонецЕсли;
    
    СтандартнаяОбработка = Ложь;
    
    ВыбраннаяФорма = "ОбщаяФорма.ВыборДаты";
    
    Возврат;
17 RomaH
 
naïve
12.12.13
08:55
(13) теперь представим, что у меня для документа этого 150 форм объекта, а не одна
18 ALFkz
 
12.12.13
08:57
(17) ну так и при ОбработкаПолученияФормы тож придется все закладывать формы
19 МастерВопросов
 
12.12.13
09:01
В модуле Объекта в предопределенной пр-ре ПередЗаписью()
Если ЭтоНовый() И  твои условия... Тогда отказ  = истина
20 RomaH
 
naïve
12.12.13
09:03
(19) почитай выше
21 George Wheels
 
12.12.13
09:07
ОбработкаЗаполнения + ПриКопировании
22 RomaH
 
naïve
12.12.13
09:10
(21) и как там отказаться от открытия формы?
23 dmpl
 
12.12.13
09:14
(9) Зато в следующий раз будет думать.
24 George Wheels
 
12.12.13
09:28
(22) ВызватьИсключение("Низзя содавать документ");
25 rcs
 
12.12.13
09:56
(17) Выгружаешь модули всех форм в файлы, пишешь обработку которая во все файлы добавляет в процедуру ПередОткрытием() вызов процедуры в общем модуле, запускаешь обработку, загружаешь модули обратно.
2 + 2 = 3.9999999999999999999999999999999...