Имя: Пароль:
1C
1С v8
Программное создание Операции БУХ (СТОРНО) в программе 1С8:Бухгалтерия 3.0
0 Bell
 
17.09.16
17:44
Программно создаю документ "Операция БУХ"/СТОРНО, заполняю поле "Сторнируемый документ" и т.д.
Но при программном создании не заполняются движения из сторнируемого документа.
Если в созданном документе ручками перевыбрать документ, тогда движения заполняются.

Как решить это программно?  Не сталкивался...
1 hhhh
 
17.09.16
17:49
(0) посмотреть, что там происходит при нажатии кнопки, повторить у себя.
2 Bell
 
17.09.16
17:53
(1) Сложное решение.
3 jsmith
 
17.09.16
17:54
В форме документа

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
    
    Если Элементы.СторнируемыйДокумент.ОграничениеТипа.СодержитТип(ТипЗнч(ВыбранноеЗначение)) Тогда
        КорректируемыйДокумент = ВыбранноеЗначение;
        СформироватьДвиженияСторноСервер();
        УстановитьВидимостьГруппыСторно();
    КонецЕсли;
    
КонецПроцедуры

&НаСервере
Процедура СформироватьДвиженияСторноСервер()
    
    Если НЕ ПроверитьЗаполнение() Тогда
        Возврат;
    КонецЕсли;
    
    Для каждого СтрокаРегистра Из Регистры Цикл
        Если Объект.Движения[СтрокаРегистра.Имя].Количество() = 0 Тогда
            Продолжить;
        КонецЕсли;
        Объект.Движения[СтрокаРегистра.Имя].Очистить();
    КонецЦикла;

    //Формирование движений
    Если ФлажокСписок Тогда
        ВыполнитьСторнированиеДокументов(Объект.ЗаполнениеДвижений);
    Иначе
        ТЗДокументов = новый ТаблицаЗначений;
        ТЗДокументов.Колонки.Добавить("Документ");
        ТЗДокументов.Добавить().Документ = КорректируемыйДокумент;
        ВыполнитьСторнированиеДокументов(ТЗДокументов);
    КонецЕсли;

    ОбновитьИтогиПоДокументу(ЭтотОбъект);
    
    УстановитьДоступностьСубконто();
    
    ОбновитьФорму();

КонецПроцедуры
4 Bell
 
17.09.16
18:17
Исходно было написано следующее:

            ДокСт = Документы.ОперацияБух.СоздатьДокумент();
            ДокСт.Дата =ОбщийМодульТур.УстановитьВремяДокумента(ДатаОперации,16);
            ДокСт.СпособЗаполнения ="Сторно";        
            ДокСт.Организация = Объект.Организация;
            ДокСт.СторнируемыйДокумент  =  ТекДок.СвязанныйДок;
            
            ДокСт.Комментарий = "Сторнирование компоненты тура = "+Объект.Номер;
            ДокСт.Записать(РежимЗаписиДокумента.Запись);
5 jsmith
 
17.09.16
18:28
(4) В чом и косяк, бро
Такшта давай, дописывай
6 Bell
 
17.09.16
18:51
Так документы разные. Как я влезу в док.ОперацияБух из своего?
Программист всегда исправляет последнюю ошибку.