1. kar911 03.01.17 14:49 Сейчас в теме

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

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

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

Вакансии

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

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

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

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

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день