#0
by Diter
Добровго всем времени суток. Коллеги, такой вопрос. Возникла необходимость обращаться к другим базам по ОЛЕ и через запрос получать данные (продажи товаров). Расковыряв всё, что нашёл у себя по этому вопросу уяснил, что основные проблемы возникают с передачей значений реквизитов (условий) при формировании запросов. И если с датами (периодом запроса) всё просто, то вот на условии типа "|Условие (Товар в СписокТоваров); я споткнулся. Дело в том, что в найденом примере меняется глобальник базы ОЛЕ. Мне это нежелательно т.к. баз много и не все обслуживаю я. Кроме того, часть баз вообще находится в другом месте - они периодически передаются на компактах в центральный офис. Сломать систему такого "обмена" пока не удаётся. Теперь вопросы : 1. Как можно извернуться и передать этот самый список. 2. База по ОЛЕ открывается в монопольном режиме. Если вдруг обработка выбивает ошибку - процесс зависает. Приходится или снимать в ручную или перегружать тачку. Как "отпустить" базу ОЛЕ если произошла ошибка при выполнении обработки чтения данных из этой базы. Спасибо за внимание
#3
by Фокусник
по ОЛЕ можно передать только текст, число и дату :) соотв. СписокТоваров можно только сформировать в самой прицепленной ОЛЕ...
#4
by Diter
А вот такая фишка - в базе ОЛЕ может и не быть того товара, который есть в "центральной". Как тут быть? Т.е. например - группа есть, но её состав "не полный"...
#5
by Груздь
Разумеется ... Наверняка в глобальнике полно дряни, на данный момент ненужной ... Да и на крайняк можно потом переприсвоить ей первоначальное значение ...
#6
by Diter
Во во а как? В текущей базе я его формирую запросом, исходя из установленных условий (списрок групп и элементов в множественном подборе). А в ОЛЕ как?
#10
by Rovan
В ОЛЕ придется писать функцию в глоб модуле, которая будет восстанавливать там (у себя) этот спискок по переданным в нее ИД объектов
#16
by Diter
Можно ли получив список запросом к справочнику базы ОЛЕ в текущей базе передать его в качестве условия к запросу в оле базу? Т.е. если я получу список товаров запросом к базе ОЛЕ будет ли он доступен в запросе к регистрам этой базы?
#19
by Diter
Ну и ладно. Я действительно первый раз работаю с ОЛЕ - мне простительно.... Ну не хочется ковырять глобальники других баз. Ну никак..... ОК. Проблему № 2 кто нибудь поможет решить?
#21
by Груздь
Нужно написать обработку без ошибок. А в процессе отладки, это обычное дело ... Отладчиком, когда к данным оле базы обращаешься, вообще лучше не пользоваться ..., почти 100% зависон базы обеспечен ...
#22
by Diter
А как быть с прерываением работы обработки по ESC? Если это сделать до момента запроса или во время его формирования - 100% будет ошибка
#24
by ШтушаКутуша
если не хочется менять глобальник,а нужно то поработай компонентой ActiveMD-добавь нужную переменную и перед выполнением проверь не грохнули ее твои коллеги,а насчет зависания,то поройся на там было што то наподобии и обрати внимание на переменные в которых ипользуются объекты OLE DB, все аккуратно должно быть зачищено,ну а про Попытку КонецПопытки, ты и сам знаешь
#29
by Valery
Если список содержит только строковые значения, то можно в одной базе сделать ЗначениеВФайл, а в другой ЗначениеИзФайля.
#31
by Diter
Список содержит элементы справочника. База и 1С-ка не SQL мне проще тогда тупо выгружать данные из одной базы в файл а в другую их втягивать
#33
by Diter
привет всем. Значится так - решил всётаки править глобальники баз. Список заполняю, а условие не срабатывает - ругается на ошибку. Вот текст запроса
#35
by Diter
элементы справочника. Список формируется в базе ОЛЕ и там же храниться в глобальной переменной
#37
by Valery
Элементы справочника из другой базы не передашь. Можно только значения типа строка, дата, число.
#39
by Diter
это я знаю. Я их не передаю. Список формируется в базе ОЛЕ до того, как идёт запрос. В примере было описано именно так как я сделал.
#41
by Груздь
Он обязательно должен чем то отличаться от запроса к текущей базе ..., чтобы 1с-ина могдла узнать к какой базе ты его задумал делать ...
#42
by Diter
Я его создаю в разных местах (по условию). Или ты хочешь сказать, что объекты по разному называться должны? Тогда почему локальный запрос выполняется на ура? и ошибку кидает именно на условии. Причём ошибка явно "олевская". Типа ".... 1С Предприятие Ошибка .....". Локальные без этошл слова "1С Предприятие" вылетают
#47
by Valery
Передай из ОЛЕБазы наименования элементов справочника. Затем найди по наименованию элементы справочника в локальной базе и сформируй из них список. Потом этот список можно вставить в запрос.
#49
by Diter
Какого? Он и так у меня в локальной базе есть. Я наоборот трахался, чтобы его в базу по ОЛЕ передать
#50
by Не люблю
видишь, в 49 то самое о чём я говорил в 48 ;-)... Дитер, не переживай сильно, это не всем дано... ПТУ закончил? Я ВМК, к примеру...
#52
by Не люблю
Из этой функции можно понять, как надо делать... ... Если Выбран1=0 Тогда Выбран1=Нет;Иначе Выбран1=Да;КонецЕсли; Если Выбран1=0 Тогда Выбран1=Нет;Иначе Выбран1=Да;КонецЕсли;
#53
by Diter
нфига не понятно. Вот какую ошибку пишет 1С ЗапросПоОле.Выполнить(ТекстЗапроса); {F:БАЗЫ КЛИЕНТОВДОМОВОЙМОЛОДЁЖНЫЙЛОГИСТИКА 2EXTFORMSПРОГНОЗИРОВАНИЕ 2.ERT}: 1С:Предприятие: Условие (Товар в СписокДляОле <<?>> ); Запрос[6] : Ошибка в выражении 'СписокДляОле'
#55
by Diter
Какие конкретные выражения можно использовать в запросе по ОЛЕ если мне нужно отобрать по списку?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Как определить, потребует ли 1С 7.7 (dbf) переиндексации при запуске?
- Не идет выгрузка в МОД через ФТП
- v8: Как создать OLE 8-й версии?
- Ошибка при записи базы
- Камин 1.2 где выставляется режим УСН?
- Можно ли программно записать документ из его формы
- Работа с наборами прав (V7)
- Как найти все ссылки в метаданных на элемент справочника?
- CODEBASE ERROR #40
- Торговля 7.7: как ввести двух контрагентов с разными КПП и одинаковыми ИНН (одно
- Как лучше сохранять настройки(строки, колонки, оформление) сводной таблицы?
- В форме списка отсутствует кнопка "Иерархический просмотр"
- автохозяйство 7.7
- Сторно по взаимозачету
- Свернуть таблицу в Экселе
- формирование таблицы списания товаров
- Незнаю, что скачал по 1С ТиС 938. Не работает. Помогите.
- Формирование проводок
- Отчет План-фактный анализ
- Нужно передать длинную строку через ОЛЕ