ЗначениеИзСтрокиВнутр(): непонятки с приведением к значению типа #511480


#0 by Злобный Йожег
Есть обработка, которая в перспективе должна производить выборку из БД с определенным интервалом документов и элементов справочников для их последующей загрузки в другую базу (иной конфигурации). База-источник является распределенной, нужные данные извлекаются из нее согласно примеру: . Поскольку база на скуле, получение данных таблицы апдейтов производится с помощью прямого запроса. Далее следует выборка из результата ТекстЗапроса = "SELECT И вот здесь, в цикле, начинаются странности. Некоторые значения метод ЗначениеИзСтрокиВнутр приводит к типу справочников, а некоторые остаются пустыми неизвестного типа. База-источник - ТиС, я так понимаю, других типов данных, кроме справочников и документов там быть не должно. ЧЯДНТ?
#1 by smaharbA
это еще что, ты так можешь еще и в вылет адинес попасть
#2 by Злобный Йожег
Имели прецедент?
#3 by dk
есть еще константы, я так думаю ) --- лениво поискать готовые обработки по парсингу таблицы апдейта? 1с++ есть? если нет, то парси ObjID из 1cv7.dds
#4 by dk
точнее TypeID
#5 by Злобный Йожег
Есть, конечно. Предлагаешь получать все данные сразу в запросе? Идея хорошая, только подскажи, как в этом случае запрос будет выглядеть?
#6 by dk
нет, просто в 1С++ можно получить идентификаторы объектов метаданных, TypeId которые
#7 by Mikeware
ЗначениеИзДлиннойСтрокиБД(<?>) Синтаксис: ЗначениеИзДлиннойСтрокиБД(<Type>,<strVal>) Назначение: метод преобразует из строки внутреннего представления объекта в сам объект, конкретного типа и вида. В отличие от метода ValueFromDBString в данный метод нет необходимости передавать вид объекта, т.к. вид должен содержаться в самой строке внутреннего представления. Формат внутреннего представления: [Kind][ID][Sign] = 13 символов. Возвращаемое значение: (Неопределенный) Параметры: <Type> - (число/строка)  в данный параметр можно передавать тип объекта как в строковом виде, так и в числовом. <strVal> - (строка)  внутреннее строковое представление объекта. Замечание: Внимание! Следите за длиной передаваемой строки, т.к. метод в целях оптимизации не проверяет строку внутреннего представления на допустимую длину равную 13 символам!
#8 by Злобный Йожег
ни фига, одна строка выходит, и та пустая (данных в саой 1Supdts при этом до фига).
#9 by Злобный Йожег
Кто-нибудь может объяснить, почему пример ромикса у меня не срабатывает? Ибо рассматривается еще вариант получения данных из базы минуя механизмы конфы 1С.
#10 by Ёпрст
ээх.. в sql  TypeID - это int в дбф - char соответственно, нужно преобразование _idToStr
#11 by Злобный Йожег
Так что ли? Нифига не дает, значение Рез всегдла пустое.
#12 by Mikeware
он из SQL тащит
#13 by Mikeware
а я б построил доп. таблицу, связвался с ней, да тащил типа так Только что попробовал, работает
#14 by Mikeware
+ И преобразовывать, и конкатенировать можно спазу пряс в запросе, да и с видом связывать тож
#15 by Ёпрст
аа..просто в статью ромикса поглядел.
#16 by Злобный Йожег
увы... та же фигня, что в :( Там поди пробелы нужно отсекать перед тем как вызвать пример в (ну или в запросе конкатенацию делать)?
#17 by Злобный Йожег
Пример давно разобран, если кому интересно, - вот решение. Косяк оказался в строке, передаваемой в ЗначениеИзСТрокиВнутр, она д.б. иметь вид НЕ "{""B"",""0"",""0"","""+тип+""",""0"",""0"","""+объ+"""}" (как описанов примере в КЗ), а "{""B"",""0"",""0"",""0"",""0"",""0"","""+объ+"""}" Т.о., получение объектов м.б. произведено следующим, в частности, способом: Запрос = СоздатьОбъект("ODBCRecordset");
#18 by Torquader
Это представление объекта справочник общего вида - тогда и вид и идентификатор живут в последнем параметре внутренней строки (и он тогда 23 символа).
#19 by Злобный Йожег
В 1SUPDTS попадают ID объектов БЕЗ вида
#20 by Torquader
Так у документов ID в едином пространстве, а вот у справочников серии ID свои для каждого справочника - а как система их потом разгребает ?
#21 by Гость2
Спасибо за ссылку. уже довно ищу это.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С