Имя: Пароль:
1C
1С v8
Заполнение и проведение другого документа в момент проведения первого
,
0 KIraA
 
23.05.17
12:42
Добрый день. Вопрос такой? В документе перемещения добавлен реквизит  сметы. Теперь после того как заполнена табличная часть товаров, в документе перемещения нужно, чтобы он проводился по документу сметы.
Код такой

ЗаполнитьДанныеПоПеремещению()
    Смета = Объект.СсылкаНаХранилищеСмет.ПолучитьОбъект();  
    Проведение = Объект.Ссылка.ПолучитьОбъект();
    
         ТчТовары = Проведение.Товары;
        
        Для каждого стр Из ТчТовары Цикл
            строка = Смета.Товары.Добавить();
            строка.Номенклатура = стр.Номенклатура;
            строка.КолФ = стр.Количество;
        КонецЦикла;
    
    Смета.Записать(РежимЗаписиДокумента.Проведение);
    Сообщить("Документ перезаписан" + Смета.ссылка);

Но так он только добавляет, а нужно, если Номенклатура уже есть, тогда он только складывал количество по смете и количество по перемещению, а если нет номенклатуры тогда добавлял новую строку и количество.
1 KIraA
 
23.05.17
12:44
Поправочка*

ЗаполнитьДанныеПоПеремещению()
    Смета = Объект.СсылкаНаХранилищеСмет.ПолучитьОбъект();  
    Проведение = Объект.Ссылка.ПолучитьОбъект();
    
         ТчТовары = Проведение.Товары;
        
        Для каждого стр Из ТчТовары Цикл
            строки = Смета.Товары.Добавить();
            строки.Номенклатура = стр.Номенклатура;
            строки.КолФ = стр.Количество;
        КонецЦикла;
    
    Смета.Записать(РежимЗаписиДокумента.Проведение);
    Сообщить("Документ перезаписан" + Смета.ссылка);
2 Buster007
 
23.05.17
12:48
СП НайтиСтроки
3 Ц_У
 
23.05.17
12:48
Где-то внутри меня тихо плачет программист от боли в глазах
4 Масянька
 
23.05.17
12:49
Не лечится...
Так сложно открыть типовую и посмотреть?
5 Мимохожий Однако
 
23.05.17
12:50
(1) Ну, и?
6 Альбатрос
 
23.05.17
12:51
Свернуть() тебе в помощь
10 Buster007
 
23.05.17
12:55
(7) не, полный код не осилю
12 Масянька
 
23.05.17
12:56
+ (11) По поводу "учебы" еще в первой ветке сказали.
13 KIraA
 
23.05.17
12:57
Альбатрос, спасибо буду копать тут
15 Мимохожий Однако
 
23.05.17
12:59
(8) Фу
16 Вафель
 
23.05.17
13:00
делай не в обработке проведения, а в призаписи
18 Ц_У
 
23.05.17
13:01
(8) подсказать, это можно, но тут подсказывать негде, сплошной бред.
19 Джинн
 
23.05.17
13:02
(0) Измените архитектуру. Вы делаете полную лажу.
20 Мимохожий Однако
 
23.05.17
13:14
Буква Я справа вверху
21 KIraA
 
23.05.17
13:18
МимохожийОднако, тоже интересно, спасибо.
22 2083
 
23.05.17
13:21
(0) проведение одного документа в момент проведения другого...

тут вот есть ряд вопросов по теме:
1) что сделает система, если первый документ по каким-либо причинам не проведется?
2) что будет, если по каким-то причинам не проведется второй документ
3) что будет, если кто-то запустит перепроведение первых документов групповой обработкой?
4) Что будет, если первый документ снимут с проведения или пометят на удаление?
23 KIraA
 
23.05.17
13:25
2083 Будем решать проблему по мере их поступления, другого выхода не вижу, руководство хочет чтобы ВЕСЬ материал фиксировался в смете со всеми документами проведения.
24 Fish
 
23.05.17
13:26
(23) Так и фиксируй, только делай это нормально - в регистрах, которые для этого и существуют.
25 2083
 
23.05.17
13:28
(23) это путь на темную сторону...

то, что Вы пытаетесь сделать, это как собирать автомобиль, который едет только прямо. Позже Вам конечно придется решать проблему поворота, но будет поздно.
26 Джинн
 
23.05.17
13:31
(23) Если Вы не видите другого выхода, то это не повод что-то делать через жпо. Либо думайте, либо наймите того, кто разработает нормальное архитектурное решение.
27 KIraA
 
23.05.17
13:33
Джинн работа обязывает делать хоть как то...
28 Ц_У
 
23.05.17
13:36
(27) Разработчики типовых решений думают также!
Удачи Вам, чем бы Вы не занимались!
29 Масянька
 
23.05.17
13:41
(28) Уже и на мисте пасутся? :))))
30 Ц_У
 
23.05.17
13:55
(29) не только лишь все, но многие :)
31 Джинн
 
23.05.17
14:14
(27) Возьмите паузу и подумайте. Или найдите консультанта под разовую задачу. Потом переделывать будет гораздо дольше. Вы двигаетесь в неверном направлении.
32 Garykom
 
гуру
23.05.17
14:21
(30) Угу очень весело потом будет увидеть в типовой код с мисты
33 Масянька
 
23.05.17
14:25
(32) Да, ладно... Абсолютно не хуже, а в 55% даже лучше.
34 Irbis
 
23.05.17
14:31
(31) Ты же бывший военный, разве незнакомо: "Копайте пока здесь, а я схожу узнаю, где надо!"
35 Ц_У
 
23.05.17
14:42
(33) я бы даже сказал на 146% лучше
36 Ц_У
 
23.05.17
14:46
(29) Enot_tut
37 Лефмихалыч
 
23.05.17
14:55
(0) так делают только мудаки.
38 Лефмихалыч
 
23.05.17
14:56
Документы должны делать движения в регистрах, а не в других документах.
39 HardBall
 
23.05.17
18:05
(37) Миста-линч детектед :-)