Имя: Пароль:
1C
1С v8
Ошибка во внешней печатной форме КА после обновления конфигурации
0 snap870
 
18.08.14
17:37
День добрый. После обновление конфы в одной из печатных форм стала появляться ошибка "Значение не является значением объектного типа (Номер)" Причем доки до версии 49.1 работает нормально и старе доки открывает. А вот все новые с этой ошибкой. Сам кусок кода ниже выложил, не подскажите в каком направлении копать?


Функция Печать() Экспорт

    мВалютаРегламентированногоУчета = глЗначениеПеременной("ВалютаРегламентированногоУчета");
    
    
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);

    Запрос.Текст =
    "ВЫБРАТЬ
    |    Номер,
    |    Дата  КАК ДатаДокумента,
    |    Организация КАК Орган,
    |    Организация,
    |    Организация КАК Руководители,
    |    Подразделение.Представление КАК ПредставлениеПодразделения,
    |    Подразделение               КАК Подразделение,
    |    Контрагент,
    |    Контрагент.Представление КАК Контрагент,
    |    ПринятоОт      КАК ПринятоОт,
    |    Основание      КАК Основание,
    |    Приложение     КАК Приложение,
    |    СуммаДокумента КАК Сумма,
    |    ВалютаДокумента,
    |    ВалютаДокумента.Представление КАК ВалютаПредставление,
    |    СтавкаНДС
    |ИЗ
    |    Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
    |
    |ГДЕ
    |    ПриходныйКассовыйОрдер.Ссылка = &ТекущийДокумент";

    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();

    //// Можно удалить если чё
    Счет = СсылкаНаОбъект.РасшифровкаПлатежа[0].СтатьяДвиженияДенежныхСредств.Наименование;
    Статья = "";
    //Сообщить(Счет);
    Если Счет = "Оплата покупателя" Тогда
        Статья = "62.01, 62.02";
            Иначе Если Счет = "Возврат денежных средств подотчетником" Тогда
        Статья = "71.01";
    КонецЕсли;
    КонецЕсли;
    

    //Сообщить(Счет);
    //Сообщить(Статья);
    

    
    ///
    
    
    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриходныйКассовыйОрдер_КО1";
    Макет       = ПолучитьОбщийМакет("КО1");
    
    ЕстьРасчетыСКонтрагентами = УправлениеДенежнымиСредствами.ЕстьРасчетыСКонтрагентами(СсылкаНаОбъект.ВидОперации);
    ЕстьРасчетыПоКредитам     = УправлениеДенежнымиСредствами.ЕстьРасчетыПоКредитам(СсылкаНаОбъект.ВидОперации);

    // Выводим шапку ПКО

    СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Орган, Шапка.ДатаДокумента);

    ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,");
    ОбластьМакета.Параметры.СуммаРубКоп       = ?(НЕ СсылкаНаОбъект.Касса.ВалютаДенежныхСредств = мВалютаРегламентированногоУчета,
        Формат(Шапка.Сумма, "ЧЦ=15; ЧДЦ=2") + " " + СокрЛП(Шапка.ВалютаДокумента), РубКоп(Шапка.Сумма));
    ОбластьМакета.Параметры.Сумма              = Формат(Шапка.Сумма, "ЧЦ=15; ЧДЦ=2")
        + ?(НЕ СсылкаНаОбъект.Касса.ВалютаДенежныхСредств = мВалютаРегламентированногоУчета, " " + СокрЛП(Шапка.ВалютаДокумента), "");
    ОбластьМакета.Параметры.СуммаПрописью     = ?(НЕ СсылкаНаОбъект.Касса.ВалютаДенежныхСредств = мВалютаРегламентированногоУчета,
        ОбщегоНазначения.СформироватьСуммуПрописью(Шапка.Сумма, Шапка.ВалютаДокумента), РубКопПрописью(Шапка.Сумма));
    ОбластьМакета.Параметры.ОрганизацияПоОКПО = СведенияОбОрганизации.КодПоОКПО;
    ОбластьМакета.Параметры.ДатаДокумента     = Шапка.ДатаДокумента;
    ОбластьМакета.Параметры.НомерДокумента    = ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка);
        
    КодыСчетСубсчет = ОпределитьКодыСчетСубсчет();
    
    ОбластьМакета.Параметры.КодДебета = "50.01";
    
    //// Колдовство ниже
    
    ОбластьМакета.Параметры.СубСчет   = Статья;
    
    
    ///////////
    
    
    ТабНДС=СсылкаНаОбъект.РасшифровкаПлатежа.Выгрузить();
    
    ТабНДС.Свернуть("СтавкаНДС","СуммаНДС");
    
    ТекстСуммаНДС = "";
    
    Для Каждого СтрокаНДС ИЗ ТабНДС цикл
        
        ТекстСуммаНДС = ТекстСуммаНДС + Символы.ПС + "НДС (" + ?(НЕ ЗначениеЗаполнено(СтрокаНДС.СтавкаНДС), "без налога", СтрокаНДС.СтавкаНДС) + ") " + Формат(СтрокаНДС.СуммаНДС, "ЧЦ=15;ЧДЦ=2;ЧРД=-;ЧН=0-00")+" "+Шапка.ВалютаПредставление;
        
    КонецЦикла;
    
    ТекстСуммаНДС = Сред(ТекстСуммаНДС, 2);
        
    ОбластьМакета.Параметры.ВТомЧисле = ТекстСуммаНДС;

    Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Шапка.Руководители, КонецДня(Шапка.ДатаДокумента),);
    
    Бухгалтер    = Руководители.ГлавныйБухгалтер;
    Кассир       = Руководители.Кассир;

    ОбластьМакета.Параметры.ФИОГлавногоБухгалтера = Бухгалтер;
    ОбластьМакета.Параметры.ФИОКассира            = Кассир;

    ОбластьМакета.Параметры.ПринятоОт  = Шапка.ПринятоОт;
    //ОбластьМакета.Параметры.Основание  = СсылкаНаОбъект.Основание;
    ОбластьМакета.Параметры.Основание =  Сред(СсылкаНаОбъект.РасшифровкаПлатежа[0].ДокументРасчетовСКонтрагентом, 1,Найти(СсылкаНаОбъект.РасшифровкаПлатежа[0].ДокументРасчетовСКонтрагентом, СсылкаНаОбъект.РасшифровкаПлатежа[0].ДокументРасчетовСКонтрагентом.Номер)-1) + ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект.РасшифровкаПлатежа[0].ДокументРасчетовСКонтрагентом) + " от " + Сред(СсылкаНаОбъект.РасшифровкаПлатежа[0].ДокументРасчетовСКонтрагентом.Дата,1,10);

    
    ОбластьМакета.Параметры.Приложение = СсылкаНаОбъект.Приложение;

    ТабДокумент.Вывести(ОбластьМакета);

    Возврат ТабДокумент;

КонецФункции // ПечатьПКО()
1 Dionis Sergeevich
 
18.08.14
17:40
тут все нормально вроде. На какую строку ругается?
2 Dionis Sergeevich
 
18.08.14
17:41
хорошая организация)) "Организация КАК Орган"

Поищи по поиску "Номер."
3 ВРедная
 
18.08.14
17:56
В новых документах документ расчетов с контрагентом не заполнен, например.
А вообще отладчик придется найти и использовать, если планируешь дальше работать по этому же направлению.
Ошибка? Это не ошибка, это системная функция.