Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
30 Сен 2020, 22:24
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Новый отчет в остатках ТМЦ  (Прочитано 4793 раз)

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

Оффлайн skillful

  • **
  • Сообщений: 99
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2010-05-07
  • Сайт: 
Здравствуйте!
версия 7.7 конфигурация "Торговля и склад" (7.70.027)

Хочу переделать отчет остатки ТМЦ,
стандартный отчет выводит сначало название категорий, потом товар:
пример



А нужно сделать вот так:
название категорий вообще не выводилось построчно
а выводились только сами товары (а рядом в следующей ячейке название категории к которой относится товар ВАЖНО)
пример

товар1       расходные материалы/чернила фасованные/чернила ink-tek    цена и тд.
товар2       расходные материалы/чернила фасованные/чернила ink-tek    цена и тд.

Покапавшись в конфигураторе обноружил некий код в остатках ТМЦ,
думаю в нем нужно править. Есль ли решение этой проблемы?


	// выводим группы ТМЦ
Пока СписокГрупп.РазмерСписка()>0 Цикл
Группа = СписокГрупп.ПолучитьЗначение(1);
Если ТМЦ.ПринадлежитГруппе(Группа)=1 Тогда
ТЗ.НоваяСтрока();
ТЗ.Уровень = СписокГрупп.РазмерСписка();
ТЗ.ПечТекстСтроки = Группа.Наименование;
ТЗ.ПечКод = Группа.Код;
ТЗ.ПечКодПоз = Группа.КодСоответствия;
ТЗ.Родитель    = Группа.Родитель;
ТЗ.ТекРасшифровка = Группа;
КонецЕсли;
СписокГрупп.УдалитьЗначение(1);
КонецЦикла;   

ТМЦСтрока = "" + ТМЦ + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(ТМЦ.Артикул), "");
                 
Если ПредставлениеЦены = "отпускная цена (только розница)"  Тогда
Пока Запрос.Группировка("ЦенаПрод") = 1 Цикл
                                               
ТЗ.НоваяСтрока();                             
ТЗ.Уровень = 0;
ТЗ.ТекРасшифровка = ТМЦ;
ТЗ.Родитель = ТМЦ.Родитель;
ТЗ.ПечЕд = ?(ВидЕдиницы = 1,ТМЦ.ОсновнаяЕдиница, ТМЦ.БазоваяЕдиница);
ТЗ.ПечТекстСтроки = ТМЦСтрока + ?(ТМЦ.МинОстаток=0,"",", мин. остаток = "+СокрЛП(глФРМКоличество(ТМЦ.МинОстаток,ТЗ.ПечЕд)));
ТЗ.ПечКод = ТМЦ.Код;
ТЗ.ПечКодПоз = ТМЦ.КодСоответствия;
Если ВыводитьЗаказанный = 1 Тогда
ТЗ.Заказано = Запрос.ЗаказаноКонОст;
КонецЕсли;
ЗаполнитьСтроку(ТЗ, Запрос, СписокСкладов, ВДокумент);
КонецЦикла;
иначе
ТЗ.НоваяСтрока();                             
ТЗ.Уровень = 0;
ТЗ.ТекРасшифровка = ТМЦ;
ТЗ.Родитель = ТМЦ.Родитель;
ТЗ.ПечЕд = ?(ВидЕдиницы = 1,ТМЦ.ОсновнаяЕдиница, ТМЦ.БазоваяЕдиница);
ТЗ.ПечТекстСтроки = ТМЦСтрока + ?(ТМЦ.МинОстаток=0,"",", мин. остаток = "+СокрЛП(глФРМКоличество(ТМЦ.МинОстаток,ТЗ.ПечЕд)));
ТЗ.ПечКод = ТМЦ.Код;
ТЗ.ПечКодПоз = ТМЦ.КодСоответствия;
Если ВыводитьЗаказанный = 1 Тогда
ТЗ.Заказано = Запрос.ЗаказаноКонОст;
КонецЕсли;
ЗаполнитьСтроку(ТЗ, Запрос, СписокСкладов, ВДокумент);
КонецЕсли; 
глОживить(1);

КонецЦикла;       

// Последняя строка для общих итогов
ТЗ.НоваяСтрока();
ТЗ.Уровень = 12;

РассчитатьИтогиПоГруппам(СписокСкладов);     

ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1  Цикл
ПечТекстСтроки = ТЗ.ПечТекстСтроки  + Группа.Наименование;
ПечКод = ТЗ.ПечКод;
ПечКодПоз = ТЗ.ПечКодПоз;
ПечЕд = ТЗ.ПечЕд;
ТекРасшифровка = ТЗ.ТекРасшифровка;
    Если (ТЗ.Уровень > 0) И (ТЗ.Уровень < 12) Тогда       
ИмяСекции = "СтрокаГ";           
ИначеЕсли ТЗ.Уровень = 12 Тогда
ИмяСекции = ?((ПредставлениеЦены <> "не показывать") ИЛИ (ИтогиПоКоличеству = 1),"ПодвалИтого","Подвал");
Иначе
Если ТЗ.ТекРасшифровка.Матрица=1 Тогда
ИмяСекции = "СтрокаМ";
Иначе
ИмяСекции = "Строка";
КонецЕсли;
КонецЕсли;             
Таб.ВывестиСекцию(ИмяСекции+"|ТМЦ");




Оффлайн Tatitutu

Решение есть. Сам запрос выложите
там нужно поставить группировка Номенклатура без групп

*  MAGAZKA - лучшая программа для розничного магазина (с) *

Оффлайн skillful

  • **
  • Сообщений: 99
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2010-05-07
  • Сайт: 
запрос

Функция ТекстЗапросаБезКомиссии()

   СтрПериод = ?(ДатаКонца>= ПолучитьДатуТА(),"",
   "Период с ДатаКонца по ДатаКонца;");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |" + СтрПериод +
   "
   |Фирма              = Регистр.ОстаткиТМЦ.Фирма,             
   |                           Регистр.РезервыТМЦ.Фирма;
   |УпрАналитика = Регистр.ОстаткиТМЦ.Фирма.УпрАналитика,
   |                           Регистр.РезервыТМЦ.Фирма.УпрАналитика;
   |ЮрЛицо = Регистр.ОстаткиТМЦ.Фирма.ЮрЛицо,     
   |                           Регистр.РезервыТМЦ.Фирма.ЮрЛицо;
   |Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура,     
   |                           Регистр.Заказы.Номенклатура,
   |                           Регистр.РезервыТМЦ.Номенклатура;
   |Склад = Регистр.ОстаткиТМЦ.Склад,             
   |                           Регистр.РезервыТМЦ.Склад;"; 

   Если ВыводитьЗаказанный = 1  Тогда
ТекстЗапроса = ТекстЗапроса +
"Заказано = Регистр.Заказы.КоличествоПриход;
|Функция ЗаказаноКонОст = КонОст(Заказано);";
   КонецЕсли;

   ТекстЗапроса = ТекстЗапроса +
   "Количество = Регистр.ОстаткиТМЦ.Количество;
   |Резерв     = Регистр.РезервыТМЦ.Количество;
   |Функция КоличествоКонОст = КонОст(Количество);
   |Группировка Номенклатура"+?(ПоказатьОстатки.ТекущаяСтрока()>=2," Все","")+";";
               
   Возврат ТекстЗапроса;

КонецФункции // ТекстЗапросаБезКомиссии()



Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
77 Сообщений
IL2016
30 Сообщений
Дмитрий Джей Дмитрий Джей
30 Сообщений
oooo800
29 Сообщений
antoneus antoneus
25 Сообщений
LexaK
25 Сообщений
DmitriyF DmitriyF
17 Сообщений
Ann_
16 Сообщений
alexandr_ll
14 Сообщений
мадам брошкина
13 Сообщений

* Кто онлайн

  • Точка Гостей: 525
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal