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

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

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
Просмотров: 9206
Последний ответ 30 Дек 2015, 22:14
от 1Cnastroika
Вопрос по РИБ "ПоОрганизации"

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

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

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

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

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

Ответов: 6
Просмотров: 3435
Последний ответ 06 Окт 2014, 15:23
от jenya1111
Вопрос по отчету "Материалы в эксплуатации".

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

Ответов: 3
Просмотров: 2363
Последний ответ 04 Мар 2015, 11:07
от Дмитрий@

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
179 Сообщений
ilyay ilyay
69 Сообщений
alex0402
54 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal