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

Как сгруппировать по наименованию элементы справочника при формировании отчета?

Автор Nodirbek, 29 сен 2011, 08:38

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

Nodirbek

пример: элементы справочника "Товары" -

1. Сапоги - цена 1,2 - ГТД 30015   
2. Сапоги - цена 1,3 - ГТД 30050
3. Сапоги - цена 1,1 - ГТД 30053 
4. Туфли - цена 2,5 - ГТД 30013
5. Туфли - цена 4,5 - ГТД 30153

у меня отчет по остаткам формируется так:

1. Сапоги - цена 1,2 - колво 100 - сумма 120 
2. Сапоги - цена 1,3 - колво 10 - сумма 13
3. Сапоги - цена 1,1 - колво 50 - сумма 55
4. Туфли - цена 2,5 - колво 10 - сумма 25
5. Туфли - цена 4,5 - колво 100 - сумма 450

а хочу вот так:
1. Сапоги - средняя цена - колво 160 - сумма 188 
2. Туфли - средняя цена - колво 110 - сумма 475

помогите пожалуйста




TORN

Как выбираете то?Запросом, тупой переборкой?
Грамотно заданный вопрос содержит гарантию правильного ответа, ибо телепатов здесь нету))

TORN

Как вариант - выгрузка в таблицу значений, свертка и сортировка по требуемому полю

Андрей Федотов

Запрос с итогами выполните.
А средняя цена и общая сумма - будут вычисляемыми полями.

Nodirbek

Модуль отчета вот такой:

Процедура ОтчетПоОстаткам()
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("ОтчетПоОстаткам"); 
   Таб.ПараметрыСтраницы(2,100,,2,2,2,2,2,2,,,);
   Ит = СоздатьОбъект("БухгалтерскиеИтоги");
   Ит.Рассчитать(ВыбНачПериода,ВыбКонПериода);

   Таб.ВывестиСекцию("Шапка");
   Таб.Опции(0,0,0,0);
   Ит = СоздатьОбъект("БухгалтерскиеИтоги");
   Ит.ИспользоватьСубконто(ВидыСубконто.Товары2,,1);   
   Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения,выбсклад,2);   
   Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода,);
   Ит.ВыбратьСубконто();
   
   ИтКолСН=0;
   ИтКолДо=0;
   ИтКолКО=0;
   ИтКолСК=0;

   Пока Ит.ПолучитьСубконто() = 1 Цикл
      
      ОС = Ит.Субконто();          // получаем наименование ТН
   
          nom=ос.код;
      d2=Ит.СКД("К");  // Всего

      вид=Ос.Вид;             //получаем атрибуты ТН
      фасовка=ос.фасовка2;   
      ЦенаОпт=ОС.ЦенаОпт;
      ЦенаСС=Ос.Расход+Ос.ЦенаИнвойс;
      ЦенаИнвойс=Ос.ЦенаИнвойс;
      едизм=ОС.Едизм;
      Курс=ОС.Курс; 
      расход=ОС.расход;
      
КолСН=Ит.СНД("К");
      КолДО=Ит.ДО("К");
      КолКО=Ит.КО("К");
      КолСК=Ит.СКД("К");
      
//рассчитываем суммы
      
ИтКолКорСН=ИтКолКорСН+КолСН/Фасовка;      // сальдо на начало
      ИтКолСН=ИтКолСН+КолСН;
      ИтСумИнвСН=ИтСумИнвСН+(КолСН*ценаИнвойс);
      ИтСумСССН=ИтСумСССН+(КолСН*ценаСС);
      ИтСумОптСН=ИтСумОптСН+(КолСН*ценаОпт);
      
      ИтКолКорДО=ИтКолКорДО+КолДО/Фасовка;      // приход товаров
      ИтКолДО=ИтКолДО+КолДО;
      ИтСумИнвДО=ИтСумИнвДО+(КолДО*ценаИнвойс);
      ИтСумССДО=ИтСумССДО+(КолДО*ценаСС);
      ИтСумОптДО=ИтСумОптДО+(КолДО*ценаОпт);
      
      ИтКолКорКО=ИтКолКорКО+КолКО/Фасовка;      // расход товаров
      ИтКолКО=ИтКолКО+КолКО;
      ИтСумИнвКО=ИтСумИнвКО+(КолКО*ценаИнвойс);
      ИтСумССКО=ИтСумССКО+(КолКО*ценаСС);
      ИтСумОптКО=ИтСумОптКО+(КолКО*ценаОпт);
      
      ИтКолКорСК=ИтКолКорСК+КолСК/Фасовка;      // сальдо на конец
      ИтКолСК=ИтКолСК+КолСК;
      ИтСумИнвСК=ИтСумИнвСК+(КолСК*ценаИнвойс);
      ИтСумСССК=ИтСумСССК+(КолСК*ценаСС);
      ИтСумОптСК=ИтСумОптСК+(КолСК*ценаОпт);
      
      
Таб.ВывестиСекцию("Секция_2");         
            
КонецЦикла;
   
Таб.ВывестиСекцию("Секция_3");
Таб.ТолькоПросмотр(1);
Таб.Показать("ОтчетПоОстаткам ","");
   
КонецПроцедуры

TORN

Только путем заполнения тз .В бух запросах нет функций.А черный запрос по бухгалтерии работает криво.
Зато потом с тз можешь делать чего хочешь.

Теги:

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

Рейтинг@Mail.ru

Поиск