Вход | Регистрация
 

Ввод на основании

Ввод на основании
Я
   lamme
 
08.11.19 - 11:11
1С уф. один док вводиться на основании другого.
те штатно .. через ОбработкаЗаполнения в документе - который создается.

Ситуация
- заказ клиента - реализация.
Как можно запретить создавать вторую реализацию по заказу.
(т.е. выдавать окно = типа - реализация уже создана и пустую реализацию даже не открывать .)
Штатно - что-то типа - Отказ=истина - нет ничего ?
а то придется же ... какую то переменную заполнять в ОбработкаЗаполнения и в присозданиинасервере - отрабатывать эту переменную
 
 
   hhhh
 
1 - 08.11.19 - 11:13
(0) ВызватьИсключение
   Ненавижу 1С
 
2 - 08.11.19 - 11:16
(0) Придется конечно
   lamme
 
3 - 08.11.19 - 11:20
(1)
а как  ... не уловил )

ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

...
Если ТипДанныхЗаполнения = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
ЕстьРанееСозданныеРеализации = НайтиРеал(ТипДанныхЗаполнения)
Если ЕстьРанееСозданныеРеализации тогда
иначе
ЗаполнитьДокументНаОснованииЗаказПокупателя(ДанныеЗаполнения);
конецесли;

конеесли;
   Mankubus
 
4 - 08.11.19 - 11:22
(3) ВызватьИсключение (Raise)
Синтаксис:
ВызватьИсключение <Выражение>

Описание:
При использовании данной формы оператора вызывается новое исключение. Результат вычисления выражения преобразуется к строке и данная строка используется в качестве описания исключения.
   lamme
 
5 - 08.11.19 - 11:28
(4)
я читать СП умею.
как применить - не понимаю.
   ДенисЧ
 
6 - 08.11.19 - 11:32
(5) Проверить наличие уже введённого на основании документа. Если есть - вызывать исключение.
   hhhh
 
7 - 08.11.19 - 11:34
(5) ну там где хотел написать Отказ = Истина, пишешь

ВызватьИсключение("Хрен вам, а не ввод на основании!!");
   lamme
 
8 - 08.11.19 - 11:38
пока делаю так .. может быть тупо
Если не ЕстьРанееСозданныеРеализации тогда
            ЗаполнитьДокументНаОснованииЗаказПокупателя(ДанныеЗаполнения);
        иначе
            Попытка
                ввв=ввв/0;
            исключение
                ВызватьИсключение "Уже есть созданная реализация";
            конецпопытки;    
        конецесли;
   lamme
 
9 - 08.11.19 - 11:39
работает ... )))
форма сообщения - как форма ошибки - но эффект нужный
   ДенисЧ
 
10 - 08.11.19 - 11:41
(8) Расстрелять. Зачем на ноль делить, если можно сразу исключение звать?
   lamme
 
11 - 08.11.19 - 11:42
(10)
как оно там вызовется ?
   Ёпрст
 
12 - 08.11.19 - 11:44
(11) п...ц

ВызватьИсключение
   Ёпрст
 
13 - 08.11.19 - 11:44
и попытку выкини из кода
   hhhh
 
14 - 08.11.19 - 11:45
(11) так пробуй
Если не ЕстьРанееСозданныеРеализации тогда
            ЗаполнитьДокументНаОснованииЗаказПокупателя(ДанныеЗаполнения);
        иначе
            ВызватьИсключение "Уже есть созданная реализация";
        конецесли;
   Ёпрст
 
15 - 08.11.19 - 11:45
Хотя, ВызватьИсключение - тот еще г..о код.
Проще уж завести переменную и потом в ПриОткрытии возврат и ПоказатьЗначение(переменная), в переменную пихать ссылку на документ-основание
   lamme
 
16 - 08.11.19 - 11:46
если честно - то для меня это открытие 
что ВызватьИсключение можно просто так = без попытка/исключение использовать
   lamme
 
17 - 08.11.19 - 11:47
ну да .. работает

Если не ЕстьРанееСозданныеРеализации тогда
            ЗаполнитьДокументНаОснованииЗаказПокупателя(ДанныеЗаполнения);
        иначе
            ВызватьИсключение "Уже есть созданная реализация";
        конецесли;
   lamme
 
18 - 08.11.19 - 11:48
спасибо
г*но код работает

правильнее - было бы через переменную.
и в присозданиинасервере() отрабатывать эту переменную ..
   Кодер
 
19 - 08.11.19 - 11:52
Многие конфы считают остаток от неотгруженного по счёту, может и эта так делает? Тогда в случае неполной отгрузки ты не заблокируешь продажу, но продашь остаток заказанного клиентом.

Отчёт есть в форме заказа?

И в любом случае - лучше выдать модальное предупреждение пользователю, чем мешать продажам.
   lamme
 
20 - 08.11.19 - 11:59
(19)
это проговарилось пользователю.
пяткой били в грудь и говорили - что такого быть не может. реализация создается после 100% оплаты. поэтому - сделано так.
и модальные окна на уф .. это печаль , однако

Список тем форума
Рекламное место пустует  Рекламное место пустует
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.