Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вывод нумерации по циклу
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
manticor
Доброго времени суток. В конфигурации управление торговлей на платформе 8.1
формирую отчет->продажи->анализ продаж->продажи
Отбор делаю по контрагенту - по номенклатуре. Нужно чтобы номенклатура выводилсь с нУмерацией.
[тут что-то было]
В каком месте можно вывести даннй нУмератор?

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

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


Думаю, что за количество и следовательно за номерация может ответить Кол_ПоДоговору. Как вывести эту нУмерацию?
Vofka
А может просто в поля (в настройках отчета) добавить код номенклатуры?
manticor
Отчет продажи сделан на основе универсального отчета.

Тоесть как я понимаю в универсальный отчет сразу перекидывается в поле рЕсурс поля, нужные нам. Как тут можно вставить нУмерацию?
УниверсальныйОтчет.ДобавитьПолеГруппировка("НоменклатураБазоваяЕдиницаИзмерения", "Номенклатура", "БазоваяЕдиницаИзмерения", "Базовая единица измерения");

 УниверсальныйОтчет.ДобавитьПолеРесурс("№","1 КАК счетчик");//ругается
УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоЕдиницОтчетов", "КоличествоОборот * Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / Номенклатура.ЕдиницаДляОтчетов.Коэффициент", "Количество (в ед. отчетов)");
УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоБазовыхЕд",     "КоличествоОборот * Номенклатура.ЕдиницаХраненияОстатков.Коэффициент", "Количество (в базовых единицах)");
УниверсальныйОтчет.ДобавитьПолеРесурс("ПроцентСкидки",           "ВЫБОР КОГДА СтоимостьБезСкидокОборот = 0 ТОГДА 0 ИНАЧЕ (СтоимостьБезСкидокОборот - СтоимостьОборот) / СтоимостьБезСкидокОборот * 100 КОНЕЦ", "% скидки",
"ВЫБОР КОГДА СУММА(СтоимостьБезСкидокОборот) = 0 ТОГДА 0 ИНАЧЕ (СУММА(СтоимостьБезСкидокОборот) - СУММА(СтоимостьОборот)) / СУММА(СтоимостьБезСкидокОборот) * 100 КОНЕЦ"); // Чтобы не суммировались проценты
УниверсальныйОтчет.ДобавитьПолеРесурс("СуммаСкидки",             "СтоимостьБезСкидокОборот - СтоимостьОборот", "Сумма скидки");

// Заполнение начальных настроек универсального отчета
УниверсальныйОтчет.УстановитьНачальныеНастройки(Истина);


[здесь что-то было, но исчезло т.к. мне лень читать/исполнять ваши правила]

В каком месте можно вывести даннй нУмератор?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.