Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
26 Сен 2020, 17:45
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Вопрос по интеграции (синтаксис)  (Прочитано 3589 раз)

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

Оффлайн mohock

  • ***
  • Сообщений: 170
  • РЕПУТАЦИЯ: 50
  • КПД: 29%
  • Регистрация: 2010-08-12
  • Сайт: 
  • Профессия: Программист 8.1
Мне надо добавить строку в таблицу на FireBird (InterBase).
Есть такая завершающая конструкция которая запускает сохраненную процедуру в БД FireBird:

БД.Execute("НазваниеПроцедуры",ЗДЕСЬ_ПАРАМЕТРЫ,adCmdStoredProc);
где
adCmdStoredProc = 4 - это для ADO означает, что запускается процедура БД;
"НазваниеПроцедуры" - это название этой процедуры в БД
Так вот. Я в процедуру передаю 11 параметров. Они должны быть указаны на месте - ЗДЕСЬ_ПАРАМЕТРЫ
Мне надо знать синтаксис этой части. Простое перечисление ч/з запятую не проходит, т.к. у Execute только 3 параметра (ч/з запятую)
Ктонибудь сталкивался с этим?
Как правильно указать перечень параметров?


Оффлайн YouAreEmpty

  • **
  • Сообщений: 84
  • РЕПУТАЦИЯ: 5
  • КПД: 6%
  • Регистрация: 2010-08-12
  • Сайт: 
"БД" это какой объект?

Оффлайн mohock

  • ***
  • Сообщений: 170
  • РЕПУТАЦИЯ: 50
  • КПД: 29%
  • Регистрация: 2010-08-12
  • Сайт: 
  • Профессия: Программист 8.1
"БД" это какой объект?

БД = Новый COMОбъект("ADODB.Connection");

Оффлайн ITShef

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-08-15
  • Сайт: 
Как вариант можно накатать простую прогу на Delphi, которая подключалась бы к FiteBird и запихивала бы все в 1С через OLE.

Оффлайн ITShef

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-08-15
  • Сайт: 
Кроме того, как показывает практика. если обмен с другими базами нужен постоянный или периодический, то внешняя прога со своим таймером очень хорошо для этого идет

Оффлайн mohock

  • ***
  • Сообщений: 170
  • РЕПУТАЦИЯ: 50
  • КПД: 29%
  • Регистрация: 2010-08-12
  • Сайт: 
  • Профессия: Программист 8.1
В общем с использованием сохраненной процедуры на сервере пришлось отложить. Решил проблему так же как с выборками (SELECT).
Вот пример:

Функция prInsertPrihod(id_shop,date_prihod,bar_code,id_model,number_model,
   tkan,razmer,osobennosti,cena_prihoda,primachanie,cena_roznica) Экспорт
Текст = "insert into prihod("+
        "prihod.id_shop, "+
        "prihod.date_prihod, "+
        "prihod.bar_code, "+
        "prihod.id_model, "+
        "prihod.number_model, "+
        "prihod.tkan, "+
        "prihod.razmer, "+
        "prihod.osobennosti, "+
        "prihod.cena_prihoda, "+
        "prihod.primechanie, "+
        "prihod.cena_roznica ) "+
           "values("+
           id_shop+", "+
         "'"+Формат(date_prihod,"ДФ=dd.MM.yyyy")+"', "+
         bar_code+", "+
         id_model+", "+
         "'"+number_model+"', "+
         "'"+tkan+"', "+
         razmer+", "+
         "'"+osobennosti+"', "+
         cena_prihoda+", "+
         "'"+primachanie+"', "+
         cena_roznica+");";

Возврат Текст;
КонецФункции

Процедура ДобавитьПриходВShop(
   id_shop,date_prihod,bar_code,id_model,number_model,
   tkan,razmer,osobennosti,cena_prihoda,primachanie,cena_roznica
   ) Экспорт
   
Текст = prInsertPrihod(id_shop,date_prihod,bar_code,id_model,number_model,tkan,razmer,osobennosti,cena_prihoda,primachanie,cena_roznica);
   
БД.Execute(Текст,,adCmdText); // adCmdText = 1
   
КонецПроцедуры

Первая функция формирует текст запроса, а вторая запускает его на сервер.
Кстати, кому интересно подключаюсь к серверу таким образом:

Процедура ПодключитьсяКБД() Экспорт
      
   Пароль = "vasiapupkin";
   Пользователь = "SYSDBA";
   //создаем строку подключения
   Провайдер = "Provider=MSDASQL.1;";
   ПарольБД = "Password="+Пароль+";";
   БезопасностьИнформации = "Persist Security Info=True;";
   ПользовательБД = "User ID="+Пользователь+";";
   ИсточникДанных = "Data Source=SHOP_TEST;";
   МетодДоступа = "Mode=ReadWrite;";
   
   СтрокаПодключения = Провайдер + ПарольБД + БезопасностьИнформации +
                  ПользовательБД + ИсточникДанных + МетодДоступа;
                  
   //создаем СОМ-объект
   БД = Новый COMОбъект("ADODB.Connection");
         
#if client then   
   Состояние("Попытка соединения с БД ...");
#endif
   Попытка
      БД.Open(СтрокаПодключения);
      #if client then
      Состояние("Читаю данные с БД ...");
      #endif
       Подключение = Истина;
   Исключение
      #if client then
      Сообщить("БД открыть не удалось!" + Символ(13)+ ОписаниеОшибки());
      #endif
       Подключение = Ложь;
       Возврат;
   КонецПопытки;

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

В начале модуля обработки должа быть объявлена переменая:
Перем БД Экспорт;

Затем чтобы использовать процедуру ДобавитьПриходВShop, например, для кнопки следует в ее обработчике события Нажатие
написать, что то вроде:

Процедура КнопкаЗагрузки(Кнопка)
Если БД = Неопределено Тогда
  ПодключитьсяКБД();   
КонецЕсли;

Попытка
ДобавитьПриходВShop();
БД = Неопределено;
Исключение
БД = Неопределено;
Сообщить("Загрузка не удалась."+Символ(13)+"ОПИСАНИЕ ОШИБКИ: "+ОписаниеОшибки());
КонецПопытки;

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

Обратите внимание. В последнем примере ДобавитьПриходВShop() без параметров. Это упрощение для наглядности примера. На самом деле есть другая процедура в которой я формирую входные параметры и на кнопке вызывается именно она.


Теги:
 

Возможно ли получение эталонного файла конфигурации *.cf из измененной стандартной, например (УТ 11.1, БП 3.0) или вопрос о том как убрать лишние доработки и привести конфигурацию базы максимально к стандартной после варварских "доработок"?

Автор kostyaomskРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 16414
Последний ответ 30 Дек 2015, 22:14
от 1Cnastroika
Вопрос по "Введение в конфигурирование в системе "1С: предприятие 8" основные объекты"

Автор TruthMan19Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 913
Последний ответ 28 Авг 2018, 02:25
от Golickoff
Вопрос по РИБ "ПоОрганизации"

Автор andi_xРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 7352
Последний ответ 15 Мар 2013, 21:38
от Besart
Вопрос по "Отчеты о Розничных продажах".

Автор GerCerberРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4280
Последний ответ 26 Июл 2010, 16:06
от crow1983
Вопрос о действии кнопки "Записать"

Автор jenya1111Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 5360
Последний ответ 06 Окт 2014, 15:23
от jenya1111

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
67 Сообщений
oooo800
39 Сообщений
LexaK
31 Сообщений
Дмитрий Джей Дмитрий Джей
29 Сообщений
IL2016
28 Сообщений
antoneus antoneus
25 Сообщений
DmitriyF DmitriyF
17 Сообщений
Ann_
16 Сообщений
мадам брошкина
13 Сообщений
illiona
10 Сообщений

* Кто онлайн

  • Точка Гостей: 193
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal