Имя: Пароль:
1C
1С v8
отчет по ТМЦ
0 Mobsta
 
29.07.11
13:09
доброго времени суток!

у меня отчет в КА на платформе 8.1 был, вот его текст
Функция ПолучитьСклад()
   
   МассивСкладов = Новый Массив;
   МассивСкладов.Очистить();
   
   Если ЭлементыФормы.Склад.Значение = Справочники.Склады.ПустаяСсылка() Тогда
       Выборка = Справочники.Склады.Выбрать();
       Пока Выборка.Следующий() Цикл
           МассивСкладов.Добавить(Выборка.Ссылка);
       КонецЦикла;
   Иначе
       МассивСкладов.Добавить(ЭлементыФормы.Склад.Значение.Ссылка);
   КонецЕсли;
   
   Возврат МассивСкладов;
   
КонецФункции

Функция ПолучитьДанныеУпрУчет()

   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Склады", ПолучитьСклад());
   Запрос.УстановитьПараметр("ДатаОтчета", КонецДня(ЭлементыФормы.ДатаОкончания.Значение)+1);
   Запрос.Текст = "ВЫБРАТЬ
                  |    ПартииТоваровНаСкладахОстатки.Номенклатура КАК Номенклатура,
                  |    ПартииТоваровНаСкладахОстатки.Склад,
                  |    ПартииТоваровНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
                  |    ПартииТоваровНаСкладахОстатки.СтоимостьОстаток,
                  |    ПартииТоваровНаСкладахОстатки.Номенклатура.ЕдиницаХраненияОстатков КАК Единица,
                  |    ПартииТоваровНаСкладахОстатки.Номенклатура.СтавкаНДС КАК СтавкаНДС,
                  |    ПартииТоваровНаСкладахОстатки.Номенклатура.ЭтоГруппа КАК ЭтоГруппа
                  |ИЗ
                  |    РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаОтчета, ) КАК ПартииТоваровНаСкладахОстатки
                  |ГДЕ
                  |    ПартииТоваровНаСкладахОстатки.Склад В(&Склады)
                  |
                  |УПОРЯДОЧИТЬ ПО
                  |    ПартииТоваровНаСкладахОстатки.Номенклатура.Наименование
                  |ИТОГИ ПО
                  |    Номенклатура ИЕРАРХИЯ";
   Запрос.Выполнить().Выгрузить();              
   
   Результат = Запрос.Выполнить().Выгрузить();              
   Результат.Свернуть("Номенклатура, Единица, СтавкаНДС,ЭтоГруппа","КоличествоОстаток,СтоимостьОстаток");    
   
   Возврат Результат;
   
КонецФункции    

Процедура ПриОткрытии()
   
   ЭлементыФормы.ДатаОкончания.Значение = ТекущаяДата();
   
КонецПроцедуры

Процедура КоманднаяПанель1Сформировать(Кнопка)
   
   ОбновитьОтчет();
   
КонецПроцедуры

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


проблема в том, что на платформе 8.2 этот отчет не работает... подскажите что нужно исправить?
1 zbv
 
29.07.11
13:11
тут много чего надо исправить...

а так, может кто-то поменял учетную политику или включил РАУЗ.
2 Mobsta
 
29.07.11
13:22
РАУЗ?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.