Скрыть окно V83.Application #709318


#0 by Jenstel
При создании, особенно на медленных машинах, появляется окно клиента (да ему еще и фокус передается). Это крайне неудобно, т.к. вызов происходит из собственного приложения. Подскажите как сделать выполнение фоном, чтобы окно не отображалось Пробовал 1C.Visible:=False - происходит все тоже самое с отображением окна, а потом оно просто исчезает. Везде в документации указано, что приложение наоборот должно не отображаться на экране.
#1 by butterbean
надо пользоваться ComConnector
#2 by banco
может вам V83.COMConnector нужен?
#3 by Jenstel
Я про него тоже думал, но он ограничен функционалом. Я не профессионал в 1С-программировании и то, что я могу запрограммировать не работает при соединении через ComConnector. Например, не получается сделать ссылку на справочник SprStore := 1C.Справочники.Номенклатура; Метод не поддерживается
#4 by butterbean
а 1С.Catalogs.Номенклатура??
#5 by hhhh
Глобальный контекст (Global context) Справочники (Catalogs) Использование: Только чтение. Описание: Тип: СправочникиМенеджер. Используется для доступа к определенным в конфигурации справочникам. Доступность: Сервер, толстый клиент, внешнее соединение. См. также: СправочникиМенеджер не надо нам лапшу на уши вешать, всё поддерживается
#6 by Jenstel
Метод 'Catalogs' не поддерживается объектом
#7 by DmitrO
Не работает потому что в случае использования ComConnector надо так:
#8 by Jenstel
Так и пробовал изначально, но как и сказал, метод не поддерживается объектом. ComConnector ограничен функционалом, так как создается не полноценное приложение (как в случае работы с Word и Excel через СОМ-OLE), а лишь COM-соединение, которое не может работать с интерфейсным функционалом.
#9 by ДенисЧ
Работать по кому с интерфейсом - дурное дело.
#10 by DmitrO
Клянусь 1Сным богом в нет работы с интерфейсным функционалом.
#11 by DmitrO
1C.Visible:=False; вызывал после соединения (вызова Connect)? Просто если до, то эффекта не будет.
#12 by Jenstel
Естественно после. Как я и написал эффект от него есть, но не совсем тот. После вызова Connect происходит долгое открытие приложения 1C, затем отображение окна, передача ему фокуса, а потом окно просто исчезает. Это очень неудобно для пользователя, который работает в своем MDI-приложении, а вызов  1С происходит из модального окна. Нужно скрыть весь процесс открытия приложения и смены фокуса от пользователя, например, курсором с часами.
#13 by DmitrO
Ну там действительно окно появляется, но на короткое время, иногда его даже вообще не заметно.
#14 by DmitrO
Хотя видимо это зависит от конфигурации 1С.. смотря что делается в 1С при открытии.. Ну тогда все.. либо возможность работать с интерфейсом и мелькание окна на экране, либо работать через ComConnector.
#15 by DmitrO
Может у пользователя под которым соединяешься тупо нет прав на внешнее соединение? После коннекта в переменной 1С COM-объект вообще?
#16 by Jenstel
Про это тоже думал. Права полные Решил проблему по-другому: 1. Создал нового юзера с типом запуска "Обычное приложение". 2. Дал ему нужные права При создании V83.Application как раз происходит фоновая операция открытия клиента и доступен полный функционал. Теперь новая проблема. Как работать с ссылками 1С в Delphi? Допустим, я создаю платежное поручение PP:=Con1C.Документы.ПлатежноеПоручение.СоздатьДокумент; PP.Контрагент := ? Как мне указать ссылку на справочного контрагента, если я знаю его полное наименование
#17 by DmitrO
PP.Контрагент := Con1C.Справочники.Контрагенты.НайтиПоНаименованию(CustomerName);
#18 by Jenstel
С этим спасибо. Еще один костыль. При создании платежного  поручения через COM нет возможности выбрать наш банковский счет (в списке пусто) и создать тоже нельзя "Не указан владелец банковского счета". Что я упускаю при создании ПП?
#19 by DS
Очевидно - указание владельца банковского счета.
#20 by Jenstel
Да. Но создаю я платежное поручение и список счетов у меня уже есть. Мне нужно при создании выбрать. В каком параметре нужно передать владельца банковских счетов (мою контору), чтобы был доступен выбор счетов?
#21 by fyn
вызовите специалиста лучше, а то запорите все и еще на деньги попадете
#22 by Jenstel
Нет необходимости. 12 часов чтения мануалов и кодинга принесли свои плоды. Теперь из приложения возможно автоматом создавать неограниченное количество платежных поручений и других документов за секунду на основе данных в базе, а также, заодно связал программу и с клиент-банками и теперь есть возможность контролировать оплату и движения. Остался только интерфейс, но это мелочи. Всем спасибо за участие.
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

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