Имя: Пароль:
1C
1С v8
расшифровка скд анализ субконто
0 Sniper9mm
 
24.08.11
14:13
Всем привет….. подскажите что не так делаю, пытаюсь через расшифровку открыть анализ субконто , параметры даты заполняются а субконто нет ((((((

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   
   Перем ВыполненноеДействие;

   СтандартнаяОбработка = Ложь;

   ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));

   ДоступныеДействия = Новый Массив;
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   
   ДополнительныеДействия = Новый СписокЗначений;
   ДополнительныеДействия.Добавить("АСХ","Анализ Субконто Хозрасчетный");

   Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие,ДоступныеДействия,ДополнительныеДействия);

   Если ВыполненноеДействие="АСХ" Тогда
           
   ПоказатьАСХ(Расшифровка);

   КонецЕсли;
   
   
   
КонецПроцедуры


Процедура  ПоказатьАСХ(Расшифровка)
   
   сткПарам = Новый Структура("Счет,ПоСубсчетам,Организация,ДатаНач,ДатаКон,Отбор,Субконто,");
   сткПарам.ПоСубсчетам = Истина;
   
   ПараметрыДанных = ДанныеРасшифровки.Настройки.ПараметрыДанных.Элементы;
   
   сткПарам.Организация =  Справочники.Организации.НайтиПоКоду(000000001);
   
   НачалоПериода = Дата(ПараметрыДанных.Найти("НДатаОтчета").Значение);
   КонецПериода = Дата(ПараметрыДанных.Найти("КДатаОтчета").Значение);
   
   Контрагент = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПоКоду(00000000005);
   
   сткПарам.ДатаНач = НачалоПериода;
   сткПарам.ДатаКон = КонецПериода;
   сткПарам.Субконто = Контрагент;
   
   тзОтбор = Новый ТаблицаЗначений;
   тзОтбор.Колонки.Добавить("Имя");
   тзОтбор.Колонки.Добавить("ПутьКДанным");
   тзОтбор.Колонки.Добавить("ВидСравнения");
   тзОтбор.Колонки.Добавить("Использование");
   тзОтбор.Колонки.Добавить("Значение");
   
   Ссылка = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;

   Если ТипЗнч(Ссылка)=Тип("СправочникСсылка.Контрагенты") Тогда
       Стр = тзОтбор.Добавить();
       Стр.Имя           = "Субконто1";
       Стр.ПутьКДанным   = "Субконто1";
       Стр.ВидСравнения  = ВидСравнения.Равно;
       Стр.Значение      = Ссылка;
       Стр.Использование = Истина;
   Иначе
       Предупреждение("Выберите контрагент ",2);
       Возврат;
   КонецЕсли;
   
   
   сткПарам.Отбор = тзОтбор;
   Отчет = Отчеты.АнализСубконтоХозрасчетный.Создать();
   Отчет.Настроить(сткПарам);
               
   ФормаОтчета = Отчет.ПолучитьФорму(, , Новый УникальныйИдентификатор());
   ФормаОтчета.ПоказыватьЗаголовок = Истина;
   ФормаОтчета.ОбновитьОтчет();
   ФормаОтчета.Открыть();
КонецПроцедуры
1 Sniper9mm
 
24.08.11
16:36
ап
2 Greeen
 
24.08.11
16:48
может нужно типизировать?
3 Axel2009
 
24.08.11
16:51
а почему отбор должен быть типом значения "ТаблицаЗначений"???
4 Sniper9mm
 
24.08.11
16:58
да вроде тип везде совпадает (2) , если я правильно понял слово типизировать

(3) а как по другому, что не так??
5 Axel2009
 
24.08.11
17:01
(4) ну задай вручную отбор в скд и получи параметры.
НастройкиКомпоновкиДанных (DataCompositionSettings)
Отбор (Filter)
Использование:

Только чтение.
Описание:

Тип: ОтборКомпоновкиДанных. Основной отбор. Прописывается как условия в запросы наборов данных и как отборы для наборов данных, целиком.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
6 Axel2009
 
24.08.11
17:02
ЭлементОтбораКомпоновкиДанных (DataCompositionFilterItem)
Свойства:

ВидСравнения (ComparisonType)
ИдентификаторПользовательскойНастройки (UserSettingID)
Использование (Use)
ЛевоеЗначение (LeftValue)
ПравоеЗначение (RightValue)
Представление (Presentation)
ПредставлениеПользовательскойНастройки (UserSettingPresentation)
Применение (Application)
РежимОтображения (ViewMode)
Родитель (Parent)

Описание:

Элемент отбора - сравнение.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Данный объект может быть сериализован в/из XML. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data-composition-system/settings}. Имя типа XDTO: FilterItemComparison
7 Axel2009
 
24.08.11
17:04
а у тебя код какой в процедуре "Настроить"?
8 Sniper9mm
 
25.08.11
08:15
(7)
Процедура Настроить(СтруктураПараметров) Экспорт
   
   Параметры = Новый Соответствие;
   
   Для каждого Элемент Из СтруктураПараметров Цикл
       Параметры.Вставить(Элемент.Ключ, Элемент.Значение);
   КонецЦикла;

   Организация = Параметры["Организация"];
   ДатаНач = Параметры["ДатаНач"];
   ДатаКон = Параметры["ДатаКон"];
   
   Если Параметры["ЗаполнитьПоУмолчанию"] = Истина Тогда
       
       // Настраиваем по умолчанию
       
   Иначе
       
       ПоВалютам    = Параметры["ПоВалютам"];
       ПоКоличеству = Параметры["ПоКоличеству"];
       
       Субконто.Очистить();
       Для н=1 По 3 Цикл
           Если Параметры["ВидСубконто"+н]<>Неопределено Тогда
               Стр = Субконто.Добавить();
               Стр.ВидСубконто = Параметры["ВидСубконто"+н];
           КонецЕсли;
       КонецЦикла;
   
       ЗаполнитьНачальныеНастройки();
       
   КонецЕсли;
   
   СтрокиОтбора = Параметры["Отбор"];
   
   БухгалтерскиеОтчеты.ВосстановитьОтборПостроителяОтчетовПоПараметрам(ПостроительОтчета, СтрокиОтбора);

КонецПроцедуры
9 Axel2009
 
25.08.11
09:08
ну ищи почему тут не работает
БухгалтерскиеОтчеты.ВосстановитьОтборПостроителяОтчетовПоПараметрам(ПостроительОтчета, СтрокиОтбора);
10 Sniper9mm
 
25.08.11
13:34
Задал ВидСубконто но

   Для н=1 По 3 Цикл
           Если Параметры["ВидСубконто"+н]<>Неопределено Тогда
               Стр = Субконто.Добавить();
               Стр.ВидСубконто = Параметры["ВидСубконто"+н];
           КонецЕсли;
       КонецЦикла;

Не работает …. Почему не добавляет??
11 Axel2009
 
25.08.11
14:00
что задал то? где задал?
12 Sniper9mm
 
25.08.11
14:11
в
сткПарам = Новый Структура("Счет,ПоСубсчетам,Организация,ДатаНач,ДатаКон,Отбор,ВидСубконто,Субконто,")


не понятно, почему не добавляет вообще вид субконто в табличную часть

ведь в настройке прописано

Для н=1 По 3 Цикл
           Если Параметры["ВидСубконто"+н]<>Неопределено Тогда
               Стр = Субконто.Добавить();
               Стр.ВидСубконто = Параметры["ВидСубконто"+н];
           КонецЕсли;
       КонецЦикла;
Чё ему надо блин…..можно конечно добавить перед формированием типа этого

//формаОтчета.субконто.Добавить();
   //формаОтчета.субконто[0].видсубконто = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты;

Но хочется понять в чём проблема
13 Axel2009
 
25.08.11
14:13
если отладчиком пользоваться не умеешь, приглашай кто умеет.