Имя: Пароль:
1C
 
Скопированный документ не сажает движения.
0 antihacker
 
05.09.18
07:13
Всем привет ! Есть документ. Конфига самописная. Если создать документ и провести, документ сажает движения в регистр накопления. А если скопировать этот же документ и провести, то не сажает. Не могу понять. Где косяк ?
1 Мимохожий Однако
 
05.09.18
07:26
(0) В процедурах проведения
2 antihacker
 
05.09.18
07:29
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    Отказ = СуммыППиПОСовпадают();
    
    ДатаПроведения = ТекущаяДатаСеанса();
    
    // ПО ПЛАТЕЖАМ
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ПланФинансированияРасходыПоПлатежам.ФКР,
                   |    ПланФинансированияРасходыПоПлатежам.ЭКР,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Январь) КАК Январь,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Февраль) КАК Февраль,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Март) КАК Март,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Апрель) КАК Апрель,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Май) КАК Май,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Июнь) КАК Июнь,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Июль) КАК Июль,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Август) КАК Август,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Сентябрь) КАК Сентябрь,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Октябрь) КАК Октябрь,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Ноябрь) КАК Ноябрь,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.Декабрь) КАК Декабрь,
                   |    СУММА(ПланФинансированияРасходыПоПлатежам.СуммаГод) КАК СуммаИтого,
                   |    ПланФинансированияРасходыПоПлатежам.Организация
                   |ИЗ
                   |    Документ.ИзмененияПланаФинансированияПоРасходам.ТЧРасходыПоПлатежам КАК ПланФинансированияРасходыПоПлатежам
                   |ГДЕ
                   |    ПланФинансированияРасходыПоПлатежам.Ссылка = &Ссылка
                   |    И ПланФинансированияРасходыПоПлатежам.ЭКР <> &ПустаяЭКР
                   |    И ПланФинансированияРасходыПоПлатежам.ФКР <> &ПустаяФКР
                   |    И ПланФинансированияРасходыПоПлатежам.Январь + ПланФинансированияРасходыПоПлатежам.Февраль + ПланФинансированияРасходыПоПлатежам.Март + ПланФинансированияРасходыПоПлатежам.Апрель + ПланФинансированияРасходыПоПлатежам.Май + ПланФинансированияРасходыПоПлатежам.Июнь + ПланФинансированияРасходыПоПлатежам.Июль + ПланФинансированияРасходыПоПлатежам.Август + ПланФинансированияРасходыПоПлатежам.Сентябрь + ПланФинансированияРасходыПоПлатежам.Октябрь + ПланФинансированияРасходыПоПлатежам.Ноябрь + ПланФинансированияРасходыПоПлатежам.Декабрь <> 0
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ПланФинансированияРасходыПоПлатежам.ФКР,
                   |    ПланФинансированияРасходыПоПлатежам.ЭКР,
                   |    ПланФинансированияРасходыПоПлатежам.Организация,
                   |    ПланФинансированияРасходыПоПлатежам.Организация.Бюджет";
                  
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.УстановитьПараметр("ПустаяЭКР", Справочники.ЭКР.ПустаяСсылка());
    Запрос.УстановитьПараметр("ПустаяФКР", Справочники.ФКР.ПустаяСсылка());
    ВыборкаПоПлатежам = Запрос.Выполнить().Выбрать();

    Движения.ПланПоБюджетуФинансированияПоПлатежам.Записывать = Истина;

    
    Пока ВыборкаПоПлатежам.Следующий() Цикл
    
        // регистр БюджетыПланаФинансированияПоПлатежам.
        АБП =  ВыборкаПоПлатежам.ФКР.АБП;
        Движение = Движения.ПланПоБюджетуФинансированияПоПлатежам.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
        Движение.ВидСправки = Решение.ВидРешения;
        Движение.Период = НачалоМесяца(ГодУчета);
        Движение.Организация = ВыборкаПоПлатежам.Организация;
        Движение.Бюджет = ВыборкаПоПлатежам.Организация.Бюджет;        
        Движение.ФункциональнаяГруппа = АБП.ФункциональнаяГруппа;
        Движение.ФункциональнаяПодГруппа = АБП.ФункциональнаяПодГруппа;
        Движение.АБП = АБП;
        //Движение.Программа = ВыборкаПоПлатежам.ФКР.ПрограммыРасходов;
        //Движение.ТипПрограммы = ВыборкаПоПлатежам.ФКР.ПрограммыРасходов.Разделы;
        //Движение.Подпрограмма = ВыборкаПоПлатежам.ФКР.Подпрограмма;
        //Движение.Специфика = ВыборкаПоПлатежам.ЭКР;
        Движение.КлассификацияРасходов = УниверсальныеМеханизмы.КлассификацияРасходов(,,,ВыборкаПоПлатежам.ЭКР, ВыборкаПоПлатежам.ФКР);
        //Движение.ГруппаСпецифики = УниверсальныеМеханизмы.ГруппаСпецифики(ВыборкаПоПлатежам.ЭКР);
        Движение.СуммаЯнварь = ВыборкаПоПлатежам.Январь;
        Движение.СуммаФевраль = ВыборкаПоПлатежам.Февраль;
        Движение.СуммаМарт = ВыборкаПоПлатежам.Март;
        Движение.СуммаАпрель = ВыборкаПоПлатежам.Апрель;
        Движение.СуммаМай = ВыборкаПоПлатежам.Май;
        Движение.СуммаИюнь = ВыборкаПоПлатежам.Июнь;
        Движение.СуммаИюль = ВыборкаПоПлатежам.Июль;
        Движение.СуммаАвгуст = ВыборкаПоПлатежам.Август;
        Движение.СуммаСентябрь = ВыборкаПоПлатежам.Сентябрь;
        Движение.СуммаОктябрь = ВыборкаПоПлатежам.Октябрь;
        Движение.СуммаНоябрь = ВыборкаПоПлатежам.Ноябрь;
        Движение.СуммаДекабрь = ВыборкаПоПлатежам.Декабрь;
      
    КонецЦикла;
    
    // ПО ОБЪЯЗАТЕЛЬСТВАМ
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ПланФинансированияРасходыПоОбязательствам.ФКР,
                   |    ПланФинансированияРасходыПоОбязательствам.ЭКР,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Январь) КАК Январь,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Февраль) КАК Февраль,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Март) КАК Март,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Апрель) КАК Апрель,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Май) КАК Май,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Июнь) КАК Июнь,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Июль) КАК Июль,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Август) КАК Август,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Сентябрь) КАК Сентябрь,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Октябрь) КАК Октябрь,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Ноябрь) КАК Ноябрь,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.Декабрь) КАК Декабрь,
                   |    СУММА(ПланФинансированияРасходыПоОбязательствам.СуммаГод) КАК СуммаГод,
                   |    ПланФинансированияРасходыПоОбязательствам.Организация
                   |ИЗ
                   |    Документ.ИзмененияПланаФинансированияПоРасходам.ТЧРасходыПоОбязательствам КАК ПланФинансированияРасходыПоОбязательствам
                   |ГДЕ
                   |    ПланФинансированияРасходыПоОбязательствам.Ссылка = &Ссылка
                   |    И ПланФинансированияРасходыПоОбязательствам.ЭКР <> &ПустаяЭКР
                   |    И ПланФинансированияРасходыПоОбязательствам.ФКР <> &ПустаяФКР
                   |    И ПланФинансированияРасходыПоОбязательствам.Январь + ПланФинансированияРасходыПоОбязательствам.Февраль + ПланФинансированияРасходыПоОбязательствам.Март + ПланФинансированияРасходыПоОбязательствам.Апрель + ПланФинансированияРасходыПоОбязательствам.Май + ПланФинансированияРасходыПоОбязательствам.Июнь + ПланФинансированияРасходыПоОбязательствам.Июль + ПланФинансированияРасходыПоОбязательствам.Август + ПланФинансированияРасходыПоОбязательствам.Сентябрь + ПланФинансированияРасходыПоОбязательствам.Октябрь + ПланФинансированияРасходыПоОбязательствам.Ноябрь + ПланФинансированияРасходыПоОбязательствам.Декабрь <> 0
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ПланФинансированияРасходыПоОбязательствам.ФКР,
                   |    ПланФинансированияРасходыПоОбязательствам.ЭКР,
                   |    ПланФинансированияРасходыПоОбязательствам.Организация,
                   |    ПланФинансированияРасходыПоОбязательствам.Организация.Бюджет";
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.УстановитьПараметр("ПустаяЭКР", Справочники.ЭКР.ПустаяСсылка());
    Запрос.УстановитьПараметр("ПустаяФКР", Справочники.ФКР.ПустаяСсылка());
    ВыборкаПоОбязательствам = Запрос.Выполнить().Выбрать();
    
    Движения.ПланПоБюджетуФинансированияПоОбязательствам.Записывать = Истина;

    Пока ВыборкаПоОбязательствам.Следующий() Цикл
         // регистр БюджетыПланаФинансированияПоОбязательствам.
        АБП =  ВыборкаПоОбязательствам.ФКР.АБП;
        Движение = Движения.ПланПоБюджетуФинансированияПоОбязательствам.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
        Движение.ВидСправки = Перечисления.ВидыСправки.УтверждениеПФ;
        Движение.Период = НачалоМесяца(ГодУчета);
        Движение.Организация = ВыборкаПоОбязательствам.Организация;
        Движение.Бюджет = ВыборкаПоОбязательствам.Организация.Бюджет;        
        Движение.ФункциональнаяГруппа = АБП.ФункциональнаяГруппа;
        Движение.ФункциональнаяПодГруппа = АБП.ФункциональнаяПодГруппа;
        Движение.АБП = АБП;
        //Движение.Программа = ВыборкаПоОбязательствам.ФКР.ПрограммыРасходов;
        //Движение.ТипПрограммы = ВыборкаПоОбязательствам.ФКР.ПрограммыРасходов.Разделы;
        //Движение.Подпрограмма = ВыборкаПоОбязательствам.ФКР.Подпрограмма;
        //Движение.Специфика = ВыборкаПоОбязательствам.ЭКР;
        Движение.КлассификацияРасходов = УниверсальныеМеханизмы.КлассификацияРасходов(,,,ВыборкаПоОбязательствам.ЭКР, ВыборкаПоОбязательствам.ФКР);
        //Движение.ГруппаСпецифики = УниверсальныеМеханизмы.ГруппаСпецифики(ВыборкаПоОбязательствам.ЭКР);
        Движение.СуммаЯнварь = ВыборкаПоОбязательствам.Январь;
        Движение.СуммаФевраль = ВыборкаПоОбязательствам.Февраль;
        Движение.СуммаМарт = ВыборкаПоОбязательствам.Март;
        Движение.СуммаАпрель = ВыборкаПоОбязательствам.Апрель;
        Движение.СуммаМай = ВыборкаПоОбязательствам.Май;
        Движение.СуммаИюнь = ВыборкаПоОбязательствам.Июнь;
        Движение.СуммаИюль = ВыборкаПоОбязательствам.Июль;
        Движение.СуммаАвгуст = ВыборкаПоОбязательствам.Август;
        Движение.СуммаСентябрь = ВыборкаПоОбязательствам.Сентябрь;
        Движение.СуммаОктябрь = ВыборкаПоОбязательствам.Октябрь;
        Движение.СуммаНоябрь = ВыборкаПоОбязательствам.Ноябрь;
        Движение.СуммаДекабрь = ВыборкаПоОбязательствам.Декабрь;
        
    КонецЦикла;
КонецПроцедуры
3 Мимохожий Однако
 
05.09.18
07:36
Замечательно.
Как называется скопированный документ?
4 antihacker
 
05.09.18
07:47
ИзмененияПланаФинансированияПоРасходам
5 Мимохожий Однако
 
05.09.18
07:51
(4) Намекаю.
из запроса:
|ГДЕ
                   |    ПланФинансированияРасходыПоПлатежам.Ссылка = &Ссылка
6 antihacker
 
05.09.18
08:03
Ну и что ? Это тип после копирование будет ссылаться на другой файл ? Документ которого мы копировали ?
7 Мимохожий Однако
 
05.09.18
08:24
(6) Посмотри в отладчике какое значение помещено в параметр "Ссылка". Оно не соответствует типу значения (документа) в запросе
8 antihacker
 
05.09.18
08:30
Проверил. Ссылка на текущий документ
9 antihacker
 
05.09.18
08:31
Так что с этим все в порядке
10 Мимохожий Однако
 
05.09.18
08:35
(8) Какой тип значения у текущего документа?
в запросе:
ПланФинансированияРасходыПоПлатежам.Ссылка = &Ссылка
..
у тебя документ ИзмененияПланаФинансированияПоРасходам
..
Как это сочетается?
11 Мимохожий Однако
 
05.09.18
08:35
(9) Запрос пустой
12 catena
 
05.09.18
08:55
(10)Это же название таблицы в запросе
13 catena
 
05.09.18
08:55
(9)Отладчик-то что говорит?
14 dmpl
 
05.09.18
09:00
(0) А если документ предварительно записать?

(2) Пустую ссылку на справочник можно без параметров запроса сделать.
15 Serg_1960
 
05.09.18
09:27
(офф)
- Где косяк?
- В процедурах проведения [мн.число]
- Процедура ОбработкаПроведения... [ед.число]

[мн.число] - это подписки, модули регистров и т.д....

А ещё мне нравится, когда посредине алгоритма встречаются вызовы функций (типа "Отказ = СуммыППиПОСовпадают();") без анализа и обработки возвращаемого значения - это же какой простор для полёта фантазии телепатии!
16 antihacker
 
06.09.18
06:25
Тема закрыта. Проблема была здесь )

                   |    И ПланФинансированияРасходыПоПлатежам.Январь + ПланФинансированияРасходыПоПлатежам.Февраль + ПланФинансированияРасходыПоПлатежам.Март + ПланФинансированияРасходыПоПлатежам.Апрель + ПланФинансированияРасходыПоПлатежам.Май + ПланФинансированияРасходыПоПлатежам.Июнь + ПланФинансированияРасходыПоПлатежам.Июль + ПланФинансированияРасходыПоПлатежам.Август + ПланФинансированияРасходыПоПлатежам.Сентябрь + ПланФинансированияРасходыПоПлатежам.Октябрь + ПланФинансированияРасходыПоПлатежам.Ноябрь + ПланФинансированияРасходыПоПлатежам.Декабрь <> 0

Извините )