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

  • Автор темы Автор темы IvanAbramov
  • Дата начала Дата начала
I

IvanAbramov

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

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

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

Заранее спасибо.
 
ну, для 8.1 примерно так можно:
Код:
set v81 = CreateObject("V81.ComConnector")
set conn = v81.Connect("Srvr=srvName; Ref=baseName; Usr=sss; Pwd=sss")
conn.NewOrder()

в модуле внешнего соединения прописывается процедура
Код:
Процедура NewOrder() Экспорт
КонецПроцедуры
в которой и создается счет.

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

ЗЫЗЫ... и, кстати, вопрос в догонку:
предположим, что у меня NewOrder() - это функция, возвращающая некоторое значение... как сделать, чтобы скрипт вернул это значение проге, вызвавшей его?
 
Спасибо, но хотелось бы в каком-то более полном варианте:
- если в 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 ни как нельзя написать?
 
Спасибо, но хотелось бы в каком-то более полном варианте:
- если в 1С нет такой компании, чтобы она добавлялась (только обязательные поля Наименование, ИНН)
- если в 1С нет такого продукта (содержащегося в счете), чтобы он тоже добавлялся
- и чтобы добавлялось все остальное самое необходимое для выставления счета (в самом минимальном варианте)

В данный скрипт у меня будет передаваться все необходимая информация (компания, продукты...)
это все можно прописать в процедуре в самой 1с... к сожалению, готового кода под рукой нет... надо писАть...

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

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

А в универсальном варианте и к 1С 7.7 ни как нельзя написать?
нет. разные методы и объекты... мало того, для разных конфигураций 8-ки код может отличаться...
 
> а вот как эту vSome вернуть из скрипта?...

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab