Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 дек 2024, 18:35

Automation Server

Автор bossiii333@mail.ru, 06 фев 2023, 11:32

0 Пользователей и 1 гость просматривают эту тему.

bossiii333@mail.ru

День добрый, небольшая проблема:
Не могу понять как правильно прописать путь к базе. Т.е. ссылка должна быть только на папку в которой база с расширением 1CD, или нужно явно указать название базы, хотя делал и так и так, все равно уходил в Исключение
      Предупреждение("База данных не открыта!!!")

Данная процедура на форме обработки:

&НаКлиенте
Процедура AutomationТолстыйКлиент(Команда)
   
   Путь = "c:\InfoBases";
   Пароль = "";
   Пользователь = "";
   
   V83 = Новый COMОбъект("V83.Application");
     
   Попытка
      Открытие = V83.Connect("File=" + Путь + ";Usr=" + Пользователь + ";Pwd=" + Пароль + ";");
   Исключение
      Предупреждение("База данных не открыта!!!");
      Возврат;
   КонецПопытки;   
   
   МенеджерНоменклатуры = V83.Справочники.Номенклатура;
   НовыйЭлемент = МенеджерНоменклатуры.СоздатьЭлемент();       
   НовыйЭлемент.Наименование = "Созданный";
   НовыйЭлемент.Записать();
   Фрм = НовыйЭлемент.ПолучитьФорму();
   Фрм.ОткрытьМодально();

КонецПроцедуры


Код в модуле листа эксель:

Sub OLE()
    Dim trade As Object
    Dim Элемент As Object

    Set trade = CreateObject("V83.Application")
    trade.Connect ("File=""C:InfoBases"";Usr="""";")
   
    Rem создаем документ
    Set Документ = trade.Документы.РасходнаяНакладная.СоздатьДокумент()
       
    Rem получаем данные из листа
    Set Контрагент = trade.Справочники.Контрагенты.НайтиПоНаименованию(Application.Cells(1, 2).Value)
    НомерДокумента = Application.Cells(2, 2).Value
    Дата = Application.Cells(3, 2).Value
   
    Rem записываем полученные данные в документ
    Документ.Контрагент = Контрагент
    Документ.Дата = Дата
    Документ.Номер = НомерДокумента

    Номер = 6   'Первая строка табличной части
    НомерСтроки = Application.Cells(Номер, 1).Value
   
    Rem в последней строке табличной части будет символ #
    While НомерСтроки <> "#"
   
        Rem получаем данные из листа
        Set Номенклатура = trade.Справочники.Номенклатура.НайтиПоНаименованию(Application.Cells(Номер, 2).Value)
        Количество = Application.Cells(Номер, 5).Value
        Цена = Application.Cells(Номер, 6).Value
        Сумма = Application.Cells(Номер, 7).Value
       
        Rem записываем полученные данные в строку табличной части
        Set Строка = Документ.Товары.Добавить()
        Строка.Номенклатура = Номенклатура
        Строка.Количество = Количество
        Строка.Цена = Цена
        Строка.Сумма = Сумма
        Номер = Номер + 1
        НомерСтроки = Application.Cells(Номер, 1).Value
    Wend
    Документ.Записать
   
    Документ.ПолучитьФорму.ОткрытьМодально

End Sub

Afinogen

Путь = "c:\InfoBases";

у вас стоит на клиенте, вот и ищет на локальной машине

bossiii333@mail.ru

Цитата: Afinogen от 06 фев 2023, 13:35Путь = "c:\InfoBases";

у вас стоит на клиенте, вот и ищет на локальной машине

База развернута на локальной машине, специально загнал ее сюда (c:\InfoBases)

Afinogen

я бы даже и при  таком развертывании базы делал все на сервере, плюс проверьте пользователя под  которым открываете соединение

antoneus

А если через Новый COMОбъект("V83.ComConnector")?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск