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

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

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

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

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