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

Ссылка на документ

Автор Vogde, 19 июл 2013, 09:17

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

Vogde

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

Вот код, подскажите где ошибка?


Процедура КнопкаВыполнитьНажатие(Кнопка)

Макет = ПолучитьМакет("Основной");
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьИтого = Макет.ПолучитьОбласть("Итого");

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

Запрос.Текст = СтрЗаменить(Запрос.Текст,"Поставщик = &Поставщик","");

КонецЕсли;

Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
Запрос.УстановитьПараметр("Поставщик", Контрагент);

Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);

// Общие итоги

ИтогоНаНачало = 0;
ИтогоПриход = 0;
ИтогоРасход = 0;
ИтогоНаКонец =0;

ЭлементыФормы.Результат.Очистить();
ЭлементыФормы.Результат.Вывести(ОбластьЗаголовок);
ЭлементыФормы.Результат.Вывести(ОбластьШапка);

Пока Выборка.Следующий() Цикл

ИтогоНаНачало = Выборка.СуммаДокументаНачальныйОстаток;
ИтогоПриход = Выборка.СуммаДокументаПриход;
ИтогоРасход = Выборка.СуммаДокументаРасход;
ИтогоНаКонец = Выборка.СуммаДокументаКонечныйОстаток;

ВыборкаПоставщик = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);

ЭлементыФормы.Результат.НачатьАвтогруппировкуСтрок();
    // Поставщик
Пока ВыборкаПоставщик.Следующий() Цикл

ОбластьСтрока.Параметры.ПоставщикДокумент = ВыборкаПоставщик.Поставщик;
ОбластьСтрока.Параметры.Реализация = " ";
ОбластьСтрока.Параметры.НаНачало = ВыборкаПоставщик.СуммаДокументаНачальныйОстаток;
ОбластьСтрока.Параметры.Приход = ВыборкаПоставщик.СуммаДокументаПриход;
ОбластьСтрока.Параметры.Расход = ВыборкаПоставщик.СуммаДокументаРасход;
ОбластьСтрока.Параметры.НаКонец = ВыборкаПоставщик.СуммаДокументаКонечныйОстаток;

    Элементыформы.Результат.Вывести(ОбластьСтрока,1,"Поставщик");

// ДокументПоставщика

ВыборкаДокументПоставки = ВыборкаПоставщик.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);

Пока ВыборкаДокументПоставки.Следующий() Цикл

ОбластьСтрока.Параметры.ПоставщикДокумент = ВыборкаДокументПоставки.ДокументПоставщика;
ОбластьСтрока.Параметры.Реализация = " ";
ОбластьСтрока.Параметры.НаНачало = ВыборкаДокументПоставки.СуммаДокументаНачальныйОстаток;
ОбластьСтрока.Параметры.Приход = ВыборкаДокументПоставки.СуммаДокументаПриход;
ОбластьСтрока.Параметры.Расход = " ";
ОбластьСтрока.Параметры.НаКонец = ВыборкаДокументПоставки.СуммаДокументаКонечныйОстаток;

ЭлементыФормы.Результат.Вывести(ОбластьСтрока,2,"Документ");

// Реализация

ВыборкаРеализация = ВыборкаДокументПоставки.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);

Пока ВыборкаРеализация.Следующий() Цикл

Если ЗначениеЗаполнено (ВыборкаРеализация.Регистратор) И ТипЗнч(ВыборкаРеализация.Регистратор) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
 
ОбластьСтрока.Параметры.ПоставщикДокумент = " ";
ОбластьСтрока.Параметры.Реализация = Строка(ВыборкаРеализация.Регистратор.Контрагент)+ ": " + ВыборкаРеализация.Регистратор;
ОбластьСтрока.Параметры.НаНачало = " ";
ОбластьСтрока.Параметры.Приход = " ";
ОбластьСтрока.Параметры.Расход = ВыборкаРеализация.СуммаДокументаРасход;
ОбластьСтрока.Параметры.НаКонец = " ";

ЭлементыФормы.Результат.Вывести(ОбластьСтрока,3,"Реализация");

КонецЕсли;

КонецЦикла;


КонецЦикла; 
КонецЦикла;
КонецЦикла;    

ЭлементыФормы.Результат.ЗакончитьАвтогруппировкуСтрок();

ОбластьИтого.Параметры.НаНачало = ИтогоНаНачало;
ОбластьИтого.Параметры.Приход = ИтогоПриход;
ОбластьИтого.Параметры.Расход = ИтогоРасход;
ОбластьИтого.Параметры.НаКонец = ИтогоНаКонец;

ЭлементыФормы.Результат.Вывести(ОбластьИтого);


КонецПроцедуры



Dethmontt

А что не работает то?
Выводиться строка вместо ссылки? Смотри в сторону свойств параметра макета - тип значения
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Vogde

Установил ТипЗначения      ДокументСсылка.нужный документ ,     Но все равно ссылка не выдается

Dethmontt

А как ты проверил выводиться ссылка или нет?
Добавлено: 19 июл 2013, 11:05


Нужно у макета поставить свойство только просмотр
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Vogde

Цитата: Dethmontt от 19 июл 2013, 11:04
А как ты проверил выводиться ссылка или нет?
Добавлено: 19 июл 2013, 11:05


Нужно у макета поставить свойство только просмотр

1 Когда создаешь отчет через конструктор, в запущенном приложении наводя на это поле по двойному клику можно перейти на отображенный документ. В моем случае этой возможности не предоставляется.

2 подскажите как выставить это свойство

Dethmontt

В свойствах табличного поля "Результат"
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Vogde

Денис извини что сразу не поблагодарил за помощь! Спасибо большое все заработало:zebzdr:

Теги:

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

Рейтинг@Mail.ru

Поиск