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

Автор Тема: Вывод номерации по циклу  (Прочитано 2805 раз)

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

Оффлайн manticor

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-08-14
  • Сайт: 
  • Профессия: Программист 8.1
Доброго времени суток. В конфигурации управление торговлей на платформе 8.1
формирую отчет->продажи->анализ продаж->продажи
Отбор делаю по контрагенту - по номенклатуре. Нужно чтобы номенклатура выводилсь с номерацией.
http://s014.radikal.ru/i329/1108/c9/40d51c10fd98.jpg
В каком месте можно вывести даннй номератор?


Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт

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

Если Не ПустаяСтрока(СтрАКБ) Тогда
СтрАКБ=Сред(СтрАКБ,2);
//ОбластьИтоги = ТабличныйДокумент.ПолучитьОбласть("ОбщиеИтоги");
ОбластьЗаголовок=ТабличныйДокумент.Область(ТабличныйДокумент.ВысотаТаблицы,2,ТабличныйДокумент.ВысотаТаблицы,2);
ОбластьЗаголовок.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Текст;
ОбластьЗаголовок.Текст = СтрАКБ;
//ТабличныйДокумент.Вывести(ОбластьЗаголовок);
КонецЕсли;
КонецПроцедуры // СформироватьОтчет()
Думаю, что за количество и следовательно за номерация может ответить Кол_ПоДоговору. Как вывести эту номерацию?


Оффлайн manticor

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-08-14
  • Сайт: 
  • Профессия: Программист 8.1
Так читабельнее)
Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт
   
   // Перед формирование отчета можно установить необходимые параметры универсального отчета.
   
   УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент);
    Результат=УниверсальныйОтчет.ПостроительОтчета.Результат.Выбрать();
   СтрАКБ="";
   АКБ_Договор=0;
   АКБ_Контрагент=0;
   Группировки=УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки;
   
   Для каждого СтрГруппировки Из Группировки Цикл
      Если СтрГруппировки.Имя="Контрагент" Тогда
         АКБ_Контрагент=0;
         Пока Результат.СледующийПоЗначениюПоля("Контрагент") Цикл
            Если ЗначениеЗаполнено(Результат.Контрагент) Тогда
               АКБ_Контрагент=АКБ_Контрагент+1;   
            КонецЕсли;
         КонецЦикла;
         СтрАКБ=СтрАКБ+"
         |АКБ по Контрагентам = "+АКБ_Контрагент;
      ИначеЕсли СтрГруппировки.Имя="ДоговорКонтрагента" Тогда
         АКБ_Договор=0;
         Результат.Сбросить();
         Пока Результат.СледующийПоЗначениюПоля("ДоговорКонтрагента") Цикл
            Если ЗначениеЗаполнено(Результат.ДоговорКонтрагента) Тогда
               АКБ_Договор=АКБ_Договор+1;   
            КонецЕсли;
         КонецЦикла;
         СтрАКБ=СтрАКБ+"
         |АКБ по Торг.Точкам = "+АКБ_Договор; 
      ИначеЕсли СтрГруппировки.Имя="Номенклатура" Тогда
         Если АКБ_Договор>0 Тогда
            Кол_Общее=0;
            Результат.Сбросить();
            Пока Результат.СледующийПоЗначениюПоля("ДоговорКонтрагента") Цикл
               Кол_ПоДоговору=0;
               Пока Результат.СледующийПоЗначениюПоля("Номенклатура") Цикл
                  Если ЗначениеЗаполнено(Результат.Номенклатура) Тогда //заполняется
                     Кол_ПоДоговору=Кол_ПоДоговору+1;   //по хожу счетчик
                  КонецЕсли;
               КонецЦикла;
               Сообщить("что то",Кол_ПоДоговору);
            
               
               
               Кол_Общее=Кол_Общее+Кол_ПоДоговору;
            КонецЦикла;
            Если Кол_Общее>0 Тогда
               СтрАКБ=СтрАКБ+"         
               |Ср. кол-во видов номенклатуры по Торг.Точкам= "+Окр(Кол_Общее/АКБ_Договор,2); 
            КонецЕсли;
         КонецЕсли
      КонецЕсли;
   КонецЦикла;
   
   Если Не ПустаяСтрока(СтрАКБ) Тогда
      СтрАКБ=Сред(СтрАКБ,2);
      
      //ОбластьИтоги = ТабличныйДокумент.ПолучитьОбласть("ОбщиеИтоги");
      ОбластьЗаголовок=ТабличныйДокумент.Область(ТабличныйДокумент.ВысотаТаблицы,2,ТабличныйДокумент.ВысотаТаблицы,2);
      ОбластьЗаголовок.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Текст;
      ОбластьЗаголовок.Текст = СтрАКБ;
      //ТабличныйДокумент.Вывести(ОбластьЗаголовок);
   КонецЕсли;

КонецПроцедуры // СформироватьОтчет()


Теги:
 

Вывод комментария в документ "Расходная накладная" из документа "Заказ покупателя"

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

Ответов: 2
Просмотров: 203
Последний ответ 07 Окт 2017, 19:03
от Norfolk
Вывод результата запроса через условие другого запроса

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

Ответов: 2
Просмотров: 2897
Последний ответ 16 Окт 2013, 15:08
от jonik_joker
Вывод линейной таблицы посредством СКД в виде "шахматки"

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

Ответов: 9
Просмотров: 10699
Последний ответ 19 Апр 2011, 11:12
от Klyacksa
Вывод набора данных "объединение" скд в дерево значений

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

Ответов: 0
Просмотров: 1546
Последний ответ 02 Июн 2015, 12:19
от Gae4ka
Как добавить вывод ДоговораКонтрагента в печатную форму "Счет на оплату"

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

Ответов: 6
Просмотров: 12913
Последний ответ 09 Июн 2010, 15:25
от Karamelkina

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
163 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
56 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
35 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
27 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal