Имя: Пароль:
1C
1C 7.7
v7: Как запретить проведение документа если реквизит формы не заполнен?
,
0 Ночной Эльф
 
24.07.12
08:37
В восьмерке это элементарно просто выставить галочку об обязательном заполнении. В 1с 7.7 в процедуре

ОбработкаПроведения(ВидыДвижений)    

самое первой строкой поставил условие

Процедура ОбработкаПроведения(ВидыДвижений)    
Если ПустоеЗначение(ДатаВыполнения) = 0 Тогда
//код проведения
Иначе
       Сообщить("Документ не удалось провести так как не заполнен реквизит 'Дата заполнения'.");
   КонецЕсли        
КонецПроцедуры

Если реквизит этот пустой выдает сообщение а вот документ все равно проводится галочка, что данный документ проведен все равно появляется в списке документов т.е. получается документ помечается как проведенный.

Как запретить проведение документа если реквизит формы не заполнен?
1 Amra
 
24.07.12
08:38
СтатусВозврата(0);
Возврат

после Сообщить
2 1Сергей
 
24.07.12
08:39
СтатусВозврата(0);
       Возврат;
3 Прохожий
 
24.07.12
08:40
СтатусВозврата(ПустоеЗначение(ДатаВыполнения));
4 1Сергей
 
24.07.12
08:40
И это... реквизиты формы в модуле проведения не видны, если чо
5 Прохожий
 
24.07.12
08:40
СтатусВозврата(1-ПустоеЗначение(ДатаВыполнения));
6 1Сергей
 
24.07.12
08:40
(3) :)
(5) то-то
7 Прохожий
 
24.07.12
08:41
(6) Я либерален. Допускаю оба варианта. В зависимости от желания автора.
8 Прохожий
 
24.07.12
08:42
Сначала делаешь (3) и просишь деньги. Если платят, переделываешь в (5). За доп. плату.
9 Прохожий
 
24.07.12
08:42
Но никакие ЕСЛИ не нужны.
10 Прохожий
 
24.07.12
08:43
СтатусВозврата((1-ПустоеЗначение(ДатаВыполнения)) * (1-ПустоеЗначение(ЕщеРеквизит)) * (1-ПустоеЗначение(ИИщеРиквизид)))
11 Ork
 
24.07.12
08:44
(0)
Если собственно отказаться от проведения тогда : в модуле документа :

Если ... Тогда
   НеПроводитьДокумент();
   Возврат;
КонецЕсли;

(1)...(5) СтатусВозврата отработает в обработчиках событий. Например в ПриЗаписи.
12 Прохожий
 
24.07.12
08:46
Процедура НеПроводитьДокумент()
Предупреждение("Позвоните  Ork по телефону 908 111 11 11. Внимание! Звонок платный. Только с городского номера!");
КонецДенег
13 Ork
 
24.07.12
08:49
(12) Составлю конкуренцию ДенисуЧ )))
Для тех, кто еще не приобрел СП:

НеПроводитьДокумент();
Синтаксис:
НеПроводитьДокумент()
Назначение:
Отмена проведения документа.
Замечание:
Метод доступен только в Модуле документа в предопределенной процедуре ОбработкаПроведения.
Подробнее см. в документации, глава 'Работа с Документами'
14 Ночной Эльф
 
24.07.12
08:49
спасибо что подсказали и за то что настроение подняли ))
15 1Сергей
 
24.07.12
08:53
(5) кстати, в некоторых случаях и такая конструкция будет не верна
16 Прохожий
 
24.07.12
08:53
(13) Скорее для тех кто его потерял..
...
Процедура НеПроводитьДокумент()
Предупреждение("Позвоните  Ork по телефону 908 111 11 11. Внимание! Звонок платный. Только с городского номера! СП в подарок. Мы работаем круглосуточно.");
КонецДенег
17 Прохожий
 
24.07.12
08:55
(15) Ты нам проект не порть. Тут вопрос с перспективой развития. Человек же наверняка фикси. Чем он будет завтра зарабатывать если ты сегодня тут все проблемы решишь?
Программу надо совершенствовать...
18 Прохожий
 
24.07.12
09:00
+(17) И премию просить. А если не дадут, исправить как в (3)
19 Прохожий
 
24.07.12
09:00
Тут нужен маневр..
20 Ночной Эльф
 
24.07.12
09:00
ко всем мне вот интересно откуда вы столько знаете? (без шуток) все из личного опыта или много книг прочитали.
Кстати интересно а кто какие книги по 1с прочитал за всю карьеру?
21 1Сергей
 
24.07.12
09:05
(20) мы на форуме всё спрашивали :)
22 Ночной Эльф
 
24.07.12
09:07
(21) да тут получается целое сообщество ))) коллективный разум ))
23 Прохожий
 
24.07.12
09:08
(20) Мы многим фирмам поломали учет. Сначала нас били, но потом мы научились обманывать, выкручиваться и изображать осведомленность.
Патамушта убигать беспалезна. Тогда бьют ещё сильнее. История про Васюки и Бендера - миф!
24 Ночной Эльф
 
24.07.12
09:09
(23) ого мне уже так страшно стало
25 1Сергей
 
24.07.12
09:12
(24) спили мушку, Джо... тьфу, то есть: бросай 1С, Андрюха!
26 Ночной Эльф
 
24.07.12
09:13
(25) не за какие сто тысяч миллоинов даже не брошу. =)))
27 chief accountant
 
24.07.12
09:23
(26) Тогда будут бить постоянно... и больно
28 Ночной Эльф
 
24.07.12
09:24
(27) я не пойму это у тебя количество сообщений или твой год рождения? ))
29 Надсмотрщик
 
24.07.12
09:41
(4) Провести(А, Ку_Ку);