Имя: Пароль:
1C
1С v8
Вопрос не сложный но интересный
0 volfy
 
23.01.13
21:17
Как приостановить выполнение кода до тех пор пока форма вызванная перед записью документа не будет закрыта? Форма лежит в обработке, то есть я при проведении сделал форму она вызывается если не хватает остатков и предлагаю создать документ перемещения с другого склада дабы провести этот документ, но когда нажимаю провести код бежит до ошибки говорящей о том что не хватает товара на складе... а надо подождать пока пользователь выберет с какого склада сколько переместить и продолжить после того как форма будет закрыта. =) вооот ...знает кто вход?
1 Lys
 
23.01.13
21:22
Форма открывается при проведении, или перед записью?
"При проведении" делать такое неправильно, ибо транзакция.

"Остановить выполнение кода" - открывать свою форму модально.
2 ДенисЧ
 
23.01.13
21:22
"при проведении сделал форму она вызывается если не хватает остатков и предлагаю создать документ перемещения с другого склада дабы провести этот документ"


Расстрелять. С конфискацией. И пожизненным лишением всех прав родственников до 12го колена.
4 H A D G E H O G s
 
23.01.13
21:23
"Выхода нет" ©Александ Васильев.
5 HeroShima
 
23.01.13
21:23
(0) не делай так больше
6 H A D G E H O G s
 
23.01.13
21:24
(2) ПередЗаписью() в форме документа, при РежимЗаписи=Проведение можно сделать как хочет автор, нуачо...
7 H A D G E H O G s
 
23.01.13
21:24
(2) Ну и из формы списка. Пусть будет.
8 Lys
 
23.01.13
21:24
(5) Я бы не был так категоричен.
9 volfy
 
23.01.13
21:25
Остановка в ФОРМЕ а не модуле менеджера многоуважаемые критики)
10 ДенисЧ
 
23.01.13
21:25
(6) "При проведении".
11 volfy
 
23.01.13
21:25
Модально? Щас попробую
12 H A D G E H O G s
 
23.01.13
21:27
(10) ПередЗаписью(). Че не понятно?
13 Lys
 
23.01.13
21:27
(9) Вопрос для обдумывания:
А что будет, если свою форму ты вызовешь, документ "перемещения с другого склада" сделаешь... а дальше по каким-то причинам твой исходный документ не запишется (Отказ станет равным Истина)?
14 volfy
 
23.01.13
21:28
(10) РежимЗаписиДокумента.Проведение - имелось ввиду
15 volfy
 
23.01.13
21:29
Реализация не запишется? =) Ну пусть не записывается.... факт в том что товаров на складе ИСПОЛЬЗУЕМОМ в реализации уже будет хватать
16 volfy
 
23.01.13
21:30
(13) это всё пусть по типовому работает =)
17 volfy
 
23.01.13
21:31
(2)ПРИБОЛЬШУЩЕЕ СПАСИБО!! всем страждущим выложу кусок

Если Остатки = "Нет" Тогда
             ПараметрыФормы = Новый Структура();
           ПараметрыФормы.Вставить("ДокРеал", Объект.Ссылка);
           Форма = ОткрытьФормуМодально("Обработка.ПеремещениеПриНедостатке.Форма.ВыборСклада",ПараметрыФормы);
       КонецЕсли;
18 HeroShima
 
23.01.13
21:33
(17) и так тоже не делай
19 volfy
 
23.01.13
21:36
(18) ну объясни почему =) только реальные основания есть??
20 HeroShima
 
23.01.13
21:39
(16) почему "Нет"?
21 HeroShima
 
23.01.13
21:40
(20) к (19)
22 volfy
 
23.01.13
21:44
Да потому что я люблю строки передавать а не булево =) и чего такого?)
Булево имеет 2 значения а в строке я хоть 100 передам ...и в отличии от  числа мне не придется гадать что значит цифра... это мне так нравится)
23 Тьма
 
23.01.13
21:44
(19)Повиснут 20 юзеров из-за того, что тетя Маша ушла в банк и оставила перепроводиться документы - узнаешь.
24 volfy
 
23.01.13
21:46
(23) ТЬМА остановка в форме не блокирует таблицы, + серверный вариант а не файловый
25 HeroShima
 
23.01.13
21:47
(22) перечисления избавляют от случайных ошибок
26 volfy
 
23.01.13
21:54
Ну да вариант ...=) (25) согласен
27 H A D G E H O G s
 
23.01.13
21:55
(25) Че, будешь перечисление заводить каждый раз?
28 HeroShima
 
23.01.13
21:57
(27) прикинь, фигня?
29 volfy
 
23.01.13
21:59
(27) зачем каждый раз? ...одно можно =) ... да тут ваще кто как хочет =)
30 HeroShima
 
23.01.13
22:00
(29) кто как хочет ровно до тех пор пока в форме не нужно будет вводить
31 volfy
 
23.01.13
22:06
(30) что вводить в форме?
32 HeroShima
 
23.01.13
22:09
(31) НЕТы
33 patapum
 
23.01.13
22:26
(0) а нормально сделать не судьба? документ не проводится, пишет, сколько не хватает. юзер обеспечивает, чтоб хватало, и запускает опять проведение документа.
что плохо?
34 tipaya
 
24.01.13
01:48
(33) точно такой же вопрос. Почему просто не перепровести потом? а уж если по-красивому, проверь сам (напиши запрос) остаток в  передЗаписью() и автоматически создай нужные док-ты перемещения с тех складов на кот. остаток есть (или как у вас там принято) с подтверждением от пользователя.
35 ХомаБрут
 
24.01.13
03:38
(0) ямать это ж до такого додуматься надо :)
P.S.
Все движения делай при проведении расходной накладной и не занимайся ХХХ.
Склады для списания определяй ДО начала всех транзакций.
36 Злопчинский
 
24.01.13
03:48
(35) угу... а стого момента как начал определять склады - до начала транзакции - стартанет транзакция а по складам уже не то... курим бамбук?
37 ХомаБрут
 
24.01.13
14:53
(36)
И прекрасно. Во время проведения увидим, что товара нет, дадим отбой и выдадим сообщение : на складе Х товара нет.
P.S.
А если у тебя с единственного склада товар из-под носа уведут , будет ужас-ужас?   :)
38 5 Элемент
 
24.01.13
14:57
Пользователь хочет продать товар и если его нет то вводит перемещение и товар тут же появляется на складе, чудеса.
39 5 Элемент
 
24.01.13
14:58
Может просто отключить контроль остатков, если у вас так легко можно увеличить остатки на складе.
40 vmv
 
24.01.13
14:58
бред
41 Lama12
 
24.01.13
15:02
(0) Расстрелять!
За такой код к стенке и даже не раздумывать.
В СССР программиста за меньшее в тайгу ссылали (за ошибку в программе спутника), а тут формы в транзакции.
42 samozvanec
 
24.01.13
15:11
(0) (17) ахренеть... такой бред ну может не впервые вижу, но это что-то неподдающееся описанию. жалко тех, кто будет за тобой исправлять потом. если хочешь проверить остатки перед проведением, делай это в форме!
43 samozvanec
 
24.01.13
15:15
(24) хм... протелепатирую... у тебя не красный диплом случаем?
44 0xFFFFFF
 
24.01.13
15:24
Читал по диагонали, понял, что нужно перемещать предварительно товар при нехватке остатков... Я бы сделал внешней обработкой (этакий мастер), делающей тот и другой документ, а конфу бы не трогал ваще.