Имя: Пароль:
1C
1С v8
Ошибка при запуске отчета о Движении денежных средств
,
0 Sergei1982
 
11.04.14
14:05
Подскажите, пожалуйста, при запуске внешнего отчета и попытке расшифровки произвольного поля в таблице пишет:
{Форма.ФормаОтчета.Форма(267)}: Поле объекта не обнаружено (ОборотыМеждуСубконтоХозрасчетный)
        Отчет = Отчеты.ОборотыМеждуСубконтоХозрасчетный.Создать();


Текущая конфигурация: Бухгалтерия предприятия, редакция 2.0 (2.0.56.4). Знаю только ,что изначально этот отчет работал  в какой-то допотопной 8.1. При нажатии на ошибку высылает в конфигуратор:

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
  
    СтандартнаяОбработка = Ложь;
    
    МассивПолейРасшифровки = ТиповыеОтчеты.ПолучитьМассивПолейРасшифровки(Расшифровка, ДанныеРасшифровки);
    
    Организация = Неопределено;
    ДДС         = Справочники.СтатьиДвиженияДенежныхСредств.ПустаяСсылка();
    Контрагент     = Справочники.Контрагенты.ПустаяСсылка();
    ДатаНач     = НачалоПериода;
    ДатаКон     = КонецПериода;
    
    Для i=0 По МассивПолейРасшифровки.Количество()- 1 Цикл
        ЭлементМассива = МассивПолейРасшифровки[i];
        Если ТипЗнч(ЭлементМассива) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда    
            Продолжить;
        КонецЕсли;    
        Поле     = ЭлементМассива.Поле;
        Элемент = ЭлементМассива.Значение;
        
        Если Поле = "ДДС" Тогда
            ДДС         = Элемент;
        ИначеЕсли Поле = "Организация" Тогда    
            Организация = Элемент;
        ИначеЕсли Поле = "Период" Тогда
            ДатаНач     = НачалоМесяца(Элемент);
            ДатаКон     = КонецМесяца(Элемент);
        ИначеЕсли Поле = "Контрагенты_ФизЛица" Тогда    
            Контрагент     = Элемент;
        КонецЕсли;
    КонецЦикла;
    
    Если Контрагент = Null Тогда
        Контрагент     = Справочники.Контрагенты.ПустаяСсылка();
    КонецЕсли;    
    
    Если ДДС = Справочники.СтатьиДвиженияДенежныхСредств.ПустаяСсылка() Тогда
        Возврат;
    КонецЕсли;    
    
    Если Организация = Неопределено Тогда
        //Восстановим временный файл
        КопироватьФайл(ИмяФайла+"_", ИмяФайла);

        Отчет1 = ВнешниеОтчеты.Создать(ИмяФайла);
        
        Настройки1                 = Отчет1.КомпоновщикНастроек.Настройки;
        
        Для Каждого Стр Из Настройки1.Структура Цикл
            Если Стр.Имя = "ЗаголовокПоток" Или Стр.Имя = "Потоки" Тогда
                Стр.Использование = Ложь;
            КонецЕсли;    
        КонецЦикла;
        
        Отбор1                     = Настройки1.Отбор.Элементы[1];
        Отбор1.ПравоеЗначение     = ДДС;
        Отбор1.Использование     = Истина;
        Если ДДС.ЭтоГруппа Тогда
            Отбор1.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии;
        КонецЕсли;    
        
        Если Контрагент <> Справочники.Контрагенты.ПустаяСсылка() Тогда
            Отбор1                     = Настройки1.Отбор.Элементы[2];
            Отбор1.ПравоеЗначение     = Контрагент;
            Отбор1.Использование     = Истина;
        КонецЕсли;    
        
        Параметры1                 = Настройки1.ПараметрыДанных.Элементы;
        Параметры1[0].Значение     = ДатаНач;
        Параметры1[1].Значение     = ДатаКон;
      
        Отчет1.НачалоПериода     = ДатаНач;
        Отчет1.КонецПериода     = ДатаКон;
        Отчет1.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки1);
        
        Форма1                     = Отчет1.ПолучитьФорму();
        Форма1.ДействияФормыСформировать(Неопределено);
        Форма1.Открыть();
        
        Возврат;
    КонецЕсли;    
    
    Если Контрагент = Справочники.Контрагенты.ПустаяСсылка() Тогда
        Анализ = Истина;
    Иначе
        Анализ = Ложь;
    КонецЕсли;    
    
    Если Не Анализ Тогда
        Отчет = Отчеты.ОборотыМеждуСубконтоХозрасчетный.Создать();
    Иначе
        Отчет = Отчеты.АнализСубконтоХозрасчетный.Создать();
    КонецЕсли;    
    
    Форма = Отчет.ПолучитьФорму("Форма");
    Форма.Открыть();
    
    Форма.ДатаНач       = ДатаНач;
    Форма.ДатаКон       = ДатаКон;
    Форма.Организация   = Организация;
    
    Пока Форма.ПостроительОтчета.Отбор.Количество() > 0 Цикл
        Форма.ПостроительОтчета.Отбор.Удалить(0);
    КонецЦикла;
    
    Если Не Анализ Тогда
        Форма.ВидыСубконто.Очистить();
        НоваяСтрока             = Форма.ВидыСубконто.Добавить();
        НоваяСтрока.ВидСубконто =  ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиДвиженияДенежныхСредств;
        
        Форма.КорВидыСубконто.Очистить();
        НоваяСтрока = Форма.КорВидыСубконто.Добавить();
        Если ТипЗнч(Контрагент) = Тип("СправочникСсылка.Контрагенты") Тогда
            НоваяСтрока.ВидСубконто =  ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты;
        ИначеЕсли ТипЗнч(Контрагент) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
            НоваяСтрока.ВидСубконто =  ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизаций;
        ИначеЕсли ТипЗнч(Контрагент) = Тип("СправочникСсылка.СтатьиЗатрат") Тогда
            НоваяСтрока.ВидСубконто =  ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиЗатрат;
        ИначеЕсли ТипЗнч(Контрагент) = Тип("ПеречислениеСсылка.ВидыПлатежейВГосБюджет") Тогда
            НоваяСтрока.ВидСубконто =  ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидыПлатежейВГосБюджет;
        КонецЕсли;
    Иначе
        Форма.Субконто.Очистить();
        НоваяСтрока             = Форма.Субконто.Добавить();
        НоваяСтрока.ВидСубконто =  ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиДвиженияДенежныхСредств;
    КонецЕсли;    
    
    Форма.ПерезаполнитьНачальныеНастройки();
    
    Форма.ПостроительОтчета.Отбор.Добавить("Субконто1");
    
    Если ДДС = Справочники.СтатьиДвиженияДенежныхСредств.ПустаяСсылка() Тогда
        Форма.ПостроительОтчета.Отбор.Субконто1.Использование = Ложь;
    Иначе
        Форма.ПостроительОтчета.Отбор.Субконто1.Использование = Истина;
    КонецЕсли;
    
    Если ДДС.ЭтоГруппа Тогда
        Форма.ПостроительОтчета.Отбор.Субконто1.ВидСравнения = ВидСравнения.ВИерархии;        
    КонецЕсли;
    
    Форма.ПостроительОтчета.Отбор.Субконто1.Значение = ДДС;
    
    Если Не Анализ Тогда
        Форма.ПостроительОтчета.Отбор.Добавить("КорСубконто1");
        Форма.ПостроительОтчета.Отбор.КорСубконто1.Использование     = Истина;
        Форма.ПостроительОтчета.Отбор.КорСубконто1.Значение         = Контрагент;
        
        Пока Форма.ПостроительОтчета.ИзмеренияСтроки.Количество() > 0 Цикл
            ТекущаяСтрока = Форма.ПостроительОтчета.ИзмеренияСтроки[0];
            Форма.ПостроительОтчета.ИзмеренияСтроки.Удалить(ТекущаяСтрока);
        КонецЦикла;
        
        Форма.ПостроительОтчета.ИзмеренияСтроки.Добавить("Субконто1");
    КонецЕсли;    
    
    Отчет.СформироватьОтчет(Форма.ЭлементыФормы.ДокументРезультат);
    Форма.Обновить();
    
КонецПроцедуры
1 ИА1С
 
11.04.14
14:07
А отчет то такой есть?)))  Он пишет что нету))))
2 Sergei1982
 
11.04.14
14:07
В форме этого отчета написано "отчет ДДС", я уверен, что он слизан откуда-то. Но вот так разобраться, к сожалению не получается (
3 rbcvg
 
11.04.14
14:07
"Поле объекта не обнаружено (ОборотыМеждуСубконтоХозрасчетный)" - чем помочь?
4 Sergei1982
 
11.04.14
14:08
В смысле? Просто я не суперспец, извиняюсь, заранее, если сразу не въеду в тему
5 ale-sarin
 
11.04.14
14:08
(2) в конфе нет отчета "ОборотыМеждуСубконтоХозрасчетный"
6 Sergei1982
 
11.04.14
14:08
так что это значит, что надо делать?
7 ИА1С
 
11.04.14
14:09
Добавь отчет)))
8 Sergei1982
 
11.04.14
14:09
вы имеете в виду, что хоть отчет и внешний, его надо в дереве метаданных сохранить и потом через меню Отчеты в базе открывать?
9 shuhard
 
11.04.14
14:09
(6) купить правильный отчет
10 Sergei1982
 
11.04.14
14:10
были бы деньги (
11 Sergei1982
 
11.04.14
14:11
Я его сохранил в конфиге и открыл через меню операции - отчеты и при открытии он пишет:

{Отчет.ОтчетДДС.Форма.ФормаОтчета.Форма(16)}: Поле объекта не обнаружено (ИспользуемоеИмяФайла)
    ИмяФайла = ЭтотОбъект.ИспользуемоеИмяФайла;
12 ale-sarin
 
11.04.14
14:11
(8) Нет, Вы не врубаетесь.
Ваш внешний отчет при расшифровке пытается инициализировать другой отчет "ОборотыМеждуСубконтоХозрасчетный" из конфигурации, который видимо был в той самой "допотопной 8.1", а в этой его нет.
13 Sergei1982
 
11.04.14
14:13
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    //Сохраним временный файл. Он в дальнейшем может понадобится для расшифровки отчёта с отключённой группировкой "Организация"
    ИмяФайла = ЭтотОбъект.ИспользуемоеИмяФайла;
    КопироватьФайл(ИмяФайла, ИмяФайла + "_");
    
    Если НачалоПериода = Дата(1,1,1) и КонецПериода = Дата(1,1,1) Тогда
        
        НачалоПериода     = НачалоМесяца(ТекущаяДата());
        КонецПериода     = КонецМесяца(ТекущаяДата());
        
        ЭлементыФормы.НачалоПериода.Значение     = НачалоПериода;
        ЭлементыФормы.КонецПериода.Значение     = КонецПериода;
        
        НП.УстановитьПериод(НачалоПериода, КонецПериода);
    КонецЕсли;
    
КонецПроцедуры
14 Sergei1982
 
11.04.14
14:13
Сюда вот шлет
15 Sergei1982
 
11.04.14
14:13
Его нет в текущей, да. И как быть, уж не ругайтесь, пожалуйста
16 Sergei1982
 
11.04.14
14:14
переименовать что-то или создать?
17 Sergei1982
 
11.04.14
14:14
А если я его из той конфигипопытаюсь в эту перенести, прокатит?
18 Godofsin
 
11.04.14
14:16
Подведем итог: "Позовите специалиста"(с)
19 Sergei1982
 
11.04.14
14:18
обос..ли меня , короче
20 Sergei1982
 
11.04.14
14:18
и на том спасибо ))
21 Sergei1982
 
11.04.14
14:22
Может кто-нибудь еще подскажет, в общем я перенес отчеты требуемые из строй базы и после переноса он сразу написал:
Обнаружены неразрешимые ссылки:
Отчет.ОборотыМеждуСубконтоХозрасчетный.Справка

как с этим быть?