|
СКд НастройкаКомпоновкиДанных для расшифровки. всем отделом не поймем как быть | ☑ | ||
---|---|---|---|---|
0
DomanM
25.06.15
✎
13:17
|
при формировании отчета расшифровка работает, но по прошествии времени начинает падать.
Расш = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровкиОбъект, Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы)); НастройкаРасшифровки = Расш.Расшифровать(Расшифровка, ПолеРегистратораВКомпановке.Поле); на РАСШИФРОВАТЬ - ошибка типа нельзя использовать какое то поле в отборе... скорее всего что то случается с ДанныеРасшифровкиОбъект (он во временном хранилище). Есть вариант выйти след способом заменить НастройкаРасшифровки на настройкиКомпоновкиданных Отчета - тип такой же, но они по любому разные, но скорее всего в мелочах - Как сравнить и понять как они различаются, чтоб поменять его программно и избавиться от этой ошибки? |
|||
1
DmitrO
25.06.15
✎
13:29
|
как отчет строится, показывай код и где он расположен
|
|||
2
DmitrO
25.06.15
✎
13:34
|
ДанныеРасшифровкиОбъект - вот тут должен быть тоже url временного хранилища, т.е. Строка.
А у вас подозрительное имя переменной - соответственно чета вы там накосяпурили, отсюда и проблемы. |
|||
3
DomanM
25.06.15
✎
13:36
|
(2)
ДанныеРасшифровкиОбъект = ПолучитьИзВременногоХранилища(ДанныеРасшифровкиОтчета); |
|||
4
DomanM
25.06.15
✎
13:38
|
(2) там либо на основании объекта из временного либо адреса, делали и так и так
|
|||
5
Гёдза
25.06.15
✎
13:40
|
в уф только на основании адреса
|
|||
6
DomanM
25.06.15
✎
13:44
|
НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; СтруктураВозврата = ПолучитьНеобходимыеПоля(Расшифровка, ДанныеРасшифровки); ДанныеЗаполнения = Новый Структура; ДанныеЗаполнения.Вставить("НастройкаРасшифровки", СтруктураВозврата.НастройкаРасшифровки); ОткрытьФорму("Отчет.ОтчетПоБюджету1.Форма.ФормаОтчетаУправляемая", ДанныеЗаполнения, , Новый УникальныйИдентификатор); конецПРоцедуры &НаСервере Функция ПолучитьНеобходимыеПоля(Знач Расшифровка, Знач ДанныеРасшифровкиОтчета) URLСхемы=ПолучитьURLСхемы(); СтруктураВозврата.Вставить("URLСхемы", URLСхемы); ДанныеРасшифровкиОбъект = ПолучитьИзВременногоХранилища(ДанныеРасшифровкиОтчета); ПоляРасшифровки = ДанныеРасшифровкиОбъект.Элементы[Расшифровка].ПолучитьПоля(); Для ТекСтрукт = 0 По 3 Цикл Если (ИмяРегистратора = Неопределено ИЛИ ИмяРегистратора = "") И (Отчет.КомпоновщикНастроек.Настройки.Структура.Количество()-1) >= ТекСтрукт Тогда ПолеРегистратораВКомпановке = Отчет.КомпоновщикНастроек.Настройки.Структура[ТекСтрукт].Настройки.ДоступныеПоляВыбора.Элементы.Найти(ИмяРегистратора); конецЕсли; конеццикла; Расш = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровкиОбъект, Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы)); Если ПолеРегистратораВКомпановке <> Неопределено Тогда //НастройкаРасшифровки = Расш.Расшифровать(Расшифровка, ПолеРегистратораВКомпановке.Поле); НастройкаРасшифровки = отчет.КомпоновщикНастроек.Настройки; Конецесли;\ СтруктураВозврата.Вставить("НастройкаРасшифровки", НастройкаРасшифровки); Возврат СтруктураВозврата; |
|||
7
DmitrO
25.06.15
✎
13:46
|
ДанныеРасшифровкиОтчета - значит тут адрес.
а как он там появляется? Код, Карл, показывай код! |
|||
8
DmitrO
25.06.15
✎
13:49
|
и еще, что за форма? это форма отчета (основной реквизит формы ОтчетОбъект)?
|
|||
9
Franchiser
гуру
25.06.15
✎
13:54
|
у временного хранилища ограниченный срок жизни, м.б. в этом проблема?
|
|||
10
Franchiser
гуру
25.06.15
✎
13:55
|
как происходит помещение в хранилище?
|
|||
11
DmitrO
25.06.15
✎
13:59
|
вот так попробуй еще:
Расш = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровкиОтчета, Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет)); Этот конструктор (объекта ИсточникДоступныхНастроекКомпоновкиДанных) не описан в СП, но это по ошибке документаторов 1С, он есть и его и надо юзать на клиенте по крайней мере. (9)(10)да, тоже вот и хочу увидеть |
|||
12
DomanM
25.06.15
✎
14:58
|
(9) оно не пустое при ошибке
|
|||
13
DomanM
25.06.15
✎
14:58
|
(7) это ДанныеРасшифровки - стандартный реквизит
|
|||
14
DomanM
25.06.15
✎
14:59
|
(10) автоматом же
|
|||
15
DmitrO
25.06.15
✎
15:06
|
а как адрес схемы получаете (URLСхемы)?
|
|||
16
DomanM
25.06.15
✎
15:09
|
(15) ОсновнаяСхемаКомпоновкиДанных = Отчеты.ОтчетПоБюджету1.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
URLСхемы = ПоместитьВоВременноеХранилище(ОсновнаяСхемаКомпоновкиДанных); Возврат URLСхемы; |
|||
17
DomanM
25.06.15
✎
15:13
|
Если ПолеРегистратораВКомпановке <> Неопределено Тогда
//НастройкаРасшифровки = Расш.Расшифровать(Расшифровка, ПолеРегистратораВКомпановке.Поле); НастройкаРасшифровки = отчет.КомпоновщикНастроек.Настройки; Конецесли;\ попутал написал опытный код - искомая ошибка как раз при НастройкаРасшифровки = Расш.Расшифровать(Расшифровка, ПолеРегистратораВКомпановке.Поле); |
|||
18
DmitrO
25.06.15
✎
15:15
|
а надо так:
URLСхемы = ПоместитьВоВременноеХранилище(ОсновнаяСхемаКомпоновкиДанных, УникальныйИдентификатор); |
|||
19
DmitrO
25.06.15
✎
15:22
|
(18)+ в СП почитай в чем разница
На самом деле это делать вообще не нужно. Адрес схемы вам не нужен вообще, а объект ОбработкаРасшифровкиКомпоновкиДанных надо создавать как я написал в (11). То что вы делаете, по сути вы кладете схему на сервер еще раз, (второй экземпляр так сказать), первый экземпляр схемы (и собственно тот по которому и работает отчет) кладет сама форма отчета внутренне, но этот адрес получить не возможно. |
|||
20
DomanM
25.06.15
✎
15:39
|
(11) не помогло
|
|||
21
DomanM
25.06.15
✎
15:41
|
(19) короче все равно падает, как в (11) урл не пользуюсь , проходит с пол часа и та же ошибка((
|
|||
22
DomanM
25.06.15
✎
15:44
|
(19) самое интересное что пытался хранить ДанныеРасшифровкиОбъект не во временном хранилище а в регистре с типом хранилищезначений - так та же ошибка начала выпадать СРАЗУ
|
|||
23
DomanM
25.06.15
✎
15:48
|
(22)+ я к тому что дело все таки в этих данных расшифровки во врхр скорее всего, они портятся чтоль..
|
|||
24
DomanM
25.06.15
✎
16:26
|
всей мистой не поймем как быть(((
|
|||
25
Franchiser
гуру
25.06.15
✎
20:05
|
надо так
Время жизни до конца сеанса URLСхемы = ПоместитьВоВременноеХранилище(ОсновнаяСхемаКомпоновкиДанных, Новый УникальныйИдентификатор()); если так - до закрытия формы URLСхемы = ПоместитьВоВременноеХранилище(ОсновнаяСхемаКомпоновкиДанных, УникальныйИдентификатор); |
|||
26
DomanM
26.06.15
✎
09:00
|
(25) да без нее даже обходились же - скорее всего падает именно хранилище с объектом расшифровки, но опять же не все, при ошибке оно не фига не пустое
|
|||
27
DomanM
26.06.15
✎
11:28
|
ришли к выводу что это косяк платформы - перепробывали хранить его объект расшифровки в регистре, в глобальной переменной (в последних двух падает с этой ошибкой сразу) и самому помещать в хранилище этот еще рабочий объект....
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |