Имя: Пароль:
1C
1С v8
Отчет на СКД РезультатОбработкаРасшифровки
0 Nataliabel
 
25.09.12
19:34
на ут 10.3 был сделан отчет на скд. теперь такой же надо сделать на ут 11.
вот код обработчика на ут 10.3.  нужно как-то сделать,чтобы ТЗ мТаблицаПеремещений наполнялась данными в аналогичном отчете на ут 11.
помогите, плиз

   ПоляРасшифровки = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля();
   Если ПоляРасшифровки.Количество() = 1 И ПоляРасшифровки[0].Поле = "СкладНазначения" Тогда
       СтандартнаяОбработка = Ложь;
       // Подготовить структуру поиска по таблице перемещений
       МассивПолейРасшифровки = ТиповыеОтчеты.ПолучитьМассивПолейРасшифровки(Расшифровка, ДанныеРасшифровки);
       СтруктураПоиска = Новый Структура("Склад,ХарактеристикаНоменклатуры,Номенклатура");
       Для Каждого ПолеРасшифровки Из МассивПолейРасшифровки Цикл
           Если ТипЗнч(ПолеРасшифровки) = Тип("ЗначениеПоляРасшифровкиКомпоновкиДанных") И СтруктураПоиска.Свойство(ПолеРасшифровки.Поле) Тогда
               СтруктураПоиска.Вставить(ПолеРасшифровки.Поле, ПолеРасшифровки.Значение);
           КонецЕсли;
       КонецЦикла;
       // Использовать структуру поиска по таблице перемещений, чтобы исключить из списка склад-источник
       текСписокСкладов = мСписокСкладов.Скопировать();
       ЭлементСпискаСоСкладомИсточником = текСписокСкладов.НайтиПоЗначению(СтруктураПоиска.Склад);
       Если ЭлементСпискаСоСкладомИсточником <> Неопределено Тогда
           текСписокСкладов.Удалить(ЭлементСпискаСоСкладомИсточником);
       КонецЕсли;
       ВыбранныйСклад = ВыбратьИзМеню(текСписокСкладов);
       // Обработать выбор пользователем склада
       Если ВыбранныйСклад = Неопределено Тогда
           Возврат;
       Иначе
           ТекОбласть = ЭлементыФормы.Результат.ТекущаяОбласть;
           ЭлементыФормы.Результат.ТекущаяОбласть.Текст = ВыбранныйСклад.Значение;
           ОбластьКоличества = ЭлементыФормы.Результат.Область(ТекОбласть.Низ, ТекОбласть.Право+1);
           НайденныеСтроки = мТаблицаПеремещений.НайтиСтроки(СтруктураПоиска);
           Если НЕ ЗначениеЗаполнено(ВыбранныйСклад.Значение) Тогда
               Для Каждого СтрокаТаб Из НайденныеСтроки Цикл
                   мТаблицаПеремещений.Удалить(СтрокаТаб);
               КонецЦикла;
               ТекОбласть.Текст = "...";
               ОбластьКоличества.Текст = "";
           Иначе
               Если НайденныеСтроки.Количество() = 0 Тогда
                   НоваяСтрока = мТаблицаПеремещений.Добавить();
                   ЗаполнитьЗначенияСвойств(НоваяСтрока, СтруктураПоиска);
               КонецЕсли;
               НайденныеСтроки = мТаблицаПеремещений.НайтиСтроки(СтруктураПоиска);
               Для Каждого СтрокаТаб Из НайденныеСтроки Цикл
                   ЗаполнитьЗначенияСвойств(СтрокаТаб, СтруктураПоиска);
                   СтрокаТаб.СкладНазначения = ВыбранныйСклад.Значение;
                   СтрокаТаб.НизОбласти = ОбластьКоличества.Низ;
                   СтрокаТаб.ПравоОбласти = ОбластьКоличества.Право;
                   СтрокаТаб.Область = ОбластьКоличества;
               КонецЦикла;
               Если ОбластьКоличества.Текст = "" Тогда
                   ОбластьКоличества.Текст = 1;
               КонецЕсли;
               ОбластьКоличества.Защита = Ложь;
           КонецЕсли;
       КонецЕсли;
       Обновить();
   Иначе
       ТиповыеОтчеты.ОбработкаРасшифровкиТиповогоОтчета(Расшифровка, СтандартнаяОбработка, ОтчетОбъект, ЭтаФорма);
   КонецЕсли;
1 Nataliabel
 
25.09.12
19:36
в ут 11 нет такой функции ТиповыеОтчеты.ПолучитьМассивПолейРасшифровки(Расшифровка, ДанныеРасшифровки). пробовала руками переносить из ут 10, но программа начинается ругаться на ДанныеРасшифровки.Элементы[Расшифровка] : Значение не является значением объектного типа (Элементы)
AdBlock убивает бесплатный контент. 1Сергей