Форум программистов, компьютерный форум, киберфорум
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.96/89: Рейтинг темы: голосов - 89, средняя оценка - 4.96
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
1

Сохранение табличного документа в хранилище значений

30.12.2014, 16:28. Показов 16260. Ответов 4
Метки нет (Все метки)

Добрый день!
Реализовал механизм записи Табличного документа в хранилище значений.
ПечатнаяФорма - поле формы. В которую выводится макет с заполненными параметрами.
1C
1
2
3
4
5
НовыеДанные = РегистрыСведений.ПечатныеФормыДоговоров.СоздатьМенеджерЗаписи();
НовыеДанные.Период = Объект.ДатаНач;
НовыеДанные.Договор = Объект.Договор;
НовыеДанные.ПечатнаяФорма = Новый ХранилищеЗначения(ПечатнаяФорма);
НовыеДанные.Записать();
База расположена на SQL сервере. При тестировании на сервере, все работает отлично. Но у пользователей начинаются проблемы. При сохранении "ПечатнаяФорма", записывается криво. Пользователь формирует печатную форму и выводит ее в поле формы "Печатнаяформа", вносит в нее некоторые корректировки и записывает. В итоге при повторном считывании выводится печатная форма в которой может быть сохранена только часть измененных данных, а остальная выводится без изменений. Что еще примечательно, так это то, что если нажать несколько раз сохранить печатную форму, то в хранилище значений попадают совершенно разные данные, иногда все, иногда частично. Подчеркну, что на сервере таких бед нету. А когда пользователь подключается по сети к базе, то у него такая петрушка. Проводил тестирования ошибки, предположительно зависит от объема текстовой информации, выводимой в поле формы. Если я работаю с несколькими строками, то проблем не замечалось, если это несколько страниц, то начинаются странности работы программы. Посоветуйте, где может быть проблема. Возможно код неверный, пробовал сохранять в реквизит объекта, что дает точно такой же результат.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2014, 16:28
Ответы с готовыми решениями:

Сохранение табличного документа в excel с гиперссылками
Всем привет! Подскажите пожалуйста. в таб доке есть колнка ссылками на сайт. сохраняю ТабДок в...

Печать табличного документа
Здравствуйте. Существует табличный документ, состоящий из 2-ух страниц. Как програмно реализовать...

Поле табличного документа
Помогите заполнить отчет через поде табличного документа. Как заполнять строки по наименованию...

Загрузка из табличного документа
Здравствуйте, подскажите как сослаться на колонку5 строку2 в табличном документе: кол =...

4
Модератор
Эксперт 1С
3130 / 2812 / 528
Регистрация: 10.03.2011
Сообщений: 10,817
Записей в блоге: 1
30.12.2014, 17:10 2
лучше реализовать сначала сохранение в файл, а файл уже в хранилищеЗначений

Добавлено через 1 минуту
У меня была фигня на подобии, только с XML - проблема была в сети!

спасала только упаковка файла в архив
0
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
31.12.2014, 14:13  [ТС] 3
Т.е. я создаю временно файл в темпе и закидываю его в программу? У меня была такая идея. Спасибо попробую.

Добавлено через 4 часа 35 минут
Попробовал сделать как посоветовали. Но положительного эффекта это не дало. Аналогичная проблема. Программа по какой-то причине сохраняет данные в файл XML так же как хранилище значений. Например: в табличном документе (который расположен на форме и является просто полем формы) я вывел макет. Далее произвел исправления в тексте шапки, и подвала. Нажал кнопку сохранить. В итоге я получил шапку ту, которая были при выводе печатной формы (без моих изменений), а подвал с изменениями. В большинстве случаев программа запоминает последние изменения в табличном документе. Хотя визуально все выглядит исправленным и на печать идет корректно. И даже если я через Файл -> Сохранить как, то тоже все корректно сохраняется. Подозреваю что дело в табличном документе, а скорее всего в моем кривом коде. Но он настолько короток и прост, что я даже не понимаю в чем может быть проблема.

Добавлено через 3 минуты
Код второго способа сохранения:
1C
1
2
3
4
5
6
7
    ИмяФайлаXML = КаталогВременныхФайлов()+ Объект.Код + ".mxl";
    ПечатнаяФормаДоговора.Записать(ИмяФайлаXML);
    НовыеДанные = РегистрыСведений.ПечатныеФормыДоговоров.СоздатьМенеджерЗаписи();
    НовыеДанные.Период = ДатаГод;
    НовыеДанные.Договор = Объект.Ссылка;
    НовыеДанные.ПечатнаяФорма = Новый ХранилищеЗначения(НОВЫЙ ДвоичныеДанные(ИмяФайлаXML));
    НовыеДанные.Записать();
Добавлено через 2 минуты
Пробовал эксперементировать, прежде чем записать табличный документ, я ставил защиту таблицы от изменений, игрался с другими параметрами, но положительного эффекта не наблюдал

Добавлено через 1 час 0 минут
Решил задачу несколько кривым способом:
Пришлось копировать табличный документ в другой табличный документ, затем очищаю текущий, по новой его заполняю (текущий) из скопированного и помещаю в хранилище значений. Собственно код:
1C
1
2
3
4
5
6
7
8
9
    ТабличныйДок = НОВЫЙ ТабличныйДокумент;
    ТабличныйДок.ВставитьОбласть(ПечатнаяФорма.Область()); 
    ПечатнаяФорма.Очистить();
    ПечатнаяФорма.ВставитьОбласть(ТабличныйДок.Область());
    НовыеДанные = РегистрыСведений.ПечатныеФормыДоговоров.СоздатьМенеджерЗаписи();
    НовыеДанные.Период = Объект.ДатаНач;
    НовыеДанные.Договор = Объект.Договор;
    НовыеДанные.ПечатнаяФорма = Новый ХранилищеЗначения(ПечатнаяФорма);
    НовыеДанные.Записать();
0
Модератор
Эксперт 1С
3130 / 2812 / 528
Регистрация: 10.03.2011
Сообщений: 10,817
Записей в блоге: 1
02.01.2015, 23:12 4
Heltarion, форма управляемая?
0
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
05.01.2015, 09:38  [ТС] 5
Да, форма управляемая. Взял БП 3.0 и дописал документ для расчета цифр в печатную форму договора.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2015, 09:38

Поле табличного документа
В поле табличного документа загружаю файл Excel. Делее нужно выбирать нужные ячейки из нужных...

Загрузка данных из табличного документа 1С
Я что то не понимаю... Почему я в стандартной обработке "Загрузка данных из табличного документа"...

Загрузка данных из табличного документа
всем привет. использую типовую обработку (взятую с ИТС) - загрузка данных из табличного документа....

Загрузка данных из табличного документа
Проблема проста: открываю обработку загрузки данных из табличного документа и открывается это , а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.