Имя: Пароль:
1C
 
Документ операция не делает движений
0 Dimarik_1
 
09.07.16
14:19
Не пойму в чем дело. Всё заполняется. Но без движений. Когда через Предприятие зайдёшь в документ и нажмёшь кнопку Записать то движения делаются.
&НаСервере
Процедура ОбнулитьСчетНаСервере()
    // Вставить содержимое обработчика.

    
    Счет = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымЦенностям;
    СчетКудаПерекидываемОстатки = ПланыСчетов.Хозрасчетный.ПрочиеРасходы;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ХозрасчетныйОстатки.Субконто1,
        |    ХозрасчетныйОстатки.Субконто2,
        |    ХозрасчетныйОстатки.Субконто3,
        |    ХозрасчетныйОстатки.Валюта,
        |    ХозрасчетныйОстатки.СуммаОстатокДт,
        |    ХозрасчетныйОстатки.СуммаОстатокКт,
        |    ХозрасчетныйОстатки.КоличествоОстатокДт,
        |    ХозрасчетныйОстатки.КоличествоОстатокКт
        |ИЗ
        |    РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСреза, Счет В ИЕРАРХИИ (&Счет), , Организация = &Организация) КАК ХозрасчетныйОстатки";
    
    Запрос.УстановитьПараметр("ДатаСреза", ДатаСреза);
    Запрос.УстановитьПараметр("Организация", Организация);
    Запрос.УстановитьПараметр("Счет", Счет);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Если ВыборкаДетальныеЗаписи.Количество()>0 Тогда
        Док = Документы.ОперацияБух.СоздатьДокумент();
        Док.Организация =  Организация;
        Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
        Док.Дата = ДатаСреза;

        Док.Записать(РежимЗаписиДокумента.Запись);

        Набор.ОТбор.Регистратор.Установить(Док.Ссылка);
        Набор.Прочитать();
        Набор.Записывать = Истина;

    КонецЕсли;
    
    Сумма = 0;
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        // Вставить обработку выборки ВыборкаДетальныеЗаписи

        
        
        Сумма = Сумма + ВыборкаДетальныеЗаписи.СуммаОстатокДт - ВыборкаДетальныеЗаписи.СуммаОстатокКт;
        
        
        Запись = Набор.Добавить();
        //если остаток на Дт

        Если ВыборкаДетальныеЗаписи.СуммаОстатокКт = 0 Тогда
            Запись.СчетКт = Счет;
            Запись.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = ВыборкаДетальныеЗаписи.Субконто1;
            Запись.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СФПолученные] = ВыборкаДетальныеЗаписи.Субконто2;    
            Запись.СчетДт = СчетКудаПерекидываемОстатки;
            Запись.Сумма = ВыборкаДетальныеЗаписи.СуммаОстатокДт;
        Иначе
            Запись.СчетДт = Счет;
            Запись.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = ВыборкаДетальныеЗаписи.Субконто1;
            Запись.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СФПолученные] = ВыборкаДетальныеЗаписи.Субконто2;    
            Запись.СчетКт = СчетКудаПерекидываемОстатки;
            Запись.Сумма = ВыборкаДетальныеЗаписи.СуммаОстатокКт;            
        КонецЕсли;
        Запись.Период = ДатаСреза;
        
        
    КонецЦикла;
    
    Если Сумма < 0 Тогда
        Сумма = Сумма * (-1);
    КонецЕсли;
    
    Если ВыборкаДетальныеЗаписи.Количество()>0 Тогда
    
        
        Док.СуммаОперации =  Сумма;
        
        
        Док.Записать(РежимЗаписиДокумента.Запись);
    КонецЕсли;



        Набор.Записать();

КонецПроцедуры

&НаКлиенте
Процедура ОбнулитьСчет(Команда)
    ОбнулитьСчетНаСервере();
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    //Вставить содержимое обработчика

    
КонецПроцедуры
1 lubitelxml
 
09.07.16
14:32
отладчиком посмотри, условия все выполняются?
2 DJ Anthon
 
09.07.16
14:35
Док.Движения.Хозрасчетный.Записывать = Истина;
3 hhhh
 
09.07.16
15:50
активность забыл
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.