Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Получение даты из ТЧ документа через COM
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Vofka
Выполняется запрос к базе, подключенной через COM (назовем её Источник). В Источнике есть функция

Функция ПолучитьРезультатЗапросаВТаблицуЗначений(ТекстЗапроса) Экспорт
    
    Запрос = Новый Запрос;
    Запрос.Текст = ТекстЗапроса;
    Возврат Запрос.Выполнить().Выгрузить();
    
КонецФункции


через которую выполняется запрос и возвращается таблица значений (результат запроса).

В приёмнике выполняется запрос к базе:
|ВЫБРАТЬ
|   ДатаХз
|ИЗ
|   Документ.МойДок.ТЧ


В результате ДатаХз имеет пустое значение везде, хотя в источнике она заполнена. Выполняю запрос такого вида:

|ВЫБРАТЬ
|   ДатаХз
|ИЗ
|   Документ.МойДок

т.е. не к табличной части, а к документу - все в порядке.

Может кто в курсе, в чём прикол? Прав хватает на все.
logist
А какую дату нужно получить? Если дату документа ТЧ, то Ссылка.ДатаХз
Vofka
Информация получается из реквизита табличной части. Я выше написал для сравнения, что из реквизита документа дата получается нормально, а из реквизита табличной части нет.
logist
Я правильно понял в документе и в его ТЧ есть реквизит с одинаковым названием?
Vofka
Нет. В документе - есть реквизит А типа дата, который тянется нормально. В ТЧ этого документа есть реквизит Б типа дата, который тянется пустым (хотя запрос в самой базе источнике, не через COM, показывает нормальные данные).
Ardi
Какой тип поля в конфигураторе?
Vofka
Цитата(Ardi @ 10.12.12, 14:12) необходимо зарегистрироваться для просмотра ссылки
Какой тип поля в конфигураторе?

Дата. Изнчально состав даты был Дата, я пробовал и с ДатаВремя, результат тот же.

Создал новый тестовый документ с ТЧ и с реквизитом в ТЧ типа Дата. Работает. А с этим, уже созданным, нет upset.gif . Я это к тому, что это глюк какой-то. Буду шаманить дальше, о результатах отпишу. Но если у кого-то все же есть предположение почему так получается - с удовольствием послушаю.
sava1
по тч.Ссылка присоединяем Документ и из него получаем Дату
Vofka
Цитата(sava1 @ 10.12.12, 14:43) необходимо зарегистрироваться для просмотра ссылки
по тч.Ссылка присоединяем Документ и из него получаем Дату

Нужный реквизит в ТЧ находится. Ещё раз пишу: я для сравнения написал запрос к документу и к ТЧ. С документа тянет нормаль, с ТЧ нет. Но мне надо тянуть реквизит из ТЧ.
logist
Попробуйте выгрузить колонку дата в массив и возвратить массив, если массивом передается, значить проблема в ТЗ (p.s. чего-то думалось, что ТЗ через ком-объект не передается)
pablo
Тестирование и исправление можно попробовать, но уж больно похоже на мелкий трудноуловимый глюк платформы, т.к. ситуация очень зависит от Вашей базы.
Vofka
Кажется понял в чем проблема. Дата была ХХ.УУ.0001. При этом оно скидывало и ХХ и УУ в 01. Попробовал поставить год 0002 - тот же прикол. Попробовал поставить 0999 - его перетянуло уже нормально. Почему так происходит - хз, но вот так вот.

Особо пытливые умы могут повторить эксперимент у себя smile.gif .
pablo
Очередная война форматов? 24000000.gif 79000000.gif
logist
Вероятно проблема в трансформации даты при передаче через ком-объект.
alex040269
Цитата(logist @ 10.12.12, 15:30) необходимо зарегистрироваться для просмотра ссылки
Вероятно проблема в трансформации даты при передаче через ком-объект.

Вполне возможно, как когда-то для меня было полной неожиданностью передача истина, ложь - -1,0. Хотя если вспомнить еще то, что -1 в двоичном виде все 1, то вроде бы все становится на свои места.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.