|
При выполнении запроса через COM, ссылка на владельца банковского счета всегда NULL | ☑ | ||
---|---|---|---|---|
0
ru_vadik
20.04.20
✎
15:15
|
Добрый день уважаемые.
1С 8.3. У меня задача вытащить из 1С список банковских счетов. Пробовал двумя разными запросами: ВЫБРАТЬ БанковскиеСчета.Ссылка КАК Ссылка, БанковскиеСчета.ПометкаУдаления КАК ПометкаУдаления, БанковскиеСчета.Наименование КАК Наименование, БанковскиеСчета.НомерСчета КАК НомерСчета, БанковскиеСчета.Банк КАК Банк, БанковскиеСчета.ВидСчета КАК ВидСчета, БанковскиеСчета.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств, БанковскиеСчета.Владелец КАК Владелец ИЗ Справочник.БанковскиеСчета КАК БанковскиеСчета или ВЫБРАТЬ БанковскиеСчета.Ссылка КАК Ссылка, БанковскиеСчета.ПометкаУдаления КАК ПометкаУдаления, БанковскиеСчета.Наименование КАК Наименование, БанковскиеСчета.НомерСчета КАК НомерСчета, БанковскиеСчета.Банк КАК Банк, БанковскиеСчета.ВидСчета КАК ВидСчета, БанковскиеСчета.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств, ЕСТЬNULL(Контрагенты.Ссылка, ЕСТЬNULL(Организации.Ссылка, ФизическиеЛица.Ссылка)) КАК Владелец ИЗ Справочник.БанковскиеСчета КАК БанковскиеСчета ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты ПО БанковскиеСчета.Владелец = Контрагенты.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации ПО БанковскиеСчета.Владелец = Организации.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица ПО БанковскиеСчета.Владелец = ФизическиеЛица.Ссылка Так же, в первом запросе вместо "БанковскиеСчета.Владелец КАК Владелец" писал "БанковскиеСчета.Владелец.Ссылка КАК Владелец" - результат не поменялся. В консоли запросов все работает, у каждого счета есть вледелец, а вот при вызове посредством Visual Basic .NET: query = Helper1C.CreateComObject(databaseName, "Запрос") query.Text = [ ТЕКСТ ЗАПРОСА ] cursor = query.Выполнить().Выбрать() While Convert.ToBoolean(cursor.Следующий()) ... End While В поле "Владелец" всегда Nothing Запросов у нас много, мы не только этот справочник вытаскиваем, однако проблема, пока, встречается только тут. |
|||
1
ru_vadik
20.04.20
✎
16:07
|
Забыл сказать, если данные вытаскивать вот так:
cursor = Helper1C.GetConnection(databaseName).Справочники.БанковскиеСчета.Выбрать() While Convert.ToBoolean(cursor.Следующий()) ... End While то все начинает нормально работать. |
|||
2
Serginio1
20.04.20
✎
18:45
|
При работе с Com обмен проще делать через внешние обработки или расширения
extProcess = handle.ВнешниеОбработки.Создать(@"c:\WRK\CTranslator\DB\ПолучениеКаталога.epf",false); |
|||
3
AAA
20.04.20
✎
19:33
|
Может как-то связано с тем, что Владелец составного типа (Организации, Контрагенты) ?
|
|||
4
Ненавижу 1С
гуру
20.04.20
✎
19:55
|
моё мнение: это связано с тем, что у выборки есть метод Владелец, а в бейсике методы без параметров (сколько я помню) неотличимы от свойств
сделай другой синоним полю |
|||
5
ДедМорроз
20.04.20
✎
20:07
|
На Си нужно флаги получения ставить Dispatch_Method или Dispatch_PropertyGet отдельно.
Если такового нет,то переименуйте Владелец в Lord например,и будет счастье. |
|||
6
ru_vadik
21.04.20
✎
15:44
|
Да, вы правы - нужно было дать другой синоним св-ву "Владелец". Спасибо огромное!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |