Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Расшифровка отчета          
mavrik Подменю пользователя
сообщение 27.01.12, 13:39
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0

Как реализовать расшифровку отчета,есть некий формируется список контрагентов и по нажатию на один из них выводит все услуги по нему,вот код
Перем Расшифровка;

Функция ФизВес(ДокОсн)
    ФВ=0;
    Если ПустоеЗначение(ДокОсн.ДокОснова)=0 Тогда
        ФВ=ДокОсн.ДокОснова.ФКількість;
    КонецЕсли;
    Возврат ФВ*100;
КонецФункции    

Процедура Сформировать()
    Запрос1 = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ТекущийДокумент = Документ.ВиконанняРобітПослуг.ТекущийДокумент;
    |Контрагент = Документ.ВиконанняРобітПослуг.Аналітика1;
    |ВидПослуг = Документ.ВиконанняРобітПослуг.ВидПослуг;
    |Группировка Контрагент;
    |Группировка ВидПослуг без групп;
    |Группировка ТекущийДокумент;
    |"//}}ЗАПРОС
;
    
    Пока Запрос1.Группировка(1)=1 Цикл
        Таб.ВывестиСекцию("Контрагент");
        Расшифровка.Установить("Контрагент",Запрос1.Контрагент);
        Расшифровка.Установить("ВидПослуг",Запрос1.ВидПослуг);
    КонецЦикла;    
КонецПроцедуры

Процедура розшифрстрок(зн)
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ТекущийДокумент = Документ.ВиконанняРобітПослуг.ТекущийДокумент;
    |Контрагент = Документ.ВиконанняРобітПослуг.Аналітика1;
    |ВидПослуг = Документ.ВиконанняРобітПослуг.ВидПослуг;
    |Группировка ВидПослуг без групп;
    |Группировка ТекущийДокумент;
    |"//}}ЗАПРОС
;        
КонецПроцедуры

Процедура ОбработкаЯчейкиТаблицы(Зн, Фл)
    Если ТипЗначенияСТр(Зн)="Документ" ТОгда
        Фл=1;
    ИначеЕсли ТипЗначенияСтр(Зн)="СписокЗначений" Тогда
        розшифрСтрок(зн);
    КонецЕсли;    
КонецПроцедуры  

Расшифровка=СоздатьОбъект("СписокЗначений");
Расшифровка.ДобавитьЗначение("","Контрагент");
Расшифровка.ДобавитьЗначение("","ВидПослуг");

Проблема в том что при выборе любого контрагента мне выводит все услуги всех контрагентов из списка.

5_kopeek Подменю пользователя
сообщение 27.01.12, 13:52
Сообщение #2

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Процедура розшифрстрок(зн)
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    ТекКонтрагент=Зн.Получить("Контрагент");
    ТекВидУслг=Зн.Получить("ВидПослуг");
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ТекущийДокумент = Документ.ВиконанняРобітПослуг.ТекущийДокумент;
    |Контрагент = Документ.ВиконанняРобітПослуг.Аналітика1;
    |ВидПослуг = Документ.ВиконанняРобітПослуг.ВидПослуг;
    |Группировка ВидПослуг без групп;
    |Группировка ТекущийДокумент;
    |Условие (Контрагент в ТекКонтрагент);
    |Условие (ВидПослуг в ТекВидУслуг);
    |"//}}ЗАПРОС
;        
КонецПроцедуры

mavrik Подменю пользователя
сообщение 27.01.12, 14:22
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(5_kopeek @ 27.01.12, 13:52) *
Процедура розшифрстрок(зн)
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    ТекКонтрагент=Зн.Получить("Контрагент");
    ТекВидУслг=Зн.Получить("ВидПослуг");
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ТекущийДокумент = Документ.ВиконанняРобітПослуг.ТекущийДокумент;
    |Контрагент = Документ.ВиконанняРобітПослуг.Аналітика1;
    |ВидПослуг = Документ.ВиконанняРобітПослуг.ВидПослуг;
    |Группировка ВидПослуг без групп;
    |Группировка ТекущийДокумент;
    |Условие (Контрагент в ТекКонтрагент);
    |Условие (ВидПослуг в ТекВидУслуг);
    |"//}}ЗАПРОС
;        
КонецПроцедуры

Не работает вывело по первому контрагенту все данные всех контрагентов а остальные контрагенты пустые

nysysimara Подменю пользователя
сообщение 27.01.12, 15:18
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

попробуйте вместо
Таб.ВывестиСекцию("Контрагент"); 
Расшифровка.Установить("Контрагент",Запрос1.Контрагент);
Расшифровка.Установить("ВидПослуг",Запрос1.ВидПослуг);

так
Расшифровка.Установить("Контрагент",Запрос1.Контрагент);
Расшифровка.Установить("ВидПослуг",Запрос1.ВидПослуг);
Таб.ВывестиСекцию("Контрагент");


Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

Спасибо сказали: mavrik,

