Имя: Пароль:
1C
1С v8
Ошибка при вызове метода контекста (Вывести)
0 Sanыч90
 
19.03.14
07:53
Подскажите в чем проблема?

Функция ПечатьДокумента()
    
    ТабДокумент = Новый ТабличныйДокумент;

    //Получим данные из документа

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


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


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

КонецФункции // ПечатьДокумента()

При выполнении выводится - Ошибка при вызове метода контекста (Вывести): Несоответствие типов (параметр номер '1')
1 Godofsin
 
19.03.14
07:58
На какой именно строке?
2 Godofsin
 
19.03.14
07:58
Нахера 2 раза один и тот же макет получать в разные переменные?
3 Рэйв
 
19.03.14
08:09
(0)У меня аж зубы заныли от такого кода...
4 Sanыч90
 
19.03.14
08:44
Не судите строго, второй день изучаю 1с. В конфигураторе ошибок не выдает, вторй макет убрал...
5 Godofsin
 
19.03.14
09:16
(4) Приведи текст ошибки полностью.
6 Godofsin
 
19.03.14
09:18
Запрос1 ваще шикарен.
7 Рэйв
 
19.03.14
09:19
(6)Вывод шапки в цикле тоже забавен:-)
8 Рэйв
 
19.03.14
09:19
Я так и представил по началу
-Шапка
-Шапка
-Шапка
-Шапка
-Шапка
...
-Документ
:-)
9 Godofsin
 
19.03.14
09:20
(7) +1
10 Godofsin
 
19.03.14
09:20
При этом получаем номер и дату документа через запрос с условием на отбор по ссылке на этот же документ ))))
11 Godofsin
 
19.03.14
09:21
(0) Ошибка тут:

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

    
    Макет1 = ПолучитьМакет("МатериальнаяПомощь");
    ОбластьПодвал = Макет1.ПолучитьОбласть("Подвал");
    ОбластьПодвал.Параметры.Работник=Данные1.ФИО;
    ОбластьПодвал.Параметры.ТабНомер=Данные1.Код;
    ОбластьПодвал.Параметры.Подразделение=Данные1.Подразделение;
    ОбластьПодвал.Параметры.Должность=Данные1.Должность;
    ОбластьПодвал.Параметры.ВидПомощи=Данные1.ВидПомощи;
    КонецЦикла;


    ТабДокумент.Вывести(ОбластьПодвал);
12 Рэйв
 
19.03.14
09:22
(10)Хорошо хоть не запустил по СОМ обработку в другой базе, которая обратится к текущей, найдет текущий документ и вернет его дату и номер:-)
13 Godofsin
 
19.03.14
09:23
(12) гыгыгы )))))
14 Любопытная
 
19.03.14
09:25
(10)получение даты и номера документа при наличии ссылки на этот документ вообще распространенное явление в ВПФ. Зачем так делают, мне лично непонятно
15 Godofsin
 
19.03.14
09:27
(14) Правда? Вот чессно, первый раз такое вижу.