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

Хранилище

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

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



> Помогите с отчетом ТИС , Движение товаров на складах          
Flexy Подменю пользователя
сообщение 22.09.10, 12:55
Сообщение #1

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

Добрый день Уважаемые Форумчане.
Имеем ТИС 010 и стандартный отчет Остатки Товаров.
Подскажите как сделать, что бы при формировании движения товаров на складах выводились итоги по каждой группе товара (начальный остаток, приход, расход, конечный остаток).
Может в запросе надо что-то подправить? Мучаюсь уже вторую неделю 64000000.gif
Кто нибудь уже с таким сталкивался?Может завалялась готовая доработка этого отчетика? wink.gif
За любые советы заранее ОГРОМНОЕ СПАСИБО icon_beer17.gif

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

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

Текст запроса хотя бы покажите. А лучше текст процедуры.

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

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

Цитата(Vofka @ 22.09.10, 15:17) *
Текст запроса хотя бы покажите. А лучше текст процедуры.


Процедура ДвиженияТоваров()
    Перем Запрос, ТекстЗапроса;
    Перем ПоВсейФирмеВЦелом;
                  
    ТекстЗапроса = "";
    ТекстЗапроса = ТекстЗапроса +
        "//{{ЗАПРОС(ТоварыЗаПериоды)        
        |ПЕРИОД С Дата1 По Дата2;
        |Фирма=Регистр.ОстаткиТоваров.Фирма;
        |Склад=Регистр.ОстаткиТоваров.Склад;
        |ФлагУчета=Регистр.ОстаткиТоваров.ФлагУчета;
    
        |"+?(ВсеТовары = 1,"Товар = Справочник.Номенклатура.ТекущийЭлемент,Регистр.ОстаткиТоваров.Товар","Товар=Регистр.ОстаткиТоваров.Товар")+";
        
        //|Товар=Регистр.ОстаткиТоваров.Товар;
        |Док=Регистр.ОстаткиТоваров.ТекущийДокумент;
        |Кол=Регистр.ОстаткиТоваров.ОстатокТовара;
        |Функция НачКол  = НачОст(Кол);
        |Функция КонКол  = КонОст(Кол);
        |Функция ПрихКол = Приход(Кол);
        |Функция РасхКол = Расход(Кол);
        |Условие (Фирма=ВыбФирма);  
        |"+?(ВсеТовары = 1,"Группировка Товар  Упорядочить По Товар.Сортировка,Товар.Наименование все","")+";

        |"//}}ЗАПРОС
    ;

    Если ДеталПоСкладам=1 Тогда
        ТекстЗапроса = ТекстЗапроса + "
        |Группировка Склад упорядочить по Склад.Наименование;";
    КонецЕсли;

    Если ДеталПоДокументам=1 Тогда
        ТекстЗапроса = ТекстЗапроса + "
        |Группировка Док;";
    КонецЕсли;
    
    Заг="";
    Заг1="";                          
    
    глЗаголовокФирма(ВыбФирма,Заг,Язык);
    
    Если ФильтрыИЗаголовкиПоТоварамИСкладам(ТекстЗапроса,Заг,Заг1)=0 Тогда
        Возврат;
    КонецЕсли;    
                            
    Если (ДеталПоСкладам=0)И(ВыбСклад.Выбран()=0)И(МФВыбСклады.РазмерСписка()=0) Тогда
        Заг1=?(Язык="у","Одночасно по всім складам. ","Одновременно по всем складам. ");
        ТекстЗапроса = ТекстЗапроса + "Условие (ФлагУчета <> 1);";
        ПоВсейФирмеВЦелом = 1;
    Иначе
        ПоВсейФирмеВЦелом = 0;
    КонецЕсли;
    
    Запрос=СоздатьОбъект("Запрос");
    Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
        Возврат;
    КонецЕсли;

    глЧислоСтрок=0;
    //  Создание Таблицы для выходного отчета
    Т.ИсходнаяТаблица("ДвиженияТоваров"+Язык);
    Т.ВывестиСекцию("Кнопки");
    Т.ВывестиСекцию("Отчет");
    глОживить(4);
    Пока Запрос.Группировка("Товар") = 1 Цикл
        //НаимТовара=глТоварВОтчете(Запрос.Товар);
        НаимТовара=Запрос.Товар.полнНаименование;
        Пока Найти(НаимТовара,"  ") <> 0 Цикл
            НаимТовара = СтрЗаменить(НаимТовара,"  "," ");
        КонецЦикла;
        Если Запрос.Товар.ЭтоГруппа()=1 Тогда
            Т.ВывестиСекцию("Группа");
            глОживить(1);
            Продолжить;
        Иначе
            ПечНачКол=глФРМКоличествоВОтчете(Запрос.НачКол,Запрос.Товар);
            ПечПрихКол=глФРМКоличествоВОтчете(Запрос.ПрихКол,Запрос.Товар);
            ПечРасхКол=глФРМКоличествоВОтчете(Запрос.РасхКол,Запрос.Товар);
            ПечКонКол=глФРМКоличествоВОтчете(Запрос.КонКол,Запрос.Товар);
            
            Т.ВывестиСекцию("Товар");
            глОживить(1);
        КонецЕсли;
        
        Если ДеталПоСкладам=1 Тогда // детализируем по складам
            
            Пока Запрос.Группировка("Склад") = 1 Цикл
                НаимСклада=Запрос.ЗначениеУпорядочивания(2,1);
                
                ПечНачКол=глФРМКоличествоВОтчете(Запрос.НачКол,Запрос.Товар);
                ПечПрихКол=глФРМКоличествоВОтчете(Запрос.ПрихКол,Запрос.Товар);
                ПечРасхКол=глФРМКоличествоВОтчете(Запрос.РасхКол,Запрос.Товар);
                ПечКонКол=глФРМКоличествоВОтчете(Запрос.КонКол,Запрос.Товар);
            
                Если ВыбСклад.Выбран()=0 Тогда
                    Т.ВывестиСекцию("Склад");
                    глОживить(1);
                КонецЕсли;
                
                Если ДеталПоДокументам=1 Тогда
                    ВывестиДокументыДвиженияТоваров(Запрос,Т);  
                КонецЕсли;
    
            КонецЦикла;
            
        ИначеЕсли ДеталПоДокументам=1 Тогда    // не детализируем по складам
            
            ВывестиДокументыДвиженияТоваров(Запрос,Т);  
        
        КонецЕсли;    
            
    КонецЦикла;
    //Вызов выходного отчета в окно просмотра и редактирования.
    Т.Опции(0,0,8,0,ПарСтрОтчДлинн);
    Т.Защита(Константа.ФлагЗащитыТаблиц);
    Т.ТолькоПросмотр(1);
    Т.ОбластьПечати(2);
    Т.Показать("Отчет о движении товаров на складах","");  
    
    ОтчетСформирован = 1;
    
