![]() |
![]() |
|
открыть форму не записанного документа. | ☑ | ||
---|---|---|---|---|
0
bublick_mag
22.12.19
✎
19:09
|
Задача следующая.
я из одной базы подключаюсь путем ком соединения, для того чтобы в форму обработки вывести список всех документов. Дальше я 2 раза щелкаю по любому документу и у меня открывается в новой форме обработки подробная информация по документу, в нем есть тч и реквизиты формы. В форме с подробными данными есть, кнопка - создать документ по 1 номенклатуре. и вот тут проблема Клиент хочет чтобы открывалась форма документа, она была внутри заполнена данными той номенклатуры, по которой захотел сформировать документ, тч и реквизиты. И в свою очередь, хочет сам решать записать ему этот документ, провести, или вообще выйти и ничего не делать. у меня как раз этот момент и не получается, как быть? ( элементы конфигурации на поддержке: документы, справочники и тп.п) Я пробовал через ОткрытьЗначение(); - но потом сообразил, что документ нужно сначала записать, а потом сюда передать. пробовал через получитьФорму - у меня в строчке КопироватьДанныеФормы(ДанныеФормы, ФормаОбъекта.Объект); по отладчику данными внутри есть(реквизиты формы, и тч заполнена) и когда наступает ФормаОбъекта.Открыть(); - то он открывает форму, но строчки тч пустые- у меня отображается 1 строчка(которая мне нужна) и она полностью пустая. Случайно нажал на провести документ, данные тч появились. Я в замешательстве, что как победить такого рода открытие формы (( |
|||
1
Garykom
гуру
22.12.19
✎
19:18
|
Идеальный вариант решения это посоветовать клиенту другого программиста (выше уровнем) а самому отказаться от заказа, который вы не можете очевидно выполнить.
|
|||
2
Garykom
гуру
22.12.19
✎
19:20
|
И да, не надо использовать COMConnector для 8-ки это устаревший и кривой метод.
Особенно не для разового переноса данных в тепличных условиях на компе разработчика (это еще допустимо) а в продакшене на ресурсах клиентов, где может быть что угодно и как угодно. |
|||
3
bublick_mag
22.12.19
✎
19:24
|
Передавать задание другому программисту, всегда можно, но хочется самому выполнить заказ, даже с помощью сообщества.
|
|||
4
RomanYS
22.12.19
✎
19:24
|
(0) Если все данные есть на клиенте, можно непосредственно изменять поля и ТЧ основного реквизита формы:
Форма = ОткрытьФорму(....); Форма.Объект.Контрагент = ...; СтрТЧ = Форма.Объект.Товары.Добавить(); СтрТЧ.Номенклатура =...; |
|||
5
bublick_mag
22.12.19
✎
20:37
|
(4) метод клево работает на реквизиты формы, но элементы тч по какой-то неведанной причине, не отображаются >_<
|
|||
6
palsergeich
22.12.19
✎
20:47
|
(5) Потому содержаное ТЧ нужно из ком объектов переделать в объекты этой ИБ
|
|||
7
bublick_mag
22.12.19
✎
20:52
|
с ком объектами проблем ни каких.
Я будучи дома, сделал обычную обработку, где получаю список всех сотрудников в тч обработки, потом по кнопке, я самого первого сотрудника, хочу добавить в тч документа - табель . и открыть форму этого табеля. Ситуация аналогичная. К слову, могу через файлообменник, прикрепить свою домашнюю обработку с сотрудниками, может быть я где-то по тупому облажался, я уже хз что думать |
|||
8
acht
22.12.19
✎
21:09
|
(7) > Я будучи дома
Вот с этого различия и начинаются. А у клиентов внезапно коннектор не зарегистрирован, не той битности, не той версии и т.п. Причем на каждой машине что-то свое интересное и уникальное. |
|||
9
acht
22.12.19
✎
21:13
|
Что насчет (6)?
|
|||
10
bublick_mag
22.12.19
✎
21:35
|
(9) от ком объектов избавляюсь, и остаются только данные ИБ
|
|||
11
RomanYS
22.12.19
✎
21:40
|
(5) Значит на форме не ТЧ, а какая-то промежуточная таблицы формы. Типовая? Какой документ?
|
|||
12
acht
22.12.19
✎
22:32
|
А попробуй дернуть метод Обновить() у этой таблицы формы
|
|||
13
Сияющий в темноте
22.12.19
✎
22:58
|
кстати,еслм у вас ЗУП,то там стандартно,что на экране одно,а хранится это все по-другому.
вообще,надо начинать с того,что через ComConnector вообще форму документа не открыть,так как некому открывать. тут или через Com вызывать Application,то есть нормальный сеанс к базе или внешнюю обработку запускать на той базе,в которой мы хотим что-то менять. то,что многие считают Com устаревшей технологией,это не значит,что есть что-то лучше - все,так называемые,современные методы требуют дописывания чего-то в базу или публикации ее на web-сервере,что,на самом деле,сложнее,чем Com. |
|||
14
acht
22.12.19
✎
23:11
|
(13) Судя по всему он просто получает какие-то исходные данные через COM. А потом пытается открыть локальную форму, набив ее локальными же данными, полученными по данным из COM-соединения
> ,что,на самом деле,сложнее,чем Com. Угу. И внезпно дает ровно одну точку отказа - публикацию. Вместо граблей COM, тщательно разложенных на каждой машине. Ну про разные версии плтаформы уже стыдно напоминать... |
|||
15
bublick_mag
22.12.19
✎
23:24
|
(13) все шаманю в ерп.
|
|||
16
bublick_mag
22.12.19
✎
23:24
|
(12) надо попробовать
|
|||
17
Сияющий в темноте
23.12.19
✎
09:07
|
(14) не только,грабли могут быть в настройке firewall и ip-маршрутизации.
просто,в этих реалях Com часто тоже не жилец. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |