Нужен скрипт на Vbscript, выставляющий счет в 1С

Тема в разделе "1C и всё что с ней связано", создана пользователем IvanAbramov, 6 фев 2009.

  1. IvanAbramov

    IvanAbramov Гость

    :(Добрый день.

    Нет, ли у кого подобного скриптка или примерных наработок?
    Возможно ли его написать в универсальном стиле для 1С 7.7 и для 8?
    Логика такова:
    1. поиск контрагента по наименованию или ИНН. Если не найден, должен создаваться.
    2. собственно выставление счета (с заполнением всех обязательных полей и полей в нужных связанных таблицах)

    Все в самом минимальном варианте.
    Может кто-нибудь помочь?

    Заранее спасибо.
     
  2. b00tch

    b00tch Гость

    ну, для 8.1 примерно так можно:
    Код (Text):
    set v81 = CreateObject("V81.ComConnector")
    set conn = v81.Connect("Srvr=srvName; Ref=baseName; Usr=sss; Pwd=sss")
    conn.NewOrder()
    в модуле внешнего соединения прописывается процедура
    Код (Text):
    Процедура NewOrder() Экспорт
    КонецПроцедуры
    в которой и создается счет.

    ЗЫ... если я правильно понял идею...

    ЗЫЗЫ... и, кстати, вопрос в догонку:
    предположим, что у меня NewOrder() - это функция, возвращающая некоторое значение... как сделать, чтобы скрипт вернул это значение проге, вызвавшей его?
     
  3. IvanAbramov

    IvanAbramov Гость

    Спасибо, но хотелось бы в каком-то более полном варианте:
    - если в 1С нет такой компании, чтобы она добавлялась (только обязательные поля Наименование, ИНН)
    - если в 1С нет такого продукта (содержащегося в счете), чтобы он тоже добавлялся
    - и чтобы добавлялось все остальное самое необходимое для выставления счета (в самом минимальном варианте)

    В данный скрипт у меня будет передаваться все необходимая информация (компания, продукты...)

    А возврадаемое значение можно назначить в переменную
    vSome = conn.NewOrder()

    которую потом можно и в БД приложения записать:
    Dim Con 'объект Connection
    Set Con = CreateObject("ADODB.Connection") 'создание объекта Connection
    Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDbPath & ";Persist Security Info=False" 'открываем соединение с базой данных
    Dim sSql 'SQL инструкция
    sSql = "UPDATE Table SET Field='...'" 'формируем SQL инструкцию
    Con.Execute sSql 'выполняем SQL инструкцию, которая изменяет данные в таблице

    А в универсальном варианте и к 1С 7.7 ни как нельзя написать?
     
  4. b00tch

    b00tch Гость

    это все можно прописать в процедуре в самой 1с... к сожалению, готового кода под рукой нет... надо писАть...

    а вот как эту vSome вернуть из скрипта?... чтобы другая прога могла вызвать его как функцию и получить результат?... в БД я и из 1с напрямую могу апдейт сделать...

    нет. разные методы и объекты... мало того, для разных конфигураций 8-ки код может отличаться...
     
  5. IvanAbramov

    IvanAbramov Гость

    > а вот как эту vSome вернуть из скрипта?...

    Повторяю, записать в БД приложения (которое отрабатывает VBS скрипт). Или записать все нужную инфу в файл (ну, или в буфер обмена).
    А другое приложение, будет читать из БД эту инфу.
     
Загрузка...

Поделиться этой страницей