Имя: Пароль:
1C
1C 7.7
v7: Как открыть документ основание и в него внести изменения.
,
0 kobzon2
 
04.12.14
13:59
Подскажите возможно ли такое. Создан документ ЗаказНаПроизводство. На основании его создан другой документ в котором заполнились все затраты по заказу и этот документ открыт. В этом документе я допустим добавил пару строк МПЗ и количество. Можно ли сделать чтобы по нажатии кнопки, в документ основание добавлялись эти строки?
Не пойму как реализовать.
1 cincout
 
04.12.14
14:00
можно, сделай
2 YFedor
 
04.12.14
14:00
(0) Так нужно заставить себя
3 serg-lom89
 
04.12.14
14:40
(0) а если удалили строку в документе2,то в ЗаказНаПроизводство тоже удалять строку ?
4 serg-lom89
 
04.12.14
14:43
(0) ну а впринципе выгрузить табличную часть док-та Документ2,и загрузить ее в ЗаказНаПроизводство.
5 kobzon2
 
04.12.14
14:46
Х.з чето наворотил, но вроде работает)

Процедура Проба()

    ТЗФ2 = СоздатьОбъект("ТаблицаЗначений");
    ТЗФ2.Очистить();
    ТЗФ1.Выгрузить( ТЗФ2);
    
    Если ДокументОснование.Выбран() = 0 Тогда
        
        Возврат;
        
    КонецЕсли;
    
    
    Док = СоздатьОбъект("Документ.План");
    
    Если (ДокументОснование.Вид() = "План") Тогда           
        ДокОснование = ДокументОснование.ТекущийДокумент();
        Док.ВыбратьДокументы(ДатаДок, ДатаДок);
        Пока Док.ПолучитьДокумент() = 1 Цикл  
            Если Док.НомерДок = ДокОснование.НомерДок Тогда                          
                ТЗФ2.ВыбратьСтроки();
                  Пока ТЗФ2.ПолучитьСтроку() = 1 Цикл
                 РазнОст =  ТЗФ2.ОстатокФайла - ТЗФ2.ОстатокДокумента;
                Если РазнОст > 0 Тогда    
      Док.НоваяСтрока();
      Док.Продукция = ТЗФ2.МПЗ;    
      Док.Количество = РазнОст;
      Док.ЕдиницаИзмерения = Док.Продукция.ЕдиницаИзмерения;
      КонецЕсли;

                    КонецЦикла;
                    Док.Записать();
                 КонецЕсли;       
            
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры
6 Ёпрст
 
04.12.14
14:50
(5) всё в топку.
7 gerthog
 
04.12.14
14:51
Сам спросил - сам ответил!)))
8 Ёпрст
 
04.12.14
14:52
Ну а пока, понажимай на кнопку, которая запущает
Процедура Проба() несколько раз, так, на поржать..
9 kobzon2
 
04.12.14
14:52
(6) Почему?? Я тебя так ждал, а тебя не было.)
10 Ёпрст
 
04.12.14
14:52
(9) потому, что написана полная.. дальше только мат.
11 kobzon2
 
04.12.14
14:52
(8) Это да. Тут я что-нибудь придумаю.
12 kobzon2
 
04.12.14
14:55
(10) Подскажи а можно если в ТЗ есть полуфабрикат с кол-ом > 0, а в ТЧ его вообще нет, то тоже как то это понять и добавить в заказ?
13 Ёпрст
 
04.12.14
15:01
Если ТЧ должны быть равны (а это априори не верно, должно быть видно всегда, что заказали и что отгрузили/собрали, иначе весь смысл в заказе теряется) то достаточно

Процедура Проба()
    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    Если ПустоеЗначение(ДокументОснование) = 1
Тогда
        Возврат;
    КонецЕсли;
    Если (ДокументОснование.Вид() = "План") Тогда  
         ВыгрузитьТабличнуюЧасть(ТЗ);
         Док = СоздатьОбъект("Документ");
         Док.НайтиДокумент(ДокументОснование);
         Док.ЗагрузитьТабличнуюЧасть(ТЗ);
         Попытка
             Док.Записать();
         Исключение
             Сообщить(ОписаниеОшибки());
         КонецПопытки;
  КонецЕсли;
КонецПроцедуры  
    

занимайся..
14 kobzon2
 
04.12.14
15:01
Точно! Сделаю чтобы после определенных манипуляций кнопка проба появлялась, а после нажатия исчезала))
15 Chameleon1980
 
04.12.14
15:18
(14) ааааа
16 kobzon2
 
04.12.14
15:19
(15) Голова уже кругом, а за час нужно сделать хотя бы так. Потом будет время сделать как надо.