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

Хранилище

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

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



> Что делаю не так? , Отчет по продажам Торговых Агентов.ТИС          
Flexy Подменю пользователя
сообщение 27.09.10, 11:02
Сообщение #1

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Добрый день уважаемые.Пытаюсь сделать отчет по продажам торговых агентов, но выводит по всем колонкам нули.
Подскажите от чего плясать?Что делаю не так?
Заранее большое СПАСИБО! icon_beer17.gif
Вот код:
//*******************************************
// Процедура генерации запроса Сформировать.

Процедура ПриОткрытии()
    Дата1 = Рабочаядата();
    Дата2 = Рабочаядата();  
    Дата11=ДобавитьМесяц(Дата1,-1);
    Дата21=ДобавитьМесяц(Дата2,-1);
КонецПроцедуры                

Процедура УстановкаДатыПМ()
    Дата11=ДобавитьМесяц(Дата1,-1);
    Дата21=ДобавитьМесяц(Дата2,-1);
КонецПроцедуры




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

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

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

а это что:

ТЗ.СуммаПМ=0;
        ТЗ.СуммаНДСПМ=0;
        ТЗ.КолвоТТПМ=0;
...
  ТЗ.Сумма=0;
        ТЗ.СуммаНДС=0;
        ТЗ.КолвоТТ=0;
...
   ИтогоСумма=0;
    ИтогоСуммаНДС=0;
    ИтогоКолвоТТ=0;
    ИтогоСуммаПМ=0;
    ИтогоСуммаНДСПМ=0;
    ИтогоКолвоТТПМ=0;


?

Flexy Подменю пользователя
сообщение 27.09.10, 11:37
Сообщение #3

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(Vofka @ 27.09.10, 13:35) *
а это что:

ТЗ.СуммаПМ=0;
        ТЗ.СуммаНДСПМ=0;
        ТЗ.КолвоТТПМ=0;
...
  ТЗ.Сумма=0;
        ТЗ.СуммаНДС=0;
        ТЗ.КолвоТТ=0;
...
   ИтогоСумма=0;
    ИтогоСуммаНДС=0;
    ИтогоКолвоТТ=0;
    ИтогоСуммаПМ=0;
    ИтогоСуммаНДСПМ=0;
    ИтогоКолвоТТПМ=0;


?

Это для сравнения продаж скажем за предыдущий месяц.Как-то так).

Flexy Подменю пользователя
сообщение 27.09.10, 11:41
Сообщение #4

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Склоняюсь к тому что не правильно составил запрос к Торговому Агенту.Вот в этой строке
|Менеджер=Документ.РасходнаяНакладная.Контрагент.ТорговыйАгент,Документ.При
ходнаяНакладная.Контрагент.ТорговыйАгент;

Только как правильно должно быть допереть не могу. 64000000.gif

Vofka Подменю пользователя
сообщение 27.09.10, 12:41
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

А что находится в секции "строка"?

Цитата
Склоняюсь к тому что не правильно составил запрос к Торговому Агенту.Вот в этой строке
|Менеджер=Документ.РасходнаяНакладная.Контрагент.ТорговыйАгент,Документ.При
ходнаяНакладная.Контрагент.ТорговыйАгент;

Только как правильно должно быть допереть не могу.


Попробуйте в обоих запросах клиента задать так:
|Клиент =Документ.РасходнаяНакладная.Контрагент


а менеджера так:
|Менеджер=Документ.РасходнаяНакладная.Контрагент.ТорговыйАгент


т.к. лично мне непонятно, почему отчет о продажах берётся из (включая) приходных накладных

А вообще, шо за конфа?

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

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

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(Vofka @ 27.09.10, 14:41) *
А что находится в секции "строка"?

ТЗ.Менеджер
Цитата(Vofka @ 27.09.10, 14:41) *
Попробуйте в обоих запросах клиента задать так:
|Клиент =Документ.РасходнаяНакладная.Контрагент


а менеджера так:
|Менеджер=Документ.РасходнаяНакладная.Контрагент.ТорговыйАгент


т.к. лично мне непонятно, почему отчет о продажах берётся из (включая) приходных накладных

Попробовал.Все равно нули.
Цитата(Vofka @ 27.09.10, 14:41) *
А вообще, шо за конфа?

ТИС 010.Слегка дописанная.

Vofka Подменю пользователя
сообщение 27.09.10, 12:51
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Цитата
А что находится в секции "строка"?

ТЗ.Менеджер

А где сами суммы?

Цитата
ТИС 010.Слегка дописанная.

А может инфу о продажах брать из какого-то регистра?

Flexy Подменю пользователя
сообщение 27.09.10, 12:56
Сообщение #8

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(Vofka @ 27.09.10, 14:51) *
А где сами суммы?

В смысле? На печатной форме есть суммы.Но имхо дело не в них.Я конечно в 1с почти ноль.Но чет так кажется))
Цитата(Vofka @ 27.09.10, 14:51) *
А может инфу о продажах брать из какого-то регистра?

Да я думал брать торгового из регистра о партиях товаров.Так как это реализовано в стандартном отчете о продажах.Но не знаю будет ли оно таким макаром работать.

Vofka Подменю пользователя
сообщение 27.09.10, 13:06
Сообщение #9

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

А менеджеров в отчете хоть видно?

Flexy Подменю пользователя
сообщение 27.09.10, 13:14
Сообщение #10

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(Vofka @ 27.09.10, 15:06) *
А менеджеров в отчете хоть видно?

Неа.Отчет абсолютно пустой. 17000000.gif

Flexy Подменю пользователя
сообщение 27.09.10, 13:18
Сообщение #11

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Блин.У меня по ходу нет Реквизита ТорговыйАгент.
Есть только на форме табличной части документа поле выбора с такой формулой: ?(ПустоеЗначение(контрагент.ТорговыйАгент)=1,"",Контрагент.ТорговыйАгент)
От куда еще можно потянуть Торгового Агента?А главное как?

З.Ы. Нашел отчет который выводит Агентов.И вытягивает Агентов таким запросом
|Родитель = Документ.РасходнаяНакладная.Контрагент.ТорговыйАгент,Документ.ПриходнаяНакладная
.Контрагент.ТорговыйАгент;


И выводит секции потом таким макаром
Таб.ВывестиСекцию("Родитель|Агент");

Vofka Подменю пользователя
сообщение 27.09.10, 13:28
Сообщение #12

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Цитата
Блин.У меня по ходу нет Реквизита ТорговыйАгент.

1С-ка ругнулась бы.

Цитата
Есть только на форме табличной части документа поле выбора с такой формулой: ?(ПустоеЗначение(контрагент.ТорговыйАгент)=1,"",Контрагент.ТорговыйАгент)
От куда еще можно потянуть Торгового Агента?А главное как?

Ну тогда в вашем случае вроде все правильно. Документ.РасходнаяНакладная.Контрагент.ТорговыйАгент

Цитата
И выводит секции потом таким макаром
Таб.ВывестиСекцию("Родитель|Агент");

Посмотрите что в выводимой таблице указано в "Родитель|Агент"

Flexy Подменю пользователя
сообщение 27.09.10, 13:30
Сообщение #13

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(Vofka @ 27.09.10, 15:28) *

ТЗ.Родитель.ПолнНаименование

Vofka Подменю пользователя
сообщение 27.09.10, 13:41
Сообщение #14

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Выведите и вы так же. Выведет хоть агентов?

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

Flexy Подменю пользователя
сообщение 27.09.10, 13:50
Сообщение #15

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Спасибо большое Vofk`е.Заработало!!!
При чем проблема была не только в табличной части.Но еще и в поле выбора Торгового Агента.Почему-то оно тянуло Торговых не со справочника Сотрудники.Торговые, а из Справочника контрагентов.
Спасибо за внимание icon_beer17.gif

Vofka Подменю пользователя
сообщение 27.09.10, 13:58
Сообщение #16

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Не понял чем помог, но пожалуйста smile.gif

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


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

 

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