Имя: Пароль:
1C
 
Как узнать имя ЗНАЧЕНИЯ перечисления через Запрос
0 Alexey_Morov
 
18.05.11
20:34
1. Можно 0% (0)
2. Нельзя 0% (0)
3. Можно, но через плохое место 0% (0)
4. Как же так??? 0% (0)
Всего мнений: 0

У меня есть запрос вида

SELECT ВыдачаДенежныхДокументов.ВидОперации
FROM Документ.ВыдачаДенежныхДокументов AS ВыдачаДенежныхДокументов

поле ВидОперации - ссылка на перечисление ВидыОперацийВыдачаДенежныхДокументов.

Мне нужно используя объект Запрос вытащить у ЗНАЧЕНИЯ перечисления:
имя
синоним
комментарий
порядок

Работаю через COM-соединение.
Как же так???

Таким образом вопрос - можно ли вытащить через Запрос эти данные?
28 Alexey_Morov
 
19.05.11
15:21
Лев Михайлович!

Здорово у Вас получилось перехитрить 1С!

Нельзя
96 Alexey_Morov
 
20.05.11
16:32
Как в параметр запроса добавить значение перечисления через COM-соединение?

Т.е.

string request = "SELECT
T.Комментарий,
T.КратностьВзаиморасчетов,
T.КурсВзаиморасчетов,
T.ВидОперации,
T.ВалютаДокумента.НаименованиеПолное
FROM Документ.ВыдачаДенежныхДокументов AS T where (ВидОперации = &p0)";

object oQuery = Connector.CreateObject("Query", null);
               Connector.SetProperty(oQuery, "Text", new object[] {request});
Connector.SetProperty(oQuery, "Text", new object[] { request });

// устанавливаем параметр p0 - ссылку на значение перечисление
object reference = Connector.GetProperty(Connector.Connection, "Перечисления");
                       reference = Connector.GetProperty(reference, "ВидыОперацийВыдачаДенежныхДокументов");
                       reference = Connector.GetProperty(reference, "ВыдачаПодотчетномуЛицу");

Connector.InvokeMethod(oQuery, "УстановитьПараметр", new object[] { "p0",  reference});

Параметр вроде бы добавляется без ошибок, запрос отрабатывает нормально. Но ни одной строки не возвращается. Хотя должны возвращаться строки!

Как правильно загнать в параметры запроса значение перечисления через C#? Читал
Книга знаний: v8: Получение ссылки по GUIDу в COMConnector;
http://help1c.hdd1.ru/index.php?t=38&hl=
v8: перенос даных через COM-соедиенение 1с

Нельзя