#0
by FarFar
Ситуация: есть 1С 7.7 и есть 1С 8.0, в которую перетягиваю остатки. Для того, чтобы ускорить загрузку, хочу хранить в таблице значений COM-объекты - элементы справочника 1С 7.7. То есть, грубо говоря, в таблице 2 поля: "ОЛЕ" и "Ссылка8". В "ОЛЕ" запихивается Com-объект, в "Ссылка8" - ссылка на соотвествующий ему элемент справочника в восьмерке. Проблема: не могу заставить восьмеру искать ОЛЕ-объект в этой таблице значений. Для простоты беру случай, когда в табличке всего 1 строка. В ней ТОЧНО тот самый ОЛЕ-объект, который я хочу найти. Но и мЭлементы78 = тзЭлементы78.НайтиСтроки(Новый Структура("ОЛЕ",ОЛЕ)) возвращает массив с .Количество=0 , и стзЭлемент78 = тзЭлементы78.Найти(ОЛЕ,"ОЛЕ") - строку Неопределено. Пробовал и запихивать в табличку ОЛЕ.ТекущийЭлемент , и что вообще только не пробовал - не помогает. Ужасно не хочется делать составной индекс, типа ОЛЕ.Вид+"/"+ОЛЕ.Код, так как в этом случае каждый раз придется обращаться к ОЛЕ через точку ,что долго. Если б в таблице можно было найти по ОЛЕ - все было бы идеально. Самый прикол, что недавно мой знакомый запихивал в табличку ОЛЕ-объекты - документы, и восьмера НАХОДИЛА нужный через НайтиСтроки. В 4 глаза смотрели мою ситуацию - не нашли бага. ХЕЛП!
#2
by vde69
1. храни в 2 разных таблицах (7.7 и 8.0) 2. для поиска элементов 8 (справочники, документы) используй уникальный идентификатор (хотя не знаю бутет-ли искать как по реквезиту) 3. можно попробовать искать запросом (всетаки таблица)
#3
by FAR
to Волшебник: Если буду использовать Соответствие с примитивным ключом - все-равно придется каждый обращаться к семерочному объекту через точку: ОЛЕ.код Именно этого я хочу избежать! Вся суть в том, что хочу, получив очередной ОЛЕ - объект через ПолучитьСубконто, сразу же понять, что это такое в восьмерке.
#6
by vde69
OLE передает только приметивные типы, поэтому формируй таблицу значений в 7.7 и осуществляй поиск тоже в 7.7 (через OLE) а ипользуй в 8.0 уже готовые результаты поиска
#7
by FAR
to fixin: думаю, это будет не быстрее, чем обращаться к ОЛЕ через точку. to vde69: что ты имеешь ввиду под словами: ОЛЕ передает толко примитивные типы??? Ты же получаешь СОМ-объект, в котором дофигища атрибутов. Где ж тут примитивизм? А насчет формирования тз в 77 - да, этот вариант, возможно покатит. Замечание к обсуждению: если после добавления строки в таблицу, типа: СРАЗУ выполнить тзЭлементы78.Найти(ОЛЕ,"ОЛЕ") - он НАХОДИТ! А если выполнить после нового получения этого же ОЛЕ из семерочной базы, то уже не находит.
#8
by vde69
да в том-то и дело, что то-что ты видиш как обьект оле находиться в 7.7 и его не существует в клиенте, у тебя есть только доступ к оле серверу и ссылка на обьект. то-есть если у тебя две одинаковых базы 7.7 и в одной ты нашел элемент База.НайденнаяНоменклатура, то следующей код будет ошибочным поскольку обьект База.НайденнаяНоменклатура из другой базы, а вото с приметивными типами прокатит Поэтому ты и найти не можешь, поскольку обьект не существует в твоей базе
#10
by FarFar
to vde69: пример интересный, но отвлеченный, поскольку у меня то база 1С 7.7 одна. Просто один и тот же элемент справочника ,взятый по ОЛЕ второй раз - видимо считается другим объектом.
#11
by vde69
нет не так, еще раз оле НЕ передает обьекты сложного типа (он этого просто не умеет) поэтому ДЛЯ КЛИЕНТА ОЛЕ - это ссылка на обьект ОЛЕ сервера и ОБЬЕКТА ОЛЕ просто НЕСУЩЕСТВУЕТ для клиента
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Быстрый поиск в таблице значений
- По умолчанию при нажатии Ctrl-F поиск настроен на поиск по текущей колонке
- В Проводнике не работает Поиск!?! при нажатии на Поиск процесс зависает, справа как
- Что быстрее? Поиск в таблице значений, соответствии или прямой поиск в базе?
- Поиск в УФ как програмно отключить поиск?
- 1С 8.3. Что быстрее - поиск по коду в справочнике или поиск в ТЗ
- 1С:Предприятие 8.1 УТ 10.3 Как Поиск по штрихкоду поменять на поиск по коду?
- v7: Поиск строк в таблице, аналог функции НайтиСтроки()
- Надо произвести поиск в таблице типа ДанныеФормыКоллекция
- Поиск по таблице значений в 1С 8.2
В этой группе 1С
- Обработка Export.ert, Import.ert
- А может хранилище конфигурации располагаться на SQL сервере
- Где семерка SQL версия хранит параметры коннекта к базе
- Как правильно работать с забалансовыми счетами?
- Удаленная разработка
- Как лучше организовать учет инструмента в производстве?
- Автоматическая загрузка 1cv7.md
- Запуск 1С с пропуском заставки.
- V.8 Передача параметров расшифровки в Отбор стандартного отчета
- Некорректно работает НайтиПоРеквизиту
- Загрузка данных в табличную часть документа
- v8: В диаграмме не показываются имена точек и серий, а если и показываются, то..
- Помогите с Epson LX300+.Как убрать лишний прогон листа?
- Конфигурация для учета проката лыжного снаряжения
- Как сохранить таблицу для ввода данных в Excel?
- ТиС. Реализация с нескольких складов одним документом.
- Графа отбора в журнале - два реквизита одного дока
- текст в таблице, как развернуть вертикально...
- Тесты по платформе 1С 8.0
- Как из 1С:Предприятие 8.0 отправить на печать документ "Word"?