Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 21:56

внешняя обработка ошибка с курсом валют

Автор agusikdeon, 13 апр 2011, 11:38

0 Пользователей и 1 гость просматривают эту тему.

agusikdeon

Ут 10.3

во внешней обработке есть функция которая запросом получает данные о документе ЗаказПокупателя с параметром(СсылкаНаОбъект)
"Функция СобратьДанныеПоЗаказПокупателя(СсылкаНаОбъект)"
что нужно написать в запросе чтобы из регистра сведений курсы валют выбралось то значение курса которое соответствует следующим условиям
КурсыВалют.Период=ЗаказПокупателя.Дата И КурсыВалют.Валюта=Заказпокупателя.ВалютаДокумента

agusikdeon

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

запрос.Текст="ВЫБРАТЬ
             |   КурсыВалют.Период КАК период,
             |   КурсыВалют.Курс КАК курс
             |ИЗ
             |   Документ.ЗаказПокупателя КАК ЗаказПокупателя,
             |   РегистрСведений.КурсыВалют КАК КурсыВалют
             |ГДЕ
             |   ЗаказПокупателя.Ссылка = &ДокументОснование
             |   И КурсыВалют.Валюта = ЗаказПокупателя.ВалютаДокумента
             |   И КурсыВалют.Период = ЗаказПокупателя.Дата";
          шапка1=запрос.Выполнить().Выбрать();
вот так не работает
что не правильно?

has


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

Klyacksa

agusikdeon, у Вас в запросе связи между таблицами нет, поэтому и не работает.
И, как правильно сказал has, достаточно воспользоваться регистром Курсы валют, раз никакие данные из документа Заказ покупателя нам не нужны.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

agusikdeon

ошибка чтения значения(((
не пойму почему

Klyacksa

Опишите подробней ошибку, когда она возникает.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

agusikdeon

скину часть кода обработки

Функция СобратьДанныеПоЗаказПокупателя(СсылкаНаОбъект)

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

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

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

   ДанныеДляПечати = Новый Структура();
   ДанныеДляПечати.Вставить("Организация",      Шапка.Организация);
   ДанныеДляПечати.Вставить("Номер",            СсылканаОбъект.Номер);
   ДанныеДляПечати.Вставить("Дата",             СсылкаНаОбъект.Дата);
   ДанныеДляПечати.Вставить("Поставщик",        Шапка.Поставщик);
   ДанныеДляПечати.Вставить("Грузоотправитель", Шапка.Грузоотправитель);
   ДанныеДляПечати.Вставить("Подразделение",    Шапка.Подразделение);
   ДанныеДляПечати.Вставить("Покупатель",       Шапка.Покупатель);
   ДанныеДляПечати.Вставить("Грузополучатель",  Шапка.Грузополучатель);
   ДанныеДляПечати.Вставить("Сумма",            Шапка.Сумма);
   ДанныеДляПечати.Вставить("Валюта",           Шапка.Валюта);
   ДанныеДляПечати.Вставить("УчитыватьНДС",     Шапка.УчитыватьНДС);
   ДанныеДляПечати.Вставить("курс",     Шапка2.курс);
   ДанныеДляПечати.Вставить("период",     Шапка2.период);



    Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизации(Шапка.Организация, СсылкаНаОбъект.Дата,);
   ДанныеДляПечати.Вставить("ФИОРуководителя",      Руководители.Руководитель);
   ДанныеДляПечати.Вставить("ФИОГлавногоБухгалтера", Руководители.ГлавныйБухгалтер);

   
   Товары = ИнициализацияТаблицыСтрок();

   Пока ВыборкаСтрокТовары.Следующий() = 1 Цикл
      Строчка = Товары.Добавить();
      Строчка.Товар               = ВыборкаСтрокТовары.Товар;
      Строчка.ТоварНаименование   = СокрЛП(ВыборкаСтрокТовары.ТоварНаименование) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары);
      Строчка.СтранаПроисхождения = ВыборкаСтрокТовары.СтранаПроисхождения;
      Строчка.ПредставлениеСтраны = ?(Не ЗначениеЗаполнено(ВыборкаСтрокТовары.ПредставлениеСтраны), ВыборкаСтрокТовары.СтранаПроисхождения, ВыборкаСтрокТовары.ПредставлениеСтраны);
      Строчка.НомерГТД            = ВыборкаСтрокТовары.НомерГТД;
      Строчка.ПредставлениеГТД    = ВыборкаСтрокТовары.ПредставлениеГТД;
      Строчка.Количество          = ВыборкаСтрокТовары.Количество;
      Строчка.ЕдиницаИзмерения    = ВыборкаСтрокТовары.ЕдиницаИзмерения;
      Строчка.СуммаВключаетНДС   = Шапка.СуммаВключаетНДС;
      Строчка.Цена = ?(ВыборкаСтрокТовары.Цена <> 0, ?(НЕ Шапка.СуммаВключаетНДС,?(ВыборкаСтрокТовары.Количество = 0, 0, ВыборкаСтрокТовары.Сумма / ВыборкаСтрокТовары.Количество),ВыборкаСтрокТовары.Цена),
                       ?(ВыборкаСтрокТовары.Количество = 0, 0, (ВыборкаСтрокТовары.Сумма - ?(Шапка.СуммаВключаетНДС, ВыборкаСтрокТовары.СуммаНДС, 0)) / ВыборкаСтрокТовары.Количество));
      Строчка.СтавкаНДС           = ?(Шапка.УчитыватьНДС, ВыборкаСтрокТовары.СтавкаНДС, Перечисления.СтавкиНДС.БезНДС);
      Строчка.СуммаНДС            = ВыборкаСтрокТовары.СуммаНДС;
      Строчка.Сумма               = ВыборкаСтрокТовары.Сумма;
   КонецЦикла;

   ДанныеДляПечати.Вставить("ТабличнаяЧасть", Товары);


   Возврат ДанныеДляПечати;

КонецФункции


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

   Макет = ПолучитьМакет("Макет");

   СведенияОбПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(СсылкаНаОбъект.Контрагент, СсылкаНаОбъект.Дата);
   СведенияОПоставщике  = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(СсылкаНаОбъект.Организация, СсылкаНаОбъект.Дата);
   СведенияОГрузоотправителе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(СсылкаНаОбъект.Грузоотправитель, СсылкаНаОбъект.Дата);
   СведенияОГрузополучателе  = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(СсылкаНаОбъект.Грузополучатель, СсылкаНаОбъект.Дата);
   
   ВыборкаПоТоварам = ДанныеДляПечати.ТабличнаяЧасть.Скопировать();
   ВыборкаПоТоварам.Свернуть("Товар");


   Если ВыборкаПоТоварам.Количество() > 0 Тогда
      ТолькоУслуги = Истина;
      Для Каждого СтрокаТовар Из ВыборкаПоТоварам Цикл
         Если (ТипЗнч(СтрокаТовар.Товар) = Тип("СправочникСсылка.Номенклатура")
            И Не СтрокаТовар.Товар.Услуга)
            Тогда
            ТолькоУслуги = Ложь;
            Прервать;
         КонецЕсли;
      КонецЦикла;
   Иначе
      ТолькоУслуги = Ложь;
   КонецЕсли;


    //Выводим шапку накладной
   ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
   ОбластьМакета.Параметры.Заполнить(ДанныеДляПечати);
   ЗаголовокДляПечати = ОбщегоНазначения.СформироватьЗаголовокДокумента(ДанныеДляПечати, "Заказ Покупателя");
   ОбластьМакета.Параметры.Номер = ЗаголовокДляПечати;
            ОбластьМакета.Параметры.ПредставлениеПоставщика       = "Продавец: "                                 + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике,  "ПолноеНаименование,");
         ОбластьМакета.Параметры.ДатаКурса       = "ДатаКурса: "+ДанныеДляПечати.период;
         ОбластьМакета.Параметры.Курс       = "Курс: "+ДанныеДляПечати.курс;
         Областьмакета.Параметры.Оплата=оплатта.оплата;
         ОбластьМакета.Параметры.АдресПоставщика               = "Адрес: "                                    + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике,  "ЮридическийАдрес,");
      ОбластьМакета.Параметры.ИННпоставщика                 = "ИНН/КПП Продавца: "   + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике,  "ИНН,КПП", Ложь);
         ОбластьМакета.Параметры.ПредставлениеГрузоотправителя = "Грузоотправитель и его адрес: " + ?(Не ЗначениеЗаполнено(СсылкаНаОбъект.Грузоотправитель), ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике,  "ПолноеНаименование,")+ ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике,  "ЮридическийАдрес,"), ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправителе,  "ПолноеНаименование,ФактическийАдрес,"));
         ОбластьМакета.Параметры.ПредставлениеГрузополучателя  = "Грузополучатель и его адрес: "  + ?(Не ЗначениеЗаполнено(СсылкаНаОбъект.Грузополучатель), ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбПокупателе, "ПолноеНаименование,")+ ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбПокупателе, "ЮридическийАдрес,"), ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "ПолноеНаименование,ФактическийАдрес,"));
      Строка_ПоДокументу = "";
      
         Строка_ПоДокументу = Строка_ПоДокументу+ ?(ПустаяСтрока(Строка_ПоДокументу), "К платежно-расчетному документу № ",", ");
               
      
      Если ПустаяСтрока(Строка_ПоДокументу) Тогда
         Строка_ПоДокументу = "К платежно-расчетному документу № -- от --"
      КонецЕсли;
      ОбластьМакета.Параметры.ПоДокументу                   = Строка_ПоДокументу;
      
      ОбластьМакета.Параметры.ПредставлениеПокупателя       = "Покупатель: "                               + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбПокупателе, "ПолноеНаименование,");
      ОбластьМакета.Параметры.АдресПокупателя               = "Адрес: "                                    + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбПокупателе, "ЮридическийАдрес,");
         
   
   ПроставитьПрочеркиВПустыеПоля(ОбластьМакета);
   ТабДокумент.Вывести(ОбластьМакета);

   ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
   ОбластьМакета.Параметры.Заполнить(ДанныеДляПечати);
   ТабДокумент.Вывести(ОбластьМакета);
   ТабДокумент.ПовторятьПриПечатиСтроки =  ТабДокумент.Область("ЗаголовокТаблицы");

   ОбластьМакета = Макет.ПолучитьОбласть("Строка");

   ИтогоСуммаНДС = 0;
   ИтогоВсего    = 0;

   ВыборкаСтрокТовары = ДанныеДляПечати.ТабличнаяЧасть;
   ВыборкаСтрокТовары.Колонки.Добавить("СуммаБезНДС");
   ВыборкаСтрокТовары.Колонки.Добавить("СуммаСНДС");
   
   Для Каждого Строчка Из ВыборкаСтрокТовары Цикл
      Строчка.СуммаСНДС = Строчка.Сумма + ?(Строчка.СуммаВключаетНДС, 0, Строчка.СуммаНДС);
      Если (Строчка.СтавкаНДС = Перечисления.СтавкиНДС.НДС20_120)
       Или (Строчка.СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118)
       Или (Строчка.СтавкаНДС = Перечисления.СтавкиНДС.НДС10_110) Тогда
         Строчка.СуммаБезНДС = Строчка.СуммаСНДС;
         Если Не Строчка.СуммаВключаетНДС тогда
            Строчка.Цена = 0;
         КонецЕсли;
      Иначе
         Строчка.СуммаБезНДС = Строчка.СуммаСНДС - Строчка.СуммаНДС;
         Если Строчка.СуммаВключаетНДС тогда
            Строчка.Цена = 0;
         КонецЕсли;
      КонецЕсли;
      Если Строчка.Цена = 0 Тогда
         Строчка.Цена = Окр(?(Строчка.Количество = 0, 0, Строчка.СуммаБезНДС / Строчка.Количество), 2);
      КонецЕсли;
   КонецЦикла;
   
   ВыборкаСтрокТовары.Свернуть("Товар, ТоварНаименование, СтранаПроисхождения, ПредставлениеСтраны, НомерГТД, ПредставлениеГТД, ЕдиницаИзмерения, Цена, СтавкаНДС", "Количество, Сумма, СуммаНДС, СуммаСНДС, СуммаБезНДС");
   
   Для Каждого Строчка Из ВыборкаСтрокТовары Цикл
      ОбластьМакета.Параметры.Заполнить(Строчка);
      
      Если Строчка.СтранаПроисхождения = Справочники.КлассификаторСтранМира.Россия Тогда
         ОбластьМакета.Параметры.ПредставлениеСтраны = "--";
         ОбластьМакета.Параметры.ПредставлениеГТД    = "--";
      КонецЕсли;

      Количество  = Строчка.Количество;

               ОбластьМакета.Параметры.Количество = Количество;
         ОбластьМакета.Параметры.Цена   = Строчка.Цена;
         ОбластьМакета.Параметры.Стоимость  = Строчка.СуммаБезНДС;
      
         
      ОбластьМакета.Параметры.Всего      = Строчка.СуммаСНДС;
      ОбластьМакета.Параметры.СтавкаНДС  = Строчка.СтавкаНДС;

      ИтогоСуммаНДС = ИтогоСуммаНДС + Строчка.СуммаНДС;
      ИтогоВсего    = ИтогоВсего    + Строчка.СуммаСНДС;

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

   КонецЦикла;

   Если ВыборкаСтрокТовары.Количество()>0 Тогда
      ТабДокумент.Область(ТабДокумент.ВысотаТаблицы,,ТабДокумент.ВысотаТаблицы,).ВместеСоСледующим = Истина;
   КонецЕсли;
   
   ОбластьМакета = Макет.ПолучитьОбласть("Итого");
   ОбластьМакета.Параметры.ИтогоСуммаНДС = ИтогоСуммаНДС;
   ОбластьМакета.Параметры.ИтогоВсего    = ИтогоВСего;
   
   ПроставитьПрочеркиВПустыеПоля(ОбластьМакета);
   ТабДокумент.Вывести(ОбластьМакета);

   ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
   ОбластьМакета.Параметры.Заполнить(ДанныеДляПечати);
   
   
   ТабДокумент.Вывести(ОбластьМакета);

   ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
   ТабДокумент.ПолеСверху = 13;
   ТабДокумент.ПолеСлева  = 0;
   ТабДокумент.ПолеСнизу  = 0;
   ТабДокумент.ПолеСправа = 0;

   ТабДокумент.ВерхнийКолонтитул.Выводить          = Истина;
   ТабДокумент.ВерхнийКолонтитул.НачальнаяСтраница = 2;
   ТабДокумент.ВерхнийКолонтитул.ВертикальноеПоложение = ВертикальноеПоложение.Низ;
   ТабДокумент.ВерхнийКолонтитул.ТекстСлева   = ЗаголовокДляПечати;
   ТабДокумент.ВерхнийКолонтитул.ТекстСправа  = "Лист [&НомерСтраницы]";

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

КонецФункции

Функция СобратьДанныеПоЗаказПокупателя 2-ой запрос поставил как предложил has.
при отладке если просмотреть значение "шапка1" то там для параметров курс и период будет значение Null
а выборка "шапка2" выдает для параметров курс и период Ошибка Чтения значения

agusikdeon

основа функций взята из документа СчетФактураВыданный

has

Цитироватьскину часть кода обработки
убил)))....можно было поменьше.
Если по делу, то надо то место где выдается ошибка, ато както не фонтан сидеть и разбираться в таком куску

agusikdeon

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

          шапка1=Запрос.Выполнить();
          шапка2=шапка1.Выбрать();



запрос поставил как предложил has.
при отладке если просмотреть значение "шапка1" то там для параметров курс и период будет значение Null
а выборка "шапка2" выдает для параметров курс и период Ошибка Чтения значения

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск