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

Автор Тема: Группировка в печатной форме  (Прочитано 5563 раз)

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

Оффлайн Tyshkan

  • ***
  • Сообщений: 233
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-22
  • Сайт: 
  • Профессия: Программист 1С
Есть печатная форма с областью "Строка"и с Полями: Код, Товар, Количество, Цена и Сумма. За ней идет Область "Производитель" с Полями : производитель и сумма. Необходимо сгруппировать по производителю и посчитать по каждому сумму...Помогите советом...


Оффлайн Yura063

  • *****
  • Сообщений: 1045
  • РЕПУТАЦИЯ: 136
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: yuis.ru
  • Профессия: Программист 1С
:dfbbdrfb: вы хоть код выложите! от чего отталкиваться!
Помогли, отблагодари!

Оффлайн Tyshkan

  • ***
  • Сообщений: 233
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-22
  • Сайт: 
  • Профессия: Программист 1С
Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ РАЗЛИЧНЫЕ
      |   ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
      |   СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК Количество,
      |   ТоварыНаСкладахОстатки.Склад КАК Склад,
      |   ТоварыНаСкладахОстатки.Номенклатура.Код КАК Код,
      |   ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
      |   ТоварыНаСкладахОстатки.Номенклатура.алкПроизводитель КАК Производитель,
      |   СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток * ЦеныНоменклатурыСрезПоследних.Цена) КАК Сумма
      |ИЗ
      |   РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, ) КАК ТоварыНаСкладахОстатки
      |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
      |      ПО ТоварыНаСкладахОстатки.Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка
      |ГДЕ
      |   ТоварыНаСкладахОстатки.Склад = &Склад
      |   И ТоварыНаСкладахОстатки.Номенклатура В ИЕРАРХИИ(&Номенклатура)
      |   И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
      |
      |СГРУППИРОВАТЬ ПО
      |   ТоварыНаСкладахОстатки.Номенклатура,
      |   ТоварыНаСкладахОстатки.Склад,
      |   ТоварыНаСкладахОстатки.Номенклатура.Код,
      |   ЦеныНоменклатурыСрезПоследних.Цена,
      |   ТоварыНаСкладахОстатки.Номенклатура.алкПроизводитель
      |
      |УПОРЯДОЧИТЬ ПО
      |   Производитель";

   Запрос.УстановитьПараметр("ДатаОстатков", ДатаОстатков);
   Запрос.УстановитьПараметр("Номенклатура", Группа);
   Запрос.УстановитьПараметр("Склад", Склад);
   Запрос.УстановитьПараметр("ТипЦен", ТипЦен);

   ТабДок = Новый ТабличныйДокумент;
   
   Если Коэффициент = 1 Тогда
      Макет = ПолучитьМакет("Макет1");
   Иначе
      Макет = ПолучитьМакет("Макет");
   КонецЕсли;   
   
   ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
   
   Если БезНДС = Истина Тогда
      ОбластьМакета.Параметры.ЗаголовокЦена = "Цена без НДС";
      ОбластьМакета.Параметры.ЗаголовокСумма = "Сумма без НДС";
   Иначе
      ОбластьМакета.Параметры.ЗаголовокЦена = "Цена с НДС";
      ОбластьМакета.Параметры.ЗаголовокСумма = "Сумма с НДС";
   КонецЕсли;   
   
   ОбластьМакета.Параметры.ДатаОстатков = Формат(ДатаОстатков,"ДФ=dd.MM.yy");
      
   ТабДок.Вывести(ОбластьМакета); 

   Выб = Запрос.Выполнить();
   ТЗ = Выб.Выгрузить();
      
   ФлагПрервать = 0;
   ИтогСумма = 0;
   ИтогЗалогСумма = 0;
   СуммаПроизводитель = 0;
   СуммаЗалогПроизводитель = 0;   
   
   Для Каждого Выборка из ТЗ Цикл
      Если Не Выборка.Цена = null или Не Выборка.Количество = null Тогда
         
      ОбластьМакета = Макет.ПолучитьОбласть("Строка");
      ОбластьМакета.Параметры.Код = Выборка.Код;
      ОбластьМакета.Параметры.Наименование = Выборка.Номенклатура;
      ОбластьМакета.Параметры.Количество = Выборка.Количество;
   
      Если БезНДС = Истина и Не Выборка.Цена = null Тогда
         ОбластьМакета.Параметры.Цена = Формат((Выборка.Цена/118*100),"ЧЦ=15; ЧДЦ=2");
      ИначеЕсли Не Выборка.Цена = null Тогда
         ОбластьМакета.Параметры.Цена = Формат((Выборка.Цена),"ЧЦ=15; ЧДЦ=2");
      КонецЕсли;   
      
      Если Не Выборка.Количество = null или Не Выборка.Цена = null Тогда
         Сумма = Формат(Число(Выборка.Количество*Выборка.Цена),"ЧЦ=15; ЧДЦ=2");
         ОбластьМакета.Параметры.Сумма = Сумма;
      КонецЕсли;   
      
      Если не Коэффициент = 1 и Не Сумма = Неопределено Тогда
         ОбластьМакета.Параметры.Коэффициент = Коэффициент;       
         ЗалогСумма =Формат(Сумма*Коэффициент,"ЧЦ=15; ЧДЦ=2");
         ОбластьМакета.Параметры.ЗалогСумма =ЗалогСумма;
      КонецЕсли;
      ТабДок.Вывести(ОбластьМакета);
      
      ОбластьМакета = Макет.ПолучитьОбласть("Производитель");
            
      ОбластьМакета.Параметры.ТекПроизводитель = Выборка.Производитель;       
      ОбластьМакета.Параметры.СуммаПроизводитель = Формат(СуммаПроизводитель+Сумма,"ЧЦ=15; ЧДЦ=2" );
      
      Если Не Коэффициент = 1 и не ЗалогСумма = Неопределено Тогда
         ОбластьМакета.Параметры.СуммаЗалогПроизводитель = Формат(СуммаЗалогПроизводитель+ЗалогСумма,"ЧЦ=15; ЧДЦ=2");
      КонецЕсли;
      
      ТабДок.Вывести(ОбластьМакета);
            
      ОбластьМакета = Макет.ПолучитьОбласть("Итог");
      ОбластьМакета.Параметры.ИтогСумма = ТЗ.Итог("Сумма");
      
      Если Не Коэффициент = 1 Тогда
         ОбластьМакета.Параметры.ИтогЗалогСумма = Формат(ИтогЗалогСумма+ЗалогСумма,"ЧЦ=15; ЧДЦ=2");
      КонецЕсли;   
            
      Если НеобходимаяСумма>0 Тогда
         Если НеобходимаяСумма<=ИтогСумма Тогда
            ФлагПрервать = 1;
            Прервать;
         КонецЕсли;
      КонецЕсли;
   КонецЕсли;
   
КонецЦикла;

   ТабДок.Вывести(ОбластьМакета);
   ТабДок.ТолькоПросмотр  = Истина;
   ТабДок.ОтображатьСетку = Ложь;
   ТабДок.Показать();

Оффлайн Yura063

  • *****
  • Сообщений: 1045
  • РЕПУТАЦИЯ: 136
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: yuis.ru
  • Профессия: Программист 1С
В цикле по строкам поставь условие грубо
ОбластьПроизводитель = Макет.ПолучитьОбласть("Производитель"); 
Если Производитель1 <> Выборка.Производитель тогда
      ТабДок.Вывести(ОбластьПроизводитель); 
      Производитель1 = Выборка.Производитель;
КонецЕсли;
Помогли, отблагодари!

Оффлайн Tyshkan

  • ***
  • Сообщений: 233
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-22
  • Сайт: 
  • Профессия: Программист 1С
а изначальное значение Производитель1 когда задавать??

Оффлайн Yura063

  • *****
  • Сообщений: 1045
  • РЕПУТАЦИЯ: 136
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: yuis.ru
  • Профессия: Программист 1С
Можно в начале процедуры!
Производитель1="";
Добавлено: 09 Янв 2013, 22:16

Главное перед циклом!
;)
Помогли, отблагодари!

Оффлайн Tyshkan

  • ***
  • Сообщений: 233
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-22
  • Сайт: 
  • Профессия: Программист 1С
Спасибо, все получилось)))

Оффлайн Yura063

  • *****
  • Сообщений: 1045
  • РЕПУТАЦИЯ: 136
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: yuis.ru
  • Профессия: Программист 1С
Не за что! Обращайтесь!
Помогли, отблагодари!


Теги:
 

Группа "СписокКомпоновщикНастроекПользовательскиеНастройки" в форме "Перечисления"

Автор Азамат ХубиевРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1767
Последний ответ 12 Ноя 2016, 18:08
от Азамат Хубиев
Изменение цвета при подборе сотрудника в форме списка справочника "Сотрудники организации" для документа "Зарплата к выплате организаций" ЗУП 2.5

Автор ksander-farsРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 275
Последний ответ 12 Окт 2017, 14:02
от wise
Как настроить отображение на форме "группа плательщика единого налога" при выборе системы налогообложения "Единый налог"?

Автор Nicolayci91Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2284
Последний ответ 17 Авг 2015, 07:48
от cska-fanat-kz
Добавление строки и заполнение строки в ТЗ на форме

Автор Св ЧРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 307
Последний ответ 25 Сен 2017, 09:00
от Св Ч
Ребята, срочно нужна помощь. Какую процедуру нужно написать в форме справочника, чтобы таблица заполнялась данными из другого справочника?

Автор Олька БякинаРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2768
Последний ответ 27 Май 2016, 15:19
от Олька Бякина

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
54 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal