ситуация:
Есть скрипт, печатающий pdf файлы при печати документа. В файловом варианте базы все хорошо и замечательно работает. Перенес базу в клиент-серверный вариант (sql) и работать перестало.
Выдает ошибку:
Ошибка при вызове метода контекста (Run)
 Shell.Run("AcroRd32.exe /p /h " + Путь, 0, -1);
по причине:
Произошла исключительная ситуация (0x80070002)

скрипт:
Shell = Новый COMОбъект("WScript.Shell");
Shell.Run("AcroRd32.exe /p /h " + Путь, 0, -1);

Путь - путь к файлу pdf, который будет отправлен на печать.
что делать? куда копать?

и еще:
1)может быть кто знает как сделать так, что бы печаталось, но сам AdobeReader не запускалася.
2)как сделать так, что бы при печати была возможность выбрать принтер (в нынешнем варианте печатает на принтере по умолчанию).
---
Выбор принтера в 7.7

```1c
    СписокПринтеров = СоздатьОбъект("СписокЗначений");

    wshNetwork=createObject("WScript.Network");
    oPrinters=wshNetwork.EnumPrinterConnections();
    i=0;
    while i<oPrinters.count()-1 do
    СписокПринтеров.ДобавитьЗначение(oPrinters.item(i+1));
    //message(oPrinters.item(i+1));
    i=i+2;
    enddo;
    Если СписокПринтеров.РазмерСписка()>0 Тогда
    Если СписокПринтеров.ВыбратьЗначение(ТекПринтер,,,,1)=1 Тогда
    ВыбПринтерБольших = ТекПринтер;
    КонецЕсли;
    КонецЕсли;
```
---
Поставил, ошибки нет но ничего и не печатает
---
на сервере стоит
---
Wolfgart1234, использовать Инструкции препроцессору. Или перенести код в модуль с разрешением выполнения на клиенте.
---
Выбор принтера в 7.7

```1c
    СписокПринтеров = СоздатьОбъект("СписокЗначений");

    wshNetwork=createObject("WScript.Network");
    oPrinters=wshNetwork.EnumPrinterConnections();
    i=0;
    while i<oPrinters.count()-1 do
    СписокПринтеров.ДобавитьЗначение(oPrinters.item(i+1));
    //message(oPrinters.item(i+1));
    i=i+2;
    enddo;
    Если СписокПринтеров.РазмерСписка()>0 Тогда
    Если СписокПринтеров.ВыбратьЗначение(ТекПринтер,,,,1)=1 Тогда
    ВыбПринтерБольших = ТекПринтер;
    КонецЕсли;
    КонецЕсли;
```
---
А по поводу Произошла исключительная ситуация (0x80070002) дайте свой скрипт затестить
---
выше же написан скрипт)

скрипт:
Shell = Новый COMОбъект("WScript.Shell");
Shell.Run("AcroRd32.exe /p /h " + Путь, 0, -1);
---
Ага, у меня не отвалилось, но эксперимент не полный - на сервере не установлен ни один принтер, только виртуальный
---
По идее принтеры тут не причем.
Сетевых полно. Может быть дело в том, что сервер, где лежит база, пустой? На нем ничего не установлено кроме sql сервера и сервера 1С_Предприятие. Хотя вызов adobe reader должен происходит на компе? с которого эта база запускается.
---
Запустил 1С клиент-серверную с компа где нет акробата
Произошла исключительная ситуация (0x80070002)
---
ну на том компе откуда я запускаю, акробат есть.
---
счас поставлю
---
Поставил, ошибки нет но ничего и не печатает
---
а на сервере стоит акробат?
---
на сервере стоит
---
в общем да. Проблема была, как и предполагалось ранее в том, что на сервере не стоит adobe reader.
поставил. Ошибки нет, но печать действительно не идет.

есть варианты как заставить серверную процедуру выполнятся на стороне клиента?
---
может подскажет кто?
ситуация:
Есть обработка, встроенная в конфу. В ней вызывается процедура выполняющая скрипт. Соответственно она получается серверная. Как заставить ее выполнятся на стороне клиента?
---
Wolfgart1234, использовать Инструкции препроцессору. Или перенести код в модуль с разрешением выполнения на клиенте.