Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Ссылка на документ  (Прочитано 3162 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Vogde
Участник

ru
Offline Offline

« : 19-07-2013 05:15 » 

Всем привет.  В отчете (дополнительная внешняя обработка)  необходимо чтобы в поле Документ выдавалась ссылка на этот документ.

Вот код, подскажите где ошибка?
Код: (1C v8)

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


Записан
Radistka
Помогающий

ru
Offline Offline
Пол: Женский

« Ответ #1 : 16-09-2013 08:30 » 

а какая ошибка то? что искать?
Записан
Vogde
Участник

ru
Offline Offline

« Ответ #2 : 16-09-2013 21:56 » 

Здесь ошибка была в параметрах макета, необходимо было изменить тип значения в поле Результат
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines