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 18 03.01.17 14:52 Сейчас в теме
Загоняй в реквизит документа ДвоичныеДанные
3. ice-net 18 03.01.17 14:52 Сейчас в теме
ХранилищеЗначения* прошу прощения =)
4. herfis 290 03.01.17 17:52 Сейчас в теме
Если твое "будущее" не ограничивается текущим сеансом, то какая, нафиг, переменная?
Тебе придется сначала сохранить табдок в mxl-файл на диске.
А дальше решаешь стандартную проблему хранения любых файлов в 1С:
- либо запихиваешь его в базу в поле типа ХранилищеЗначения (желательно - в отдельный справочник/регистр сведений)
- либо складываешь в предопределенный каталог на сервере, а в 1С хранишь пути
Выбор зависит от степени файлопомоечности.
5. ice-net 18 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 18 04.01.17 08:26 Сейчас в теме
(6) А почему ее не рекомендуют использовать? Она есть, быстрая, готовая, простая в исполнении.. одним словом - пользуйся!
Пс.В СП ни слова ни сказано, что ее не рекомендуется использовать.. Я пока вижу одни плюсы)
10. herfis 290 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С
Чебоксары
зарплата от 50 000 руб. до 70 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб. до 120 000 руб.
Полный день

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

Программист 1С
Москва
зарплата до 160 000 руб.
Полный день

Консультант 1С
Москва
зарплата от 100 000 руб. до 140 000 руб.
Временный (на проект)