Имя: Пароль:
1C
 
Отмена создания документа на основании если он уже создавался
0 falselight
 
10.08.17
08:10
УТ 11.3. Хочу что бы если на основании документа заявка на перевозку уже создавался документ реализация. Что бы он не создавался снова.
Прописал такой код, но пустой документ все равно открывается.
Где и как правильно делать эту проверку и отмену создания документа реализация товаров услуг?



    ИначеЕсли ТипДанныхЗаполнения = Тип("ДокументСсылка.ЗаявкаНаПеревозку") Тогда
        Запрос       = Новый Запрос;
        Запрос.Текст = "
            |ВЫБРАТЬ
            |    РеализацияТоваровУслуг.Основание,
            |    РеализацияТоваровУслуг.ЗаказКлиента
            |ИЗ
            |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
            |ГДЕ
            |    РеализацияТоваровУслуг.ЗаказКлиента = &ЗаявкаНаПеревозку";
        Запрос.УстановитьПараметр("ЗаявкаНаПеревозку", ДанныеЗаполнения);
        Рез = Запрос.Выполнить();
        Если Не Рез.Пустой() Тогда
            Сообщить("На основании этой заявки уже создана реализация!");    
            Возврат;
        Иначе
            ЗаполнитьДокументНаОснованииЗаявкиНаПеревозку(ДанныеЗаполнения);
            ЗаполненНаОснованииДокумента = Истина;
        КонецЕсли;
1 Mankubus
 
10.08.17
08:14
(0) ПриСозданииНаСервере открываемой формы. Проверяешь если есть документ то форму не открываешь
2 igorPetrov
 
10.08.17
08:15
(1) Ох, зря ты ему сказал...)))
3 falselight
 
10.08.17
08:19
(1) Так а не получится что если есть документ,
то тогда вообще реализацию будет не открыть из за
этого условия?
4 h-sp
 
10.08.17
08:21
(3)         Если Не Рез.Пустой() Тогда
            ВызватьИсключение("На основании этой заявки уже создана реализация!");    
            Возврат;
5 falselight
 
10.08.17
08:24
(4) (10) делалось в модуле документа в процедуре обработка заполнения.
А ваш код будет в ПриСозданииНаСервере() ?
Я не пойму ну тогда всегда же будет это срабатывать и форма не будет открываться.
6 falselight
 
10.08.17
08:27
Почему не в процедуре что в (0) это сделать, нужно там не дать открыться форме. Но как?
7 h-sp
 
10.08.17
08:28
(5) наш код будет в модуле документа в процедуре обработка заполнения. где и делалось.
8 falselight
 
10.08.17
08:30
(7) То есть вот это все исправит?

      ВызватьИсключение("На основании этой заявки уже создана реализация!");    
            Возврат;

(1) Это я думаю не правильно!
9 falselight
 
10.08.17
08:39
(7) Это как вариант.
Единственное там есть кнопка подробно, по которой смотрится код ошибки. Как будто системная ошибка.
10 Имитация работы
 
10.08.17
08:41
Капец УТ. Ливингстар, высунув от усердия язык, рисует на борту системника очередную звездочку.
11 Масянька
 
10.08.17
08:43
(10) Мне интересно - какая цель стоит?
12 Имитация работы
 
10.08.17
08:50
(11) Думаю, что образование через самопожертвование. Смиренный фатализм сквозит в его темах.
13 h-sp
 
10.08.17
10:11
(9) ну пользователи не читают подробно. Они даже текст ошибки на экране не читают. Обычно звонит, приезжай, ошибка вылезла. А какая ошибка? Не знаю, я не вчитывался.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.