![]() |
|
1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
Mikhail Volkov 28.05.20 - 09:42 | Например, из командной строки, или ЗапуститьПриложение() не используя COM/OLE-механизмы (базы на разных версиях платформы). Вопрос возник еще в теме Как проверить идет ли обмен данными по Com-соединению? | ||
Mikhail Volkov 1 - 28.05.20 - 10:54 | Смотрел на http://catalog.mista.ru/public/1042208/ обработку "Открытие документов и справочников по ссылке в другой базе только средствами 1С", но там используется команда ПерейтиПоНавигационнойСсылке(GotoURL) доступная, начиная с версии 8.3.14. | ||
Галахад 2 - 28.05.20 - 11:14 | Можно попробовать запускать внешнюю обработку и передавать параметром ссылку на объект.
/Executec:\Ай.epf /C"ссылка" | ||
Greeen 3 - 28.05.20 - 11:24 | (0) Можно базу опубликовать еще и по http ссылке открывать =) | ||
VladZ 4 - 28.05.20 - 11:39 | (0) Для каких целей? | ||
Mikhail Volkov 5 - 28.05.20 - 12:20 | |||
Галахад 6 - 28.05.20 - 12:29 | (5) Хм. При запуске 1С стартует обработка. При открытии обработки надо написать код открытия ссылки из полученных параметров. | ||
Mikhail Volkov 7 - 28.05.20 - 12:56 | (6) Вот и спрашиваю какой код написать? Например, все работают в Альфа-Авто, документы перебрасываются в базу Комплексная автоматизация - в ней делается отчетность. В Альфа-Авто сделали сверку документов с КА, обнаружился несоответствующий документ, нажали по его ссылке, открылся этот документ в КА. Пока это работает с КА1 по Com/OLE на единой платформе 8.3.10 (выше Альфа-Авто до 6 редакции не работает). Переходим на КА2 с другой платформой, и Com/OLE не работает. | ||
ДенисЧ 8 - 28.05.20 - 12:59 | Рисуй свою форму в КА2, получай данные, заполняй форму. После изменения - заливай данные обратно.
И да - от кома уходи. веб/хттп-сервисы наше всио. | ||
Mikhail Volkov 9 - 28.05.20 - 13:44 | (8) В Альфа-Авто рисовать все формы документов КА2, зачем? Может менять в КА2 не чего, не надо, а лишь выяснить по какой причине документ изменен в КА2. Может наоборот, в Альфа-Авто надо что-то изменить... | ||
ДенисЧ 10 - 28.05.20 - 13:46 | (9) Форму нужно рисовать там, где она должна открываться. Если основная работа идёт в КА, то рисовать в КА.
Если в АА, то в АА. | ||
VladZ 11 - 28.05.20 - 14:19 | Мои мысли по этой задаче (т.е. мое личное мнение исходя их опыта работы):
Основная мысль: Открывать объект в другой информационной базе - это полнейший бред. Информационная система - это совокупность данных. Мало открыть документ. Всегда нужно проверить "что-то еще". Поэтому, нужно передать информацию в другую базу и уже в другой базе анализировать или корректировать. Таким образом, я бы решал задачу следующим образом: 1. Передавал в нужную информационную базу ссылки на "кривые документы". 2. В этой информационной базе формировал задачи пользователю (или группе) с указанием проблемного документа. В итоге имеем: 1. Ответственный пользователь оперативно видит список "кривых" документов. 2. Есть возможность организовать контроль над работой этого пользователя. 3. Не нужно заморачиваться открытием объектов других баз. 4. Как результат - более надежный способ корректировки и контроля данных. | ||
Mikhail Volkov 12 - 28.05.20 - 15:05 | |||
НичегоНеПонятно 13 - 28.05.20 - 15:11 | >>Мало ли по какой причине надо пользователю открыть сразу заданный документ: например, письмо прислали со ссылкой.
Это немного другое. Передать в работающий сеанс событие... достаточно костыльное дело, без драйверов и внешних компонент. | ||
Mikhail Volkov 14 - 28.05.20 - 18:35 | Смотрю на http://catalog.mista.ru/public/1042208/ обработку "Открытие документов справочников по ссылке в другой базе с использованием встроенного файла", она сделана под УФ. В базе с обычными формами она не откроется?
Поля: Название окна, База источник - понятно, задается ИмяСервера\ИмяБазы. А вот "Путь объекта ВИБ" - ладно, добавлю поля: Тип объекта, GUID объекта, напишу: Процедура ГуидОбъектаПриИзменении(Элемент) Если ПустаяСтрока(ТипОбъекта) Или ПустаяСтрока(ГуидОбъекта) Тогда Предупреждение("Не задан " + ?(ПустаяСтрока(ТипОбъекта), "тип", "GUID") + " объекта!", 60); Возврат; КонецЕсли; НавигационныйГУИД = Сред(ГуидОбъекта,20,4)+Сред(ГуидОбъекта,25,12)+Сред(ГуидОбъекта,15,4)+Сред(ГуидОбъекта,10,4) + Сред(ГуидОбъекта,1,8); ПутьОбъектаВИБ = "e1cib/data/" + ТипОбъекта + "?ref=" + НавигационныйГУИД; КонецПроцедуры А поле ПолныйПутьОткрытияОбъектаВБазеИсточника как формировать? При открытии написано для примера "D:\Program Files (x86)\1cv8\common\1cestart.exe ENTERPRISE /S ИмяСервера\ИмяБазы /URL e1cib/data/Документ.ИмяДокумента?ref=80cc0050568d6b1711e95b9eabf5385b" | ||
Сияющий в темноте 15 - 28.05.20 - 20:10 | если нужно открыть в другой базе,то запускаем другую базу,в ней обработку,которая через WMI мониторит директорию за файлом,который отрабатывает и открывает форму.
для пользователя будет просто переключение на другую базу,где документ откроется сам | ||
HawkEye 16 - 28.05.20 - 20:49 | (7) если этого документа нет в базе приемнике, его надо туда пригнать, а не городить огород по открыванию документа источника в базе приемнике... в чем кайф смотреть на объекты в виде строки??
а чтобы оперативно пригнать документ, надо написать веб-сервис... а чтобы COM работало на разных версиях, надо на каждую версию сделать свой алиас... на инфостарте статья была на эту тему... | ||
HawkEye 17 - 28.05.20 - 20:51 | (0) а для того, чтобы запустить обработку из команднойстроки, написать батник который стартует 1С, обработку положить в нужный каталог, а при старте системы посмотреть есть ли в этом каталоге обработка и запустить если есть.... | ||
Mikhail Volkov 18 - 29.05.20 - 07:01 | (16) Да, вроде есть методы работы COM на разных версиях платформы, но не OLE. | ||
Mikhail Volkov 19 - 29.05.20 - 10:50 | Смотрю на http://catalog.mista.ru/public/1042208/ обработку "Открытие документов справочников по ссылке в другой базе с использованием встроенного файла", она сделана под УФ. В базе с обычными формами она не откроется? Как запустить обычную базу на УФ? Вчера как-то в УФ открылась.
Перевожу эту обработку на обычные формы, там есть на &НаСервере такая функция: Функция ПоместитьФайлВХранилище(ИдентификаторФормы) Обработка = РеквизитФормыВЗначение("Объект"); ОткрытьОбъектВДругойБазе = Обработка.ПолучитьМакет("ОткрытьОбъектВДругойБазе"); Возврат ПоместитьВоВременноеХранилище(ОткрытьОбъектВДругойБазе, ИдентификаторФормы); КонецФункции У меня в обычных формах ругается: Процедура или функция с указанным именем не определена (РеквизитФормыВЗначение) Обработка = <<?>>РеквизитФормыВЗначение("Объект"); (Проверка: Толстый клиент (обычное приложение))Еще: Процедура ОткрытьВБазеИсточнике(Команда) ПутьКФайлу = КаталогВременныхФайлов(); ПолныйПутьКФайлу = ПутьКФайлу + "ОткрытьОбъектВДругойБазе.exe"; ОткрытьОбъектВДругойБазе = ПолучитьИзВременногоХранилища(ПоместитьФайлВХранилище(УникальныйИдентификатор)); ОткрытьОбъектВДругойБазе.Записать(ПолныйПутьКФайлу);: КонецПроцедуры Ругается: Переменная не определена (УникальныйИдентификатор) Как переделать в обычные формы? | ||
Mikhail Volkov 20 - 29.05.20 - 16:39 | А что делает эта функция: извлекает файл ОткрытьОбъектВДругойБазе.exe из макета, помещает его в хранилище (с ним не работал). Тут же его извлекает оттуда, записывает в КаталогВременныхФайлов(). Может сразу туда записать? | ||
Mikhail Volkov 21 - 29.05.20 - 17:16 | Заменил: ОткрытьОбъектВДругойБазе = ПолучитьИзВременногоХранилища(ПоместитьФайлВХранилище(УникальныйИдентификатор)); на ОткрытьОбъектВДругойБазе = ЭтотОбъект.ПолучитьМакет("ОткрытьОбъектВДругойБазе"); - вроде заработало!
Каждый раз база открывается вновь (если даже открыта), и просит имя и пароль (под Com не просит, если пользователь аутентифицируется под ОС). И Название окна - задал текстом, но в открывшихся окнах с базой КА2 его не вижу? | ||
hhhh 22 - 29.05.20 - 17:46 | |||
Mikhail Volkov 23 - 29.05.20 - 19:01 | (22) Можно, но нужно открывать, искать...
Оказывается в обработке ПолныйПутьОткрытияОбъектаВБазеИсточника не нужен, оставляю пустым - так же работает. | ||
Mikhail Volkov 24 - 29.05.20 - 19:18 | Хочу в обработку добавить кнопочку для выбора Справочника или Документа, сначала Тип, затем конкретный Объект. В УПП, например, есть что-то готовое? | ||
Mikhail Volkov 25 - 30.05.20 - 10:07 | А где формируется заголовок окна открываемой программы? Задал его произвольным текстом, и каждый раз при открытии объекта открывается новое окно с программой? | ||
Mikhail Volkov 26 - 30.05.20 - 13:45 | Где в ERP/КА2 к названию конфигурации добавляется название основной организации? Блин, обработка до 3-х пробелов допускает в имени окна. | ||
Mikhail Volkov 27 - 30.05.20 - 14:15 | |||
Mikhail Volkov 28 - 30.05.20 - 15:45 | Смотрю обработку ГрупповаяОбработкаОбъектов, в ней реквизит ОписаниеТипаОбъектов, при нажатии на нем выбирается тип Справочника или Документа. Скопировал его в свою обработку, нажимаю: показывает все типы объектов, не только Справочники или Документы. Как ограничить? | ||
Mikhail Volkov 29 - 30.05.20 - 19:02 | (28) Процедурой УстановитьДоступныеТипыОбъектов().
А что происходит при нажатии кнопки у реквизита ОписаниеТипаОбъектов на форме? Мне он не нужен на форме. Как сделать, чтобы при нажатии кнопки Объект сперва открылось окно выбора типа объекта, затем окно списка объектов выбранного типа? Выбор объекта из списка объектов выбранного типа выполняется процедурой КоманднаяПанельОбрабатываемыеОбъектыПодборОбъектов(Кнопка) из ГрупповаяОбработкаОбъектов. Но не понял куда помещается выбранный объект? |
|
Список тем форума
|