|
Отчет на СКД РезультатОбработкаРасшифровки | ☑ | ||
---|---|---|---|---|
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, но программа начинается ругаться на ДанныеРасшифровки.Элементы[Расшифровка] : Значение не является значением объектного типа (Элементы)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |