|
Выгрузить табличный документ из хранилища значений | ☑ | ||
---|---|---|---|---|
0
marshalbratsk
22.12.16
✎
11:42
|
Есть отчёт с выводом в поле табличного документа.
Создал справочник с реквизитами Код, Наим, Период, Отчёт(тип:ХранилищеЗначения) Создал процедуру, которая сохраняет инфу с поля табличного документа ТабДок = ЭлементыФормы.ПолеТабличногоДокумента; Хранилище = Новый ХранилищеЗначения(ТабДок); СправочникСсылка = Справочники.bzfСохраненныеОтчётыПоДебиторскойКредиторскойЗадолженности.НайтиПоРеквизиту("Период", НачалоМесяца(ДатаОстатков)); Если СправочникСсылка=Справочники.bzfСохраненныеОтчётыПоДебиторскойКредиторскойЗадолженности.ПустаяСсылка() Тогда //Если элемент пустой, тогда создаём новый элемент справочника, иначе изменяем существующий СправочникСоздатьЭлемент = Справочники.bzfСохраненныеОтчётыПоДебиторскойКредиторскойЗадолженности.СоздатьЭлемент(); СправочникСоздатьЭлемент.Период = НачалоМесяца(ДатаОстатков); СправочникСоздатьЭлемент.Отчёт = Хранилище; СправочникСоздатьЭлемент.Записать(); Иначе СправочникСсылка = СправочникСсылка.ПолучитьОбъект(); СправочникСсылка.Отчёт = Хранилище; СправочникСсылка.Записать(); КонецЕсли; Затем пытался создать процедуру, которая должна выводить данные из хранилища в ПолеТабличногоДокумента2 и тут у меня ерунда получается ТабДок = Новый ТабличныйДокумент; СправочникСсылка = Справочники.bzfСохраненныеОтчётыПоДебиторскойКредиторскойЗадолженности.НайтиПоРеквизиту("Период", НачалоМесяца(ДатаОстатков)); Если СправочникСсылка = Справочники.bzfСохраненныеОтчётыПоДебиторскойКредиторскойЗадолженности.ПустаяСсылка() Тогда Сообщить("Отчёт за данный период не существует!"); Иначе Хранилище = Новый ХранилищеЗначения(СправочникСсылка.Отчёт); ТабДок = Хранилище.Получить(); ЭлементыФормы.ПолеТабличногоДокумента1.Вывести(ТабДок); КонецЕсли; Ошибка: {Отчет.bzfОтчетПоДебиторскойКредиторскойЗадолженности.Форма.Отчет.Форма(694)}: Ошибка при вызове метода контекста (Вывести) ЭлементыФормы.ПолеТабличногоДокумента1.Вывести(ТабДок); по причине: Несоответствие типов (параметр номер '1') |
|||
1
Cool_Profi
22.12.16
✎
11:43
|
табдок = СправочникСсылка.Отчёт.Получиьт()
|
|||
2
marshalbratsk
22.12.16
✎
11:43
|
Выврдить данные из хранилища в ПолеТабличногоДокумента1
*фикс |
|||
3
marshalbratsk
22.12.16
✎
11:45
|
(1) Пробовал, ругается
{Отчет.bzfОтчетПоДебиторскойКредиторскойЗадолженности.Форма.Отчет.Форма(692)}: Ошибка при вызове метода контекста (Получить) ТабДок = СправочникСсылка.Отчёт.Получить(); по причине: Ошибка формата потока |
|||
4
FIXXXL
22.12.16
✎
11:46
|
Хранилище = Новый ХранилищеЗначения(СправочникСсылка.Отчёт);
ТабДок = Хранилище.Получить(); а тут чего ты получишь из только что созданного пустого ХЗ вероятно - хз |
|||
5
Cool_Profi
22.12.16
✎
11:47
|
(3) Значит, у тебя там не хранилище значения.
Отладчик возьми |
|||
6
Save_Vol
22.12.16
✎
11:51
|
СправочникСсылка.Отчёт.Получить()
|
|||
7
marshalbratsk
22.12.16
✎
11:52
|
(5) http://s8.hostingkartinok.com/uploads/images/2016/12/0361086b1ba3aaa0f43ff04905dea20c.png
Говорит, что ХЗ (6) Пробовал, ругается - (3) |
|||
8
Save_Vol
22.12.16
✎
11:54
|
Проверь тогда,что вернул (6).Посмотри тип.
|
|||
9
marshalbratsk
22.12.16
✎
11:56
|
||||
10
marshalbratsk
22.12.16
✎
11:58
|
Может при записи в справочник где косякнул?
|
|||
11
Save_Vol
22.12.16
✎
12:09
|
(10) Сериализуй объект сохранения для помещения в хранилище.
|
|||
12
marshalbratsk
22.12.16
✎
12:25
|
(11) Не сталкивался с таким, ща изучу матчасть и попробую.
|
|||
13
Мимохожий Однако
22.12.16
✎
13:25
|
Вот примерчик записи в хранилище значений табличного документа:
ГотовыйТабличныйДокумент = Новый ХранилищеЗначения(Результат); где Результат - табличный документ |
|||
14
Мимохожий Однако
22.12.16
✎
13:25
|
А вот так читаю:
ТабДок=ГотовыйТабличныйДокумент.Получить(); Если ТабДок<>Неопределено Тогда ТабДок.Показать(); Иначе Сообщить("Готовый Отчет отсутствует в хранилище"); КонецЕсли; |
|||
15
Мимохожий Однако
22.12.16
✎
13:26
|
(3) Скорее всего в хранилище помещаешь не табличный документ, а нечто другое
|
|||
16
h-sp
22.12.16
✎
15:01
|
(15) ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
|
|||
17
marshalbratsk
22.12.16
✎
18:56
|
(15) Помещаю
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента; Хранилище = Новый ХранилищеЗначения(ТабДок); Как тут можно что другое поместить? |
|||
18
marshalbratsk
22.12.16
✎
19:24
|
получилось успешно получить xml файл из хранилища данных, ток есть какие варианты как xml перевести в таб.док?
|
|||
19
Мимохожий Однако
22.12.16
✎
20:55
|
||||
20
marshalbratsk
23.12.16
✎
04:03
|
Неправильно записывал файл в хранилище значений и неправильно его выгружал
Вот правильный пример, откопанный на мисте Процедура СохранитьВХранилищеНажатие(Элемент) ТабДок=Новый ТабличныйДокумент; ТабДок.Вывести(ЭлементыФормы.ПолеТабличногоДокумента1); Хранилище=Новый ХранилищеЗначения(ТабДок); Записать(); КонецПроцедуры Процедура ВосстановитьИзХранилищаНажатие(Элемент) ТабДок=Хранилище.Получить(); Если ТабДок<>Неопределено Тогда ЭлементыФормы.ПолеТабличногоДокумента1.Вывести(ТабДок); КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |