Имя: Пароль:
1C
1C 7.7
v7: Как запретить записывать документ? Что написать?
0 Босечка
 
27.03.18
18:28
Если КоличествоСтрок()>0 Тогда
        ВыбратьСтроки();
        Пока ПолучитьСтроку()=1 Цикл
            Сообщить("Товар "+Товар);
            Если СтрДлина(СокрЛП(Марка))<>68 Тогда
                Предупреждение("У товара "+Товар+" некорректная акцизная марка!"+СокрЛП(Марка));
                Возврат;
            КонецЕсли;    
        КонецЦикла;
    КонецЕсли;

Предупреждение выдается, но документ все равно записывается.
1 Босечка
 
27.03.18
18:29
Процедура ПриЗаписи() в модуле формы документа.
2 Мандалай
 
27.03.18
18:32
Давно это было...
Попробуй СтатусВозврата(0);
3 Kigo_Kigo
 
27.03.18
18:34
Процедура ПриЗаписи()
Предупреждение("Мы не можем его записать по техническим причинам, причину мы не знаем");
СтатусВозврата(0);
Возврат;
КонецПроцедуры
4 Босечка
 
27.03.18
18:42
попробую
5 Босечка
 
27.03.18
18:45
Спасибо, все сработало! Последние дни на 1с77...
6 Мимохожий Однако
 
27.03.18
19:19
(5) Не зарекайся.
7 Злопчинский
 
28.03.18
00:15
(0) дятловское решение тупым зубилом в рельсу. в документе например около 1000 марко, из них куча кривых. Пользователи тебя проклянут (в худшем случае - изнасилуют) - после каждой ошибки - править документ, снова пробовать записать, снова стопор. снова править.. уродство, я б точно убил бы..
8 Злопчинский
 
28.03.18
00:16
Условие
Если КоличествоСтрок()>0 Тогда
лишнее
9 Злопчинский
 
28.03.18
00:18
и 300 бутыло водки.. из них 2 кривых марки.. - да затарахаешься искать среди 300 строк.. если не дай бог еще вразброс в документе...
10 Злопчинский
 
28.03.18
00:20
ОчиститьОкноСообщений();
....
//исходим из того, что до этого места по коду статус возврата в 0 не устанавливается...
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
   Если СтрДлина(СокрЛП(Марка))=68 Тогда Продолжить; КонецЕсли;
   Сообщить("строка "+НомерСтроки+": у товара "+Товар+" некорректная акцизная марка!"+СокрЛП(Марка),"!");
   СтатусВозврата(0);
КонецЦикла;
Если СтатусВозврата()=0 Тогда
   Сообщить("---- конец контроля длины марок ----");
   Возврат;
КонецЕсли;
11 Сияющий в темноте
 
28.03.18
09:16
Документ записываться должен в любом случае,а вот проводиться нет.
просто,если кому то срочно нужно выключить компьютер,а документ не сохраняется,то чаще всего это кончается тем,что выключают питание,и база в кашу,а виноват криворукий программист
12 Масянька
 
28.03.18
09:18
(7) Убьют, однозначно...
(11) Абсолютно согласна: записать, сообщить об ошибках, пока не будут исправлены ошибки - не проводить.
13 dk
 
28.03.18
09:43
я бы убивал за предупреждение да еще и без секундомера в призаписи - всю базу повесили и ждем
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн