хранение печатной формы

1. kar911 03.01.17 14:49 Сейчас в теме
можно ли сохранить печатную форму документа в 1с(допустим в переменную) для того чтобы в будущем можно было распечатать его с изменениями которые я внёс перед печатью.
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
13. Healer 1 10.01.17 02:35 Сейчас в теме
(1) К слову, вот идея с хранением в типовом регистре сведений, схожая с моей: http://infostart.ru/public/359613/. То есть можно даже не создавать свой регистр сведений, а использовать для хранения печатных форм подходящий для этих целей РС "Версии объектов".
2. ice-net 20 03.01.17 14:52 Сейчас в теме
Загоняй в реквизит документа ДвоичныеДанные
3. ice-net 20 03.01.17 14:52 Сейчас в теме
ХранилищеЗначения* прошу прощения =)
4. herfis 452 03.01.17 17:52 Сейчас в теме
Если твое "будущее" не ограничивается текущим сеансом, то какая, нафиг, переменная?
Тебе придется сначала сохранить табдок в mxl-файл на диске.
А дальше решаешь стандартную проблему хранения любых файлов в 1С:
- либо запихиваешь его в базу в поле типа ХранилищеЗначения (желательно - в отдельный справочник/регистр сведений)
- либо складываешь в предопределенный каталог на сервере, а в 1С хранишь пути
Выбор зависит от степени файлопомоечности.
5. ice-net 20 03.01.17 19:17 Сейчас в теме
Еще один безумный вариант:
СтроковоеПредставлениеМакета = ЗначениеВстрокуВнутр(Табдок); // Сохранение
Табдок = ЗначениеИзСтрокиВнутр(СтроковоеПредставлениеМакета); //Восстановление
6. Healer 1 04.01.17 02:34 Сейчас в теме
(5) Эта функция сериализации была оставлена для совместимости с 1С версии 7.7, она прекрасна и быстра, однако использовать её не рекомендуется. Опять же, сериализованное значение надо где-то хранить.

На мой взгляд, для решения данной задачи следует создать свой регистр сведений с измерениями "Документ" (ссылка на документ) и "ПечатнаяФорма" (название печ.формы, строка), ресурсами "РаспечатаннаяПечатнаяФорма" (бесконечная строка, в неё помещаем отредактированный табличный документ в сериализованном виде) и "Автор". Такой вариант удобнее для доработки и не затрагивает конфигурацию поставщика, обмены и прочие вещи.
7. Healer 1 04.01.17 02:38 Сейчас в теме
(6) При этом измерение "Документ" можно сделать необязательным для заполнения и хранить версии отчётов, например "Оборотно-сальдовой ведомости" для возможности удобного контроля, "не поплыла ли она". Регистр, соответственно, в этом случае делаем периодическим.
9. ice-net 20 04.01.17 08:26 Сейчас в теме
(6) А почему ее не рекомендуют использовать? Она есть, быстрая, готовая, простая в исполнении.. одним словом - пользуйся!
Пс.В СП ни слова ни сказано, что ее не рекомендуется использовать.. Я пока вижу одни плюсы)
10. herfis 452 04.01.17 10:29 Сейчас в теме
(9)
В СП ни слова ни сказано, что ее не рекомендуется использовать

Значит, у нас разные СП.
Примечание:
Используется для сохранения функциональной совместимости с 1С:Предприятием 7.7. Использовать для других целей не рекомендуется

Да и нет никакого смысла ее использовать. В 8-ке есть своя сериализация через XML. А ЗначениеВСтрокуВнутр() - это устаревшая семерочная. Теоретически могут задиприкейтить в очередном релизе. Или забудут сериализацию новых объектов через нее реализовать :)
И пихать в строковый реквизит неограниченной длины - это тоже семерочная практика.
В 8-ке специально для таких вещей хранилище значений придумали - с поддержкой сжатия
В принципе, можно попробовать табличный документ в хранилище значений засунуть напрямую, без явной сериализации или сохранения в mxl. По-идее, он должен сериализоваться автоматически. И десериализоваться при извлечении.
11. Healer 1 04.01.17 15:21 Сейчас в теме
(10) Про Хранилище значений Вы правы, но в данном случае я всё же за строку, поскольку такой вариант функциональней: можно быстро глянуть на сохранённое значение прямо в регистре, наведя мышку на сохранённое значение, и так же быстро "скопипастить" значение в текстовый файл и сравнить с другим файлом через "Файл\Сравнить файлы". С Хранилищем значения такое не пройдёт.
12. Healer 1 04.01.17 15:25 Сейчас в теме
(10) Да, и про то, почему нежелательно использовать "ЗначениеВСтрокуВнутр" , "ЗначениеИзСтрокиВнутр" Вы хорошо, объяснили сомневающимся. Вообще мой опыт подсказывает, что если 1С что-либо рекомендует, лучше принимать эти рекомендации как руководство к действию, обязательному для исполнения :-)
8. Healer 1 04.01.17 02:45 Сейчас в теме
Для сохранения во внешних файлах, на мой взгляд, следует использовать функции ЗначениеВФайл("...путь к файлу...", ОтредактированныйТабличныйДокумент) и ЗначениеИзФайла("... путь к файлу..."). Тут, опять же, надо подумать, как называть файлы... можно UUID документа+ наименование печатной формы + штамп даты-времени... или что-то вроде того. Но я всё же за регистр.
Оставьте свое сообщение
Вакансии
Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Автор новостей об 1С, налогах и бухучете на INFOSTART.RU
Санкт-Петербург
По совместительству

Программист 1С
Екатеринбург
зарплата от 50 000 руб.
По совместительству

Ведущий разработчик 1С (техлид внутреннего учета)
Новосибирск
зарплата от 230 000 руб.
Полный день

Программист 1С
Рязань
зарплата от 150 000 руб. до 250 000 руб.
Полный день