Имя: Пароль:
1C
1С v8
Разделить строки в документе
0 YHVVH
 
27.02.14
10:36
Есть заказ клиента, в заказе одна строка
при первом проведении надо разделить на то что есть в наличии и то что нет , то что не хватает отдельной строкой
как лучше реализовать это?
1 Wobland
 
27.02.14
10:37
программировать надо
2 YHVVH
 
27.02.14
10:38
(1) ну это понятно, интересует в какой момент делить
3 Wobland
 
27.02.14
10:38
дели при первом проведении
4 Рэйв
 
27.02.14
10:40
лучше бы под то чего нехватает сделал отдельную колонку и писал бы в туже строку.Намного читабельней
5 Feunoir
 
27.02.14
10:40
(2) Перед записью в дополнительные свойства объекта пихай ЭтоНовый при проведении проверяй на "первость перепроведения" и дели строки, если нужно.
6 YHVVH
 
27.02.14
10:41
(5) перед записью чего? в форме или объекта?
7 Infsams654
 
27.02.14
10:41
(3) а что бы не принять заказ, если знаешь, что вот-вот оно уже будет ?
8 Feunoir
 
27.02.14
10:42
(4) Да там логика может быть в том, что в наличии разместить в резерве, например, а отсутствующее потом в заказе поставщику. Ну в общем как в УТ 10 сделано.

(6) Я на память не помню где чего видно, поэкспериментируй. Скорее всего можно и оттуда, и оттуда.
9 МойКодУныл
 
27.02.14
10:43
(6) за форму объекта коленки простреливают.
У нас в конфе тяжелое наследие - создание документа из формы справочника при записи - это жесть.
10 Kalambur
 
27.02.14
10:43
Кнопка "Заполнить и провести" в верхней части документа
11 МойКодУныл
 
27.02.14
10:43
Кстати, раньше была кнопка заполнить и провести, которая все это делала. Сейчас нет?
12 YHVVH
 
27.02.14
10:45
если одновременно буду проводить несколько документов, существуют вероятность что он разделить строки , а в резерв не встанет.
13 YHVVH
 
27.02.14
10:45
в резерв встает после проведения
а разбивать я вынужден до
14 Feunoir
 
27.02.14
10:46
(13) Блокировки. Управляемые. И не только.
15 YHVVH
 
27.02.14
10:47
(14) управляемые блокировки это как?
блокировать в какой момент я должен?
16 YHVVH
 
27.02.14
10:49
перед записью устанавливаю блокировку, а после выхода из нее она снимается, и в этот момент другой документ получить не верные остатки
17 Feunoir
 
27.02.14
10:49
(15) Это большая отдельная тема. Рассказывать в подробностях не буду, извини. Блокируется в самом начале процедуры проведения. Потом уже в течение всей процедуры дела что хочешь. Остальные будут висеть и ждать, пока отпустишь.
18 YHVVH
 
27.02.14
10:51
(17) Блокируется в самом начале процедуры проведения.

а менять в модуле проведения я уже не могу ничего с объектом
19 Feunoir
 
27.02.14
10:52
(18) Кто тебе такое сказал?
20 YHVVH
 
27.02.14
10:53
(19) ну я так думаю, потому что в модуль проведения передается записанный объект в базу, если надо что делать с объектом то это в процедуре передзаписью разве нет?
21 МойКодУныл
 
27.02.14
10:55
(20) если документ будет проведен программно, тебе это делать не нужно? Все обработчики формы не запустятся.
22 YHVVH
 
27.02.14
10:56
(21) нет не нужно
23 Feunoir
 
27.02.14
10:57
(20) Ну в принципе да, но никто не мешает тебе изменить что-нибудь в объекте и снова его записать, только уже в режиме Запись. А потом продолжить процесс проведения.
24 YHVVH
 
27.02.14
10:58
изменить что-нибудь в объекте и снова его записать, только уже в режиме Запись
это как?
25 Feunoir
 
27.02.14
11:00
Записать(РежимЗаписиДокумента.Запись);
26 YHVVH
 
27.02.14
11:00
(25) прямо в обработкепроведения?
27 Feunoir
 
27.02.14
11:00
+(25) Только аккуратно, чтобы обработчики событий не зациклить
28 Feunoir
 
27.02.14
11:01
(26) Ты издеваешься?
29 YHVVH
 
27.02.14
11:02
(28) нет
30 Feunoir
 
27.02.14
11:18
(29) попробуй в любом документа

Процедура ОбработкаПроведения(Отказ, Режим)
    
    Если ПустаяСтрока(Комментарий) Тогда
        Комментарий = "ляляля";
        ЭтотОбъект.Записать(РежимЗаписиДокумента.Запись);
    КонецЕсли;
    
...
31 YHVVH
 
27.02.14
11:20
(30) ни разу так не делал :-) это вообще реально так извращаться
32 YHVVH
 
27.02.14
11:22
двойная запись, + зацикливание какойто сумасшедший вариант
33 Feunoir
 
27.02.14
11:30
(32) Ну так то я не настаиваю
34 YHVVH
 
27.02.14
11:35
(33) а еще есть варианты
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.