Имя: Пароль:
1C
 
Выгруза в файл в клиентсерверном варианте
0 ALEX7519
 
04.07.23
15:01
такой вопрос - писал в свое время обработку по записи печатных форм в файлы, на клиенте выбирался каталог, потом на сервере перебирались документы, создавались печ формы для каждого, каталоги, и сохранялись в файлы.
проблема в том, что база была файловая, а когда перешли на клиентсерверный вариант я так понимаю перестала видеть по нормальному пути ? как можно переделать не подскажите

    Для каждого стр из Счета Цикл
        
        ВнешняяОбработка= Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Счет");  
        ИмяФайла11 = ПолучитьИмяВременногоФайла();
        ДвоичныеДанные = ВнешняяОбработка.ХранилищеОбработки.Получить();
        ДвоичныеДанные.Записать(ИмяФайла11);
        ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла11);
        
        МассивДокументов = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(стр.Счет);
        
        ТабДок = ВнешняяОбработка.Печать("Счет",МассивДокументов,,);
        

        потом долго определяем каталоги, создаем их  ******


в конце                 ТабДок.Записать("ПОЛУЧИВШИЙСЯ КАТАЛОГ + ФАЙЛ",ТипФайлаТабличногоДокумента.PDF);

              конец цикла;

в файловом режиме все рабтало норм :)

когда то с одним файлом закидывал его на сервере во врем хранилище потом на клиенте брал, а тут что то запутался - получается куча таблиц в цикле на сервере ???
1 lodger
 
04.07.23
15:30
(0) на сервере у 1с свой исполняющий пользователь, со своими ограничениями доступа, плюс там обычно серверная ось с более строгими ограничениями к файловой системе (а может там вообще unix).
ваши волшебные "ПОЛУЧИВШИЙСЯ КАТАЛОГ" и "видеть по нормальному пути", при исполнении кода на сервере 1с, больше не актуальны.

делайте массив структур с описанием полученных табдоков и передавайте его на клиент. а там уже решайте печать или сразу сохранение в файлы.
ещё можно покурить ПакетОтображаемыхДокументов https://its.1c.ru/db/metod8dev/content/5792/hdoc

и лучше как-то обойтись без записи в файлы на сервере. это засоряет систему, это медленно, это признак говнокода.
2 ALEX7519
 
04.07.23
16:03
(1) а готовые таблицы можно в массив запихать и вернуть на клиент ?
3 SleepyHead
 
04.07.23
16:12
(1) "и лучше как-то обойтись без записи в файлы на сервере. это засоряет систему, это медленно, это признак говнокода."

Но именно так почему-то и работает выгрузка регламиентной отчетности, во всяком случае, СЗВ-М (когда я с этим разбирался). Выгружается в файл, потом файл передается на клиент.
4 lodger
 
04.07.23
16:13
(3) а кто сказал что в типовых нет говнокода?
5 Naumov
 
04.07.23
16:15
(2) можно