Имя: Пароль:
1C
1С v8
помогите с отчетом по ТМЦ
0 Mobsta
 
01.08.11
07:25
Доброго времени суток! у меня конфигурация КА платформа 8.1. модуль отчета по себестоимости ТМЦ выглядит вот так

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

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

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

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

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

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

установил платформу 8.2. т.к. обновления на 8.1. уже не устанавливаются и этот отчет перестал работать. Подскажите пожалуйста что и где исправить что бы он у меня заработал?
1 Wobland
 
01.08.11
07:29
ответ в том же духе: исправить код в конфигураторе
2 Wobland
 
01.08.11
07:29
>и этот отчет перестал работать
в чём это выражается?
3 Mobsta
 
01.08.11
07:31
пишет не предназначен для этой конфигурации
4 Wobland
 
01.08.11
07:33
(3)внезапно. только этот отчёт перестал работать?
5 Kookish
 
01.08.11
07:34
(0) Открыть отчет в конфигураторе, нажать кнопку "Да", закрыть конфигуратор. Открыть отчет в программе.
6 Mobsta
 
01.08.11
07:37
(4) да, он один был из внешних
7 0xFFFFFF
 
01.08.11
07:39
(3) мдя...
8 Wobland
 
01.08.11
07:39
(6) делай (5). вместо "закрыть конфигуратор" можно сделать "сохранить", кстати. или переписывай
9 Kookish
 
01.08.11
07:40
(8) Сохранить она не просит, сразу конвертирует и сохраняет. Поэтому, если этот отчет нужен и для старой платформы, лучше сделать копию.
10 Wobland
 
01.08.11
07:41
(9) да? не зналс-с
11 Mobsta
 
01.08.11
07:45
(5) щас попробую, спасибо!