Имя: Пароль:
1C
1С v8
Как из 1С вызвать SQL запрос
0 phillll
 
29.06.16
15:20
Точнее функцию. Мне ее выдал человек который SQL запросами занимается, но его сейчас нет в доступе. Сам к сожалению синтаксис не знаю. Так вот, не получается строковой параметр вытащить этой штукой.

Вот:

SELECT [dbo].[fguiGetName_Tourists]('{A23A6909-A6B2-4744-89E4-364584483295}')
"Вызывать можно так же, как и обычное поле в таблице. параметр в скобках - uid_Order"

А как я туда поставлю этот UID, если его надо одиночными кавычками отделять.

Можно так:

СтрокаДляВызова="SELECT [dbo].[fguiGetName_Tourists]('"+UID+"')";

Результат= Connection.execute (строкаДляВызова);

Только что в этом Результате? Сообщает что Com объект.

То есть рекордсет наверно.

Может его надо перебрать по строкам, но тогда из какой переменной нужный параметр доставать.
1 Это_mike
 
29.06.16
15:23
ник угнали?
2 Strogg
 
29.06.16
15:48
Command = Новый COMОбъект("ADODB.Command");
    Command.CommandTimeout = 0;
    Command.ActiveConnection = СоединениеАДО;//твоя строка соединения                  
    ТекстЗапроса = "select
        ......
        ";
    Command.CommandText = ТекстЗапроса;
    Command.CommandType = 1;
    //Сообщить("Выполняется запрос...");
    Попытка
        RecordSet = Новый COMОбъект("ADODB.RecordSet");
        RecordSet = Command.Execute();
    Исключение
        Сообщить(ОписаниеОшибки());        
    КонецПопытки;
    Пока RecordSet.EOF() = 0 Цикл
        ...
        КонецЦикла;
3 phillll
 
29.06.16
16:36
(2) спасибо Strogg, я так примерно и делал.

Результат= Connection.execute (строкаДляВызова);

Вопрос в том как достать из рекордсета нужное значение,

Пока RecordSet.EOF() = 0 Цикл

Если я получается имя переменной не знаю.

Вот автор запроса мне пишет:

"переменную - слегка геморно....  Да и не нужно.

сделал функцию.

SELECT [dbo].[fguiGetName_Tourists]('{A23A6909-A6B2-4744-89E4-364584483295}')

возвращает всех проживающих через запятую по заказу

Вызывать можно так же, как и обычное поле в таблице. параметр в скобках - uid_Order"
--------

переменной-то нет.... Я так понимаю что функция должна сама, без переменной возвращать значение как-то
4 Beretta
 
29.06.16
16:36
(2) RecordSet = Новый COMОбъект("ADODB.RecordSet");

Это зачем?
5 Зая Бусечка
 
29.06.16
16:38
RecordSet.Values(0)
6 Зая Бусечка
 
29.06.16
16:38
пардон
RecordSet.Fields(0)юМфдуг
7 Зая Бусечка
 
29.06.16
16:38
.Value
8 phillll
 
29.06.16
16:39
спасибо пробую
9 phillll
 
29.06.16
16:44
все, спасибо всем, работает!
10 Зая Бусечка
 
29.06.16
16:45
(9) Первая доза бесплатно )
11 phillll
 
29.06.16
16:48
(10) я давно предлагал на мисте сделать подобный платный функционал:) и вроде отвечающему польза, и пациенту меньше.... с ушей снимать
12 Зая Бусечка
 
29.06.16
16:49
(11) У кого-то из участников я видела в ЛК номер кошелька... И вроде даже ему что-то переводили..
13 Помогите
 
29.06.16
16:54
Если хорошо помогли я обычно спрашиваю куда деньги слать. На телефон уже отправлял кому-то.
14 phillll
 
29.06.16
17:05
(12) ну это немного не то, как мне кажется. Я бы нафантазировал так. К примеру, человек задает вопрос. Пусть будет галочка "платно в том числе". То есть платность как бы опционально. Далее вопрос оказывается в платной ветке, в обычной тоже остается.

Автору отвечают, если в бесплатной ветке то отвечающий может галочку поставить, что вознаграждение желательно.

Если вопрос решен полностью или частично, вопрошавший это подтверждает, отмечает лауреатов и с аккаунта ТС на акки консультантов что-то капает, с отчислением куда следует.

Единственно, вопрос суммы, точнее минимальной стоимости. Скорее всего цена должна быть фиксированной администратором, может в зависимости от аккаунта спрашивающего, темы вопроса, может количества ответов, количества консультантов, балльность сложности можно выставлять.... Может и неплохая денежка за месяц-то получиться, кто много знает и любит помогать
15 xxTANATORxx
 
29.06.16
18:00
(14)ичё при этом на бесплатные ветки будут отвечать?
16 Beretta
 
29.06.16
18:04
(14) Тебя Доржи не кусал?