5_kopeek Подменю пользователя
сообщение 27.01.12, 15:23
Сообщение #5

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Цитата(nysysimara @ 27.01.12, 15:18) *
попробуйте вместо
Таб.ВывестиСекцию("Контрагент"); 
Расшифровка.Установить("Контрагент",Запрос1.Контрагент);
Расшифровка.Установить("ВидПослуг",Запрос1.ВидПослуг);

так
Расшифровка.Установить("Контрагент",Запрос1.Контрагент);
Расшифровка.Установить("ВидПослуг",Запрос1.ВидПослуг);
Таб.ВывестиСекцию("Контрагент");

Логично smile.gif И это как минимум smile.gif

Сообщение отредактировал 5_kopeek - 27.01.12, 15:24

mavrik Подменю пользователя
сообщение 27.01.12, 15:48
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(5_kopeek @ 27.01.12, 15:23) *
Логично smile.gif И это как минимум smile.gif

Ничего вообще не выводит

5_kopeek Подменю пользователя
сообщение 27.01.12, 15:54
Сообщение #7

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Цитата(mavrik @ 27.01.12, 15:48) *
Ничего вообще не выводит

Т.е. основной отчет выводит, а когда щелкаете по ячейке что происходит?

nysysimara Подменю пользователя
сообщение 27.01.12, 16:03
Сообщение #8

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

может так
Перем Расшифровка;

Функция ФизВес(ДокОсн)
    ФВ=0;
    Если ПустоеЗначение(ДокОсн.ДокОснова)=0 Тогда
        ФВ=ДокОсн.ДокОснова.ФКількість;
    КонецЕсли;
    Возврат ФВ*100;
КонецФункции    

Процедура Сформировать()
    Запрос1 = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ТекущийДокумент = Документ.ВиконанняРобітПослуг.ТекущийДокумент;
    |Контрагент = Документ.ВиконанняРобітПослуг.Аналітика1;
    |ВидПослуг = Документ.ВиконанняРобітПослуг.ВидПослуг;
    |Группировка Контрагент;
    |Группировка ВидПослуг без групп;
    |Группировка ТекущийДокумент;
    |"//}}ЗАПРОС
;
    
    Пока Запрос1.Группировка(1)=1 Цикл
        Расшифровка.Установить("Контрагент",Запрос1.Контрагент);
        Таб.ВывестиСекцию("Контрагент");
    КонецЦикла;    
КонецПроцедуры

Процедура розшифрстрок(зн)
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    ТекКонтрагент=Зн.Получить("Контрагент");
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ТекущийДокумент = Документ.ВиконанняРобітПослуг.ТекущийДокумент;
    |Контрагент = Документ.ВиконанняРобітПослуг.Аналітика1;
    |ВидПослуг = Документ.ВиконанняРобітПослуг.ВидПослуг;
    |Группировка ВидПослуг без групп;
    |Группировка ТекущийДокумент;
    |Условие (Контрагент в ТекКонтрагент);
    |"//}}ЗАПРОС
;        
КонецПроцедуры

Процедура ОбработкаЯчейкиТаблицы(Зн, Фл)
    Если ТипЗначенияСТр(Зн)="Документ" ТОгда
        Фл=1;
    ИначеЕсли ТипЗначенияСтр(Зн)="СписокЗначений" Тогда
        розшифрСтрок(зн);
    КонецЕсли;    
КонецПроцедуры  

Расшифровка=СоздатьОбъект("СписокЗначений");
Расшифровка.ДобавитьЗначение("","Контрагент");


Сообщение отредактировал MATEVI - 28.01.12, 13:05


Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

alex040269 Подменю пользователя
сообщение 27.01.12, 16:54
Сообщение #9

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(mavrik @ 27.01.12, 13:39) *
Как реализовать расшифровку отчета,есть некий формируется список контрагентов и по нажатию на один из них выводит все услуги по нему,вот код
Перем Расшифровка;

Процедура розшифрстрок(зн)
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ТекущийДокумент = Документ.ВиконанняРобітПослуг.ТекущийДокумент;
    |Контрагент = Документ.ВиконанняРобітПослуг.Аналітика1;
    |ВидПослуг = Документ.ВиконанняРобітПослуг.ВидПослуг;
    |Группировка ВидПослуг без групп;
    |Группировка ТекущийДокумент;
    |"//}}ЗАПРОС
;        
КонецПроцедуры



не вижу условий в запросе и не вижу где используется параметр процедуры ЗН?


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Спасибо сказали: mavrik,

5_kopeek Подменю пользователя
сообщение 27.01.12, 17:26
Сообщение #10

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Цитата(alex040269 @ 27.01.12, 16:54) *
не вижу условий в запросе и не вижу где используется параметр процедуры ЗН?

Там много чего не видно, в том числе определения таблицы вывода, потребности в следующих за Контрагент группировках и пр. А зн даже не заметила, восприняла, что зн=расшифровка.

Спасибо сказали: mavrik,

mavrik Подменю пользователя
сообщение 28.01.12, 10:35
Сообщение #11

Завсегдатай
****
Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0

Ребята списибО всем огромное,решил,взял только контрагента чтоб расшифровало,а уже в расшифроке вЫтЯнул запрос все что мне надо было

Сообщение отредактировал MATEVI - 28.01.12, 13:04

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 22:28
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!