Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
21.05.2013, 06:46
|
|||
|---|---|---|---|
Получить номер договора из Реализация ТМЗ и услуг |
|||
|
#18+
Проблема с возвратом значения в OLE-клиента. Запрос первоначальный: Код: sql 1. Вываливается ошибка, о том, что поля ДоговорКонтрагента и Контрагент не удается преобразовать в соответствующие типы ( Could not convert variant of type(Dispatch) into type (String) ). Причина видимо в том, что эти значения берутся из соответствующих справочников. В справочнике контрагентов соответствующий реквизит называется НаименованиеПолное. Правим запрос: Код: sql 1. Теперь название контрагента извлекается правильно, остается ДоговорКонтрагента. Хранится он в справочнике ДоговорыКонтрагентов, где соответствующий атрибут называется НомерДоговора. Переписываем запрос: Код: sql 1. Запрос отрабатывается нормально, но поля НомерДоговора пустые (хотя в справочнике значения есть). В чем может быть проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.05.2013, 08:06
|
|||
|---|---|---|---|
Получить номер договора из Реализация ТМЗ и услуг |
|||
|
#18+
Квази, Видимо реквизит справочника называется не "НомерДоговора". Попробуйте выполнить запрос в самой 1С что он вернет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.05.2013, 13:08
|
|||
|---|---|---|---|
Получить номер договора из Реализация ТМЗ и услуг |
|||
|
#18+
DmitriyZКвази, Видимо реквизит справочника называется не "НомерДоговора". Попробуйте выполнить запрос в самой 1С что он вернет? Выполнял. В 1с нормально выполняется этот запрос: Код: sql 1. 2. Но он выдает ошибку при преобразовании данных в Delphi - видимо потому, что РеализацияТоваровУслуг.ДоговорКонтрагента, РеализацияТоваровУслуг.Контрагент это не простые типы данных, а ссылки на значения справочников. Если в Delphi запрос переписать с использованием ссылок на справочники Код: sql 1. 2. то столбец Контрагент выводится в Delphi нормально, а столбец НомерДоговора выходит пустой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.05.2013, 13:17
|
|||
|---|---|---|---|
Получить номер договора из Реализация ТМЗ и услуг |
|||
|
#18+
Квази, у вас два разных текста запроса приведены. А что даст выполнение второго варианта (того, который через com-подключение пустое поле выдает) непосредственно в Консоли Запросов 1С? А то циклиться на "в 1с ЭТО выполняется, а через дельфи - нет,поэтому дельфям подсовываем другой текст" можно бесконечно. Сравнивайте уж максимально идентичные тексты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.05.2013, 22:52
|
|||
|---|---|---|---|
Получить номер договора из Реализация ТМЗ и услуг |
|||
|
#18+
pailКвази, у вас два разных текста запроса приведены. А что даст выполнение второго варианта (того, который через com-подключение пустое поле выдает) непосредственно в Консоли Запросов 1С? А то циклиться на "в 1с ЭТО выполняется, а через дельфи - нет,поэтому дельфям подсовываем другой текст" можно бесконечно. Сравнивайте уж максимально идентичные тексты. Совершенно верно, тексты запросов разные. Ибо запрос: Код: sql 1. который в Delphi отрабатывает без ошибок, но возвращает пустое поле НомерДоговора, при выполнении в консоли выдает ошибку о том, что не найдено поле ДоговорыКонтрагентов.НомерДоговора. В общем причина проблемы видимо в том, что Delphi не распознает сложные типы 1С и потому в запросе надо явно указывать ссылку на источник, который этот тип возвращает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 08:16
|
|||
|---|---|---|---|
Получить номер договора из Реализация ТМЗ и услуг |
|||
|
#18+
Квази, а вас не смущает, что в "родной" среде запрос выдает ошибку? Добейтесь, что бы запрос в "родной" среде возвращал валидные данные тех типов, которые можно передать через OLE. Тогда и вашей системе он будет нормально работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 09:09
|
|||
|---|---|---|---|
Получить номер договора из Реализация ТМЗ и услуг |
|||
|
#18+
Всё у вас правильно и корректно отрабатывает. 1С в представлении ссылок подставляет "Основное представление" элемента, по этому вы запрашивая РеализацияТоваровУслуг.ДоговорКонтрагента видите значение "стандартный реквизит" Код. Вы же из дельфи запрашиваете реквизит НомерДоговора, который у вас не заполнен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=28&mobile=1&tid=1519831]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
157ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 271ms |
| total: | 524ms |

| 0 / 0 |
