Самописка. Открыть форму через com соединение #734198


#0 by anisa8310
Добрый день! Самописка. 1С:Предприятие 8.3 (8.3.5.1443) Пытаюсь подключиться через com к файловой базе и получить форму списка. Пока тренируюсь: &НаКлиенте Заранее всех благодарю за внимание!
#1 by vde69
COM - не оперирует оконными обьектами
#2 by Господин ПЖ
>Пытаюсь подключиться через com к файловой базе и получить форму списка.
#3 by ShoGUN
Описание COM интерфейсов 1с почитай, для начала.
#4 by anisa8310
угу
#5 by бомболюк
ну а почему сразу нельзя? если использовать "v8x.Application" то формы модально прекрасно открываются ;-)
#6 by ДенисЧ
Расстрелять за такое решение.
#7 by Господин ПЖ
апликейшен != com
#8 by ShoGUN
С чего бы? Тоже COM, только другой компонент. Automation использует COM.
#9 by ДенисЧ
аппликейшн==оле==ком учи матчасть
#10 by Господин ПЖ
неудачно выразился
#11 by anisa8310
Все нормально! разобралась -не верно выразилась- &НаКлиенте
#12 by anisa8310
да, теперь мне надо из выбрать из списка док. и из его таб части- выбрать всех и поместить в тч своей базы-короче такая задумка) можно и запросом было но! надо же перед тем как выбрать посмотреть на документ то или не то-подразделений очень много и т.д Поэтому открыть форму поглядеть -потом выбрать этот док из списка другой базы и уже запрос отработает и заполнит ТЧ на моей стороне базу и ну там уже другая кухня.
#13 by anisa8310
как теперь установить параметр запроса - текущей строки из полученного списка?
#14 by ShoGUN
Хоспади, Аниса, поставь нормальную фотку :))) Не понял вопроса. В параметр запроса засунуть выбранный документ из списка что ли?
#15 by anisa8310
да, хочу из спискавыбрать как параметр к моему запросу (который сейчас шлифую на строне ЗУПА)) а что фотка соот-ет действительности мототоксикоз вообще то
#16 by anisa8310
в скайпе за то нормальная фотка же? там зубы и фейс есть
#17 by ShoGUN
Проще всего - форму _выбора_ вызывать модально, тогда в возвращаемом значении будет ссылка на выбранный документ.
#18 by ShoGUN
Ты ж не лошадь, зачем мне зубы)))
#19 by anisa8310
Нет не лощадь)
#20 by anisa8310
а как мне её модально тогда вызвать? получить бы только ссылку и установить как параметр в запросе в внешней базе
#21 by ShoGUN
Но только тут надо учитывать, что весь процесс будет висеть, пока открыта форма и док не выбран.
#22 by anisa8310
Документ.абпРасходПоКассе.Форма.ФормаДокумента.Форма}: Значение не является значением объектного типа (NewObject)     Запрос = Соединение.NewObject("Запрос"); застопорилась..запрос на той стороне создать не получаться
#23 by H A D G E H O G s
Привет ДенисЧ.
#24 by ShoGUN
Тип у переменной "Соединение" какой?
#25 by anisa8310
Мне кажется что один раз com объект уже создали и запрос-это тоже com-поэтому что то не правильно делаю:
#26 by anisa8310
ЗапросНовый = СоединениеБаз.NewObject("Запрос");- соединениеБаз-есть соединение com, запрос это тоже com объект
#27 by ShoGUN
Не путай :) V83.Application и V83.COMConnector - это разные объекты, с похожими(но разными!) методами. У тебя СоединениеБаз - булево, поскольку Automation сервер (Automation server) Connect (Connect) Синтаксис: Connect(<СтрокаСоединения>) Параметры: Тип: Строка. Строка параметров (Строка соединения), используемая 1С:Предприятием для соединения с информационной базой. Возвращаемое значение: Тип: Булево. Истина - инициализация прошла удачно, Ложь - в противном случае. Описание: Выполняет соединение системы 1С:Предприятие с информационной базой.
#28 by anisa8310
да еще понятнее стало) Спасибо! Параметр к запросу-выбранный документ не отдается)) запрос работает теперь
#29 by ShoGUN
Точно не отдаётся. Вроде там подвоха нет никакого. Ну, кроме того, что документ со стороны инициатора соединения тоже виден, как COMОбъект.
#30 by ShoGUN
"Точно не отдаётся." => "Точно не отдаётся?"
#31 by hhhh
только примитивные типы передаются. Возвращай номер дату и вид документа.
#32 by anisa8310
Есть подвох: Точно не отдается, ругается. Зуп форма списка открывается- выбрать длокумент можно, затем выполняет запрос и при передаче параметра ругается: "роизошла исключительная ситуация (1C:Enterprise 8.3.5.1443): {(14, 49)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. ВедомостьНаВыплатуЗарплатыВКассуЗарплата.Ссылка <<?>>= &Ссылка "
#33 by ShoGUN
Ей надо передать документ как параметр в запрос к той же базе.
#34 by anisa8310
Если параметр- назначала просто номер, для поверки тогда сообщал мне "com объект" столько раз скольо строк в документе - 3 шт)
#35 by hhhh
наверно ссылку из другой базы фигачите.
#36 by anisa8310
нет ссылка не из другой базы
#37 by ShoGUN
Видимо, модальное открытие не работает, в смысле - значение не возвращает(вместо этого возвращает Неопределено). Проверь через Сообщить;
#38 by anisa8310
к одной подключаемся
#39 by anisa8310
Сообщает (com объект)
#40 by anisa8310
т.е не ссылка значит и параметр отсюда не хочет передаваться
#41 by anisa8310
все пропало шеф
#42 by hhhh
ну посмотрите отладчиком, что там
#43 by ShoGUN
Спакойно :))) Кто ж так делает?   Сообщить(БазаИсточник.String(ВыбранныйДок)); - вот так покажет, что надо. Для базы-клиента все объекты непримитивных типов в базе-сервере будут COMОбъекты. Преобразуй через БазаИсточник.String в строку и смотри, что это.
#44 by hhhh
может так??
#45 by anisa8310
теперь показывает) Ведомость в кассу 77ЗК-000017 от 30.01.2015
#46 by anisa8310
да параметр теперь этот остался если сообщить две фамилии -то вообще здорово)
#47 by ShoGUN
Ну значит выбирается док. Должно работать.
#48 by anisa8310
да сейчас еще проверю))
#49 by ShoGUN
Может ты форму крестиком закрыла, тогда вернётся "Неопределено". Сделай обработку этого.
#50 by anisa8310
Да, пока не пойму почему не сообщает результат запроса-тоже наверное что то с COM-м представлением
#51 by ShoGUN
Ох, Аниса :) Читай, просвещайся :)
#52 by ShoGUN
По COM-соединению можно передать только примитивные типы. Больше ничего и не нужно!
#53 by anisa8310
да комы для меня загадка)) буду читать
#54 by anisa8310
#55 by anisa8310
Вот это не сообщает(
#56 by anisa8310
V8.String(Выборка.Ссылка) так нужно сообщать
#57 by anisa8310
из охоты на Сом ов
#58 by anisa8310
нет не могу получить  выборку в комментарий
#59 by anisa8310
Сообщить("Производится выгрузка  "+ЗапросНовый.String(ВыборкаДетальныеЗаписи.Сотрудник));
#60 by anisa8310
не сообщает в цикле значения запроса
#61 by hhhh
XMLString
#62 by anisa8310
Что? я вот снова решила вернуться к этой задаче почему не сообщает выборку
#63 by anisa8310
сом объект пишет если убрать стринг
#64 by DirecTwiX
Зачем и "V83.Application" и "V83.ComConnector"??? String -> XMLString
#65 by anisa8310
V83.Application-это булево V83.ComConnector - для соединения- а что они друг другу мешать могут?
#66 by anisa8310
String -> XMLString заменит чтоли попробовать
#67 by DirecTwiX
Application может всё, что умеет ComConnector. Чтобы было не булево, а COM, надо писать    Соединение.Connect(Строка);    Соединение.NewObject(...) Последний вариант будет, если использовать ComConnector.
#68 by anisa8310
сейчас попробую убрать лишнее
#69 by anisa8310
нет не получается..
#70 by DirecTwiX
В общем, всё плохо. А в получалось...
#71 by anisa8310
Да, просто параметр не передается почему то, хотя сообщение получаю о выбранном в списке документе.
#72 by anisa8310
Хочу выбрать документ потом получить из него таб часть и заполнить свою таб часть-но вот застряла на одном шаге
#73 by hhhh
в итоге что получилось?
#74 by anisa8310
пока ничего-завтра вернусь к этой задаче) Спасибо!
#75 by D_E_S_131
А в 21-м веке уже запретили данные выгружать в промежуточные (например XML) файлы и использовать их по назначению в других базах?
#76 by anisa8310
нет. только COM и почти бесшовная интеграция)
#77 by anisa8310
Кстати все сделала) работает как часики
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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