КонецПроцедуры

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

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

Мне кажется одного запроса маловато. Покажите всю процедуру. И уточните проблему: в отчете есть только товары (без групп)?

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

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

Цитата(Vofka @ 22.09.10, 15:37) *
Мне кажется одного запроса маловато. Покажите всю процедуру.

Отредактировал пост выше с полной процедурой.
Цитата(Vofka @ 22.09.10, 15:37) *
И уточните проблему: в отчете есть только товары (без групп)?

Проблема в том, что мне нужно видеть итоги (обороты) по всей группе.Допустим есть группа "Алкоголь", в ней есть группа "Вино", в группе "Вино" идут группы различных марок Вина, а в них уже сами товары.Хочется видеть итоги по маркам вина.

З.Ы. Еще заметил такую штуку...
На форме отчета есть флаг "Данные по всем товарам" с идентификатором "ВсеТовары".
При формировании отчета со снятым флагом вылетает ошибка:
Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
{Отчет.ОстаткиТоваров.Форма.Модуль(363)}: <<?>> ;
Запрос[14] : Неизвестая ошибка ';'

И отчет не формируется -((

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

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

Попробуйте запрос так переделать:

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

        |"//}}ЗАПРОС
   ;
...

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

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

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

Цитата(Vofka @ 22.09.10, 16:25) *
Попробуйте запрос так переделать

Спасибо.помогло.Ошибка больше не вылетает.А как быть с группами?Отчет даже со снятым флагом не считает итоги по товарам принадлежащим группе...

awp Подменю пользователя
сообщение 22.09.10, 15:26
Сообщение #8

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 521
Спасибо сказали: 70 раз
Рейтинг: 51.3

Цитата(Flexy @ 22.09.10, 16:31) *
Спасибо.помогло.Ошибка больше не вылетает.А как быть с группами?Отчет даже со снятым флагом не считает итоги по товарам принадлежащим группе...


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

возможно так


Signature
Бухгалтер - это не профессия! Это диагноз!

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

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

Цитата(awp @ 22.09.10, 17:26) *
возможно так

Ни каких сдвигов =(.
Но все равно спасибо за внимание icon_beer17.gif

MATEVI Подменю пользователя
сообщение 22.09.10, 16:37
Сообщение #10

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 957 раз
Рейтинг: 0

Цитата(Flexy @ 22.09.10, 14:55) *
Добрый день Уважаемые Форумчане.
Имеем ТИС 010 и стандартный отчет Остатки Товаров.
Подскажите как сделать, что бы при формировании движения товаров на складах выводились итоги по каждой группе товара (начальный остаток, приход, расход, конечный остаток).
Может в запросе надо что-то подправить? Мучаюсь уже вторую неделю 64000000.gif
Кто нибудь уже с таким сталкивался?Может завалялась готовая доработка этого отчетика? wink.gif
За любые советы заранее ОГРОМНОЕ СПАСИБО icon_beer17.gif


Так???
[необходимо зарегистрироваться для просмотра ссылки]

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

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

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

Цитата(MATEVI @ 22.09.10, 18:37) *
Так???
[необходимо зарегистрироваться для просмотра ссылки]

То, что надо!!!Супер!!!СПАСИБО ВАМ ОГРОМЕННОЕ!!!
Сейчас буду пробовать понять, как ваша доработка делает эти итоги.
Искренне вам благодарен!! icon_beer17.gif

ОффТоп: Подскажите пожалуйста, как скинуть денюжку в фонд вашего Чудо-Форума? friends.gif

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

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

Если хотите на развитие форума, то вот smile.gif

А если хотите скинуть какому-то определённому пользователю - то это уже решайте с ним

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

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 957 раз
Рейтинг: 0

PS Если есть желание помогите форуму. Мне в данном случае достаточно спасибо smile.gif

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

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


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

 

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