Имя: Пароль:
1C
1С v8
Значение не является значением объектного типа (Свернуть)
0 antiteror91
 
31.07.12
18:05
Процедура Печать(ТабДок, Ссылка) Экспорт
   //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
   Макет = Документы.ПланированиеРейсов.ПолучитьМакет("Печать");
   Запрос = Новый Запрос;
   Запрос.Текст =
    "ВЫБРАТЬ
    |    ВидБилета.Ссылка КАК ВидБилета
    |ПОМЕСТИТЬ ВТВидБилета
    |ИЗ
    |    Перечисление.ВидБилета КАК ВидБилета
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ПланированиеРейсовПланированиеБилета.Рейс,
    |    ПланированиеРейсовПланированиеБилета.Дата,
    |    ПланированиеРейсовПланированиеБилета.НомерБилета,
    |    ПланированиеРейсовПланированиеБилета.ВидБилета
    |ПОМЕСТИТЬ ВТОписаниеБилета
    |ИЗ
    |    Документ.ПланированиеРейсов.ПланированиеБилета КАК ПланированиеРейсовПланированиеБилета
    |ГДЕ
    |    ПланированиеРейсовПланированиеБилета.Ссылка В(&Ссылка)
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВТВидБилета.ВидБилета,
    |    ВЫБОР
    |        КОГДА ВТОписаниеБилета.ВидБилета = ВТВидБилета.ВидБилета
    |            ТОГДА 1
    |        ИНАЧЕ 0
    |    КОНЕЦ КАК ПризнакСовпаденияВида,
    |    ВТОписаниеБилета.НомерБилета,
    |    ВТОписаниеБилета.Рейс,
    |    ВТОписаниеБилета.Дата
    |ПОМЕСТИТЬ ВТСоединение
    |ИЗ
    |    ВТВидБилета КАК ВТВидБилета
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТОписаниеБилета КАК ВТОписаниеБилета
    |        ПО (ИСТИНА)
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    ВТОписаниеБилета.Рейс,
    |    ВТВидБилета.ВидБилета
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВТСоединение.Рейс,
    |    ВТСоединение.Дата,
    |    ВТСоединение.ВидБилета,
    |    СУММА(ВТСоединение.ПризнакСовпаденияВида) КАК ПризнакСовпаденияВида
    |ИЗ
    |    ВТСоединение КАК ВТСоединение
    |
    |СГРУППИРОВАТЬ ПО
    |    ВТСоединение.ВидБилета,
    |    ВТСоединение.Рейс,
    |    ВТСоединение.Дата
    |
    |УПОРЯДОЧИТЬ ПО
    |    ВТСоединение.Рейс,
    |    ВТСоединение.Дата";
   
   Запрос.Параметры.Вставить("Ссылка", Ссылка);
   ВыборкаРейс = Запрос.Выполнить().Выгрузить();
     
   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ОбластьЗапланированныеРейсыШапка = Макет.ПолучитьОбласть("ЗапланированныеРейсыШапка");
   ОбластьЗапланированныеРейсы = Макет.ПолучитьОбласть("ЗапланированныеРейсы");
   ОбластьИтого = Макет.ПолучитьОбласть("Итого");
   ТабДок.Очистить();

   ВставлятьРазделительСтраниц = Ложь;
    КопияВыборкаРейс = Копия(ВыборкаРейс);
   Свертка(КопияВыборкаРейс);

   

   Для Каждого Строка Из КопияВыборкаРейс Цикл
       Если ВставлятьРазделительСтраниц Тогда
           ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
       КонецЕсли;
       ТабДок.Вывести(ОбластьЗаголовок);
       ТабДок.Вывести(ОбластьЗапланированныеРейсыШапка);
       СуммаИтог = 0;
       Для Каждого Строка Из Поиск(КопияВыборкаРейс, ВыборкаРейс)Цикл
           
           ЕСЛИ ВыборкаРейс.ВидБилета =Перечисления.ВидБилета.Обычный
               ТОГДА ОбластьЗапланированныеРейсы.Параметры.КоличествоОбычный = ВыборкаРейс.ПризнакСовпаденияВида
           ИНАЧЕ
               ЕСЛИ ВыборкаРейс.ВидБилета = Перечисления.ВидБилета.ВИП
                   ТОГДА ОбластьЗапланированныеРейсы.Параметры.КоличествоВИП = ВыборкаРейс.ПризнакСовпаденияВида
               ИНАЧЕ
                   ЕСЛИ ВыборкаРейс.ВидБилета = Перечисления.ВидБилета.Эконом
                       ТОГДА ОбластьЗапланированныеРейсы.Параметры.КоличествоЭконом = ВыборкаРейс.ПризнакСовпаденияВида
                   КОНЕЦЕСЛИ;
               КОНЕЦЕСЛИ;
           КОНЕЦЕСЛИ;
           
           СуммаИтог = СуммаИтог + ВыборкаРейс.ПризнакСовпаденияВида;
       КОНЕЦЦИКЛА;
       
       ОбластьИтого.Параметры.ВсегоБилетов = СуммаИтог;
       
       ВставлятьРазделительСтраниц = Истина;
   КонецЦикла;
   
КонецПроцедуры

&НаСервере
Процедура Свертка(Таблица)
   
   Таблица.Свернуть("Рейс, Дата");
   
КонецПроцедуры

&НаСервере
Функция Копия(НоваяТаблица)
   НоваяТаблица.Скопировать();
КонецФункции

&НаСервере
Функция Поиск(КопияВыборкаРейс, ВыборкаРейс)
   Отбор = Новый Структура();
   Отбор.Вставить("Рейс", КопияВыборкаРейс.Рейс);
   Отбор.Вставить("Дата", КопияВыборкаРейс.Дата);
   Строки = ВыборкаРейс.НайтиСтроки(Отбор);
КонецФункции

Выходит ошибка:

{Документ.ПланированиеРейсов.МодульМенеджера(116)}: Значение не является значением объектного типа (Свернуть)
   Таблица.Свернуть("Рейс, Дата");
помогите ликведировать ошибку!!!
1 mehfk
 
31.07.12
18:10
&НаСервере
Функция Копия(НоваяТаблица)
   НоваяТаблица.Скопировать();
КонецФункции

а где "возврат"?
2 izekia
 
31.07.12
18:11
в запросе итоги добавь
3 CepeLLlka
 
31.07.12
18:15
В (1) Ответ же..

Только функцию надо переписать наверное.. раз скопировать хочет..


&НаСервере
Функция Копия(Знач НоваяТаблица)
   Возврат НоваяТаблица.Скопировать();
КонецФункции
4 izekia
 
31.07.12
18:17
а вот не проще такого писателя уволить, а найти нормального программиста?
вы на его запрос посмотрите
5 izekia
 
31.07.12
18:17
и на обработку результатов
6 antiteror91
 
31.07.12
23:06
mehfk,  CepeLLlka Спасибо Большое за помощь!
7 antiteror91
 
31.07.12
23:09
izekia я вас не просил обсуждать то как написаны запросы, а попросил о помощи. Если вы не догадались для чего нужен такой запрос, тогда это уже ваши проблемы.....
8 hhhh
 
01.08.12
00:14
(7) да не, мы догадались. Срубить побольше бабок. Поэтому и запрос на три страницы. Хотя можно было на одной уместить. И свертка должна быть в запросе.
Ошибка? Это не ошибка, это системная функция.