Имя: Пароль:
1C
1С v8
ОбработкаРасшифровкиКомпоновкиДанных
,
0 Soulseller76
 
10.12.13
10:14
Люди, спасите!!!
Как формируется первый параметр у процедуры "ОбработкаРасшифровкиКомпоновкиДанных"?
Из того, что написано в Синтакс-Помощнике: "Инициализирует обработку расшифровки данными расшифровки и источником доступных настроек". Но как мне "посмотреть", КАК он создает данные расшифровки. У меня есть подозрение, что в СКД, но где именно копать?
1 Cube
 
10.12.13
10:16
(0) Начни с библии, а там посмотрим.
http://v8.1c.ru/metod/books/book.jsp?id=389
2 Defender aka LINN
 
10.12.13
10:31
(0) А какая тебе разница, как он это делает?
3 Пеппи
 
10.12.13
10:40
(2) наверняка не может найти свои данные в нем, и хочет их видимо создать.
Например расшифровка идет по ячейке а хочется например получить еще и значение соседней ячейки этой же строки. В этом случае приходится извращаться
4 Soulseller76
 
10.12.13
10:43
(2) Существует код, который выдает ошибку в строке "ЭлементРасшифровки.ОсновноеДействие" и действительно, при отладке в ЭлементРасшифровки нет поля ОсновноеДействие. А в другой базе - есть. Почему?
5 Soulseller76
 
10.12.13
10:44
(1) Читаю... Слишком много букв. :)
Руки у меня до СКД еще не дошли, а задания выполнять надо. Вот и приходится помощи у вас искать.
6 Cube
 
10.12.13
11:45
(5) Так ты нам описание задачи говори, а не то, как тебе зуб через выхлопуху удалить... :)
7 Soulseller76
 
10.12.13
12:05
(6) Ок. Рассказываю. Проблема: при попытке расшифровать ЛЮБУЮ строку\ячейку любого отчета выдается ошибка:
{Отчет.ПокупкиКлиентов.Форма.ФормаОтчета.Форма(95)}: Поле объекта не обнаружено (ОсновноеДействие)

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    
    ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ИнформацияРасшифровки,
    Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    
    ДоступныеДействия = Новый Массив();
    
    Для каждого ЭлементРасшифровки ИЗ ИнформацияРасшифровки.Элементы Цикл
        Если ЭлементРасшифровки.Идентификатор <> Расшифровка Тогда
            Продолжить;
        Иначе
            Если ЭлементРасшифровки.ОсновноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение Тогда
                ДоступныеДействия.Добавить(ЭлементРасшифровки.ОсновноеДействие);
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;


То есть, я начинаю анализировать объект ИнформацияРасшифровки. И действительно, там нет колонки "ОсновноеДействие". Смотрю другую базу. После выполнения вот этой строки:
ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ИнформацияРасшифровки,
    Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
смотрю ИнформацияРасшифровки - там колонка "ОсновноеДействие" есть.

Снова вопрос: почему в одном случае есть эта графа, а в другой - нет?!
8 Cube
 
10.12.13
12:16
(7) Да ты заманал!))) Зачаем? ЗАЧЕМ тебе надо лезть в расшифровку? Какая стоит задача?))
9 hhhh
 
10.12.13
12:24
(7) это зависит на какой ячейке находимся. В какой-то ячейке есть колонка, в какой-то нет.
10 Soulseller76
 
10.12.13
12:34
(8) Задача стоит - чтобы работала расшифровка. :)
11 Soulseller76
 
10.12.13
12:35
(9) Ошибка выдается во всех отчетах базы и по всем колонкам... :(
12 Cube
 
10.12.13
12:36
(10) Ладно, разбирайся сам...