|
12.07.2019, 11:49 | #1 |
Участник
|
Для решения каких задач могут потребоваться ОДНОВРЕМЕННО и dynalink, и link на одном датасорсе?
Смотрю я в код и думку гадаю...
Либо я чего-то не понимаю, либо одно из двух. Для решения каких задач могут потребоваться ОДНОВРЕМЕННО и dynalink, и link на одном датасорсе? Я понимаю, что так программистам ядра удобнее. Но Dynalink существует давно, еще с домайкрософтовских времен. Тогда вроде старались делать для разработчиков бизнес-логики. Зачем создатели Аксапты сделали два набора методов для работы с линками и с диналинками? |
|
12.07.2019, 12:33 | #2 |
Участник
|
Легко.
Сам такое использовал. Был пример, кажется с адресами. Формочка DS1 inner join DS2 При открытии формы анализировался args.Record() и вешался dynalink между args.Record() и DS2. Link был изначально между DS2 и DS1 из-за inner join |
|
12.07.2019, 12:56 | #3 |
Участник
|
Господи...
обратите внимание, в вопросе нет "можно ли сделать?", в вопросе нет "как сделать". В вопросе нет даже "делали ли вы сами". Можно я повторю вопрос? Цитата:
Для решения каких задач могут потребоваться ОДНОВРЕМЕННО и dynalink, и link на одном датасорсе?
|
|
12.07.2019, 13:13 | #4 |
Участник
|
А вы с какой целью интересуетесь ?
Я думаю можно много разных задачек напридумать. Это же просто инструмент. |
|
12.07.2019, 14:22 | #5 |
Участник
|
Цитата:
Почему два набора методов? Тут два ответа, во-первых линк и дайналинк это разные сущности - линк связывает два источника данных внутри запроса, дайналинк, связывает источник данных с буфером записи не обязательно входящим в запрос. Во-вторых, наверное, было проще приделать методов к существу классу на C++ чем сделать коллекции links и dynalinks с одинаковым набором методом кроме добавления - там все так. |
|
13.07.2019, 07:13 | #6 |
Участник
|
Чтобы понять. Как всегда.
ну, хоть одну? Цитата:
Сообщение от belugin
Чтобы динамически связать форму с формой в которой квери содержит джоин. Например открываешь форму номенклатуры из нее видишь спецформу где сроки инвойсов вместе с информацией из самих инвойсов. Перемещаясь по номенклатуре меняем фильтр по ней по строкам. У строк линк на инвойсы и дайналинк на буфер айтема номенклатуры.
связь датасорса с датасорсом на этой форме с типом Delay - dynalink связь датасорса с датасорсом на этой форме с остальными типами - link одновременно на одном датасорсе то когда они требуются? |
|
13.07.2019, 08:25 | #7 |
Участник
|
|
|
13.07.2019, 08:38 | #8 |
Участник
|
Нет там примера где dynalink и link требуются ОДНОВРЕМЕННО на одном датасорсе.
Цитата:
Код: внешняя форма └датасорс: номенклатура спецформа └датасорс: строки инвойсов (dynalink: номенклатура) └датасорс: шапки инвойсов (link: строки инвойсов) Если я чего не понимаю, раскрой свою мысль подробнее. или просто приведи скриншот с запросом напомню свой вопрос полностью: Цитата:
Для решения каких задач могут потребоваться ОДНОВРЕМЕННО и dynalink, и link на одном датасорсе?
|
|
13.07.2019, 09:02 | #9 |
Участник
|
Код: спецформа └датасорс: строки инвойсов (dynalink: номенклатура) └датасорс: шапки инвойсов (link: строки инвойсов) Ок. Пусть так. Теперь нам надо использовать эту удобную форму но вызывать ее из формы поставщиков. Мы в init добавляем addDynalink на шапки инвойсов и шапки линкуются к строкам через линк а к поставщикам через дайналинк. |
|
13.07.2019, 14:56 | #10 |
Участник
|
Не думаю, что тут какая-то серьёзная задумка архитекторов.
Понятно, что связь между датасорсами разных форм (dynalink) и inner (и аналогичными) связями между датасорсами одной формы несколько разные и тут различие между dynalink и link есть. Но внутри формы со связями типа delayed (и аналогичными) большой разницы между двумя линками не особенно важна. На мой взгляд, внутренности для этих случаев внутри формы одинаковые, поэтому реализовано одним кодом, соответственно и программный интерфейс общий и использование того или иного способа просто разделяется концептуально, а не как-то жестко по правилам. |
|
13.07.2019, 15:13 | #11 |
Участник
|
думаю, что все делали какие-то такие формы.
могу даже предположить что это формы, связанные с DirParty или с сопоставлением (custVendSettlement). это не ответ и не критерий. поэтому вопрос сформулирован так как сформулирован Цитата:
возможно. можно зайти с другой стороны - есть ли аналог Dynalink в других системах/фреймворках? Если нет, то как обходятся без него? |
|
14.07.2019, 13:22 | #12 |
Участник
|
Цитата:
В Дельфи тоже можно было так делать ближе к тому как источники данных в аксапте связаны - у дитейла (насколько я могу помню, там как раз линков не было, одни дайналинки. Хочешь сложный квери - пиши sql ) http://delphiru.ru/databese/312-master-detail-tquery |
|
13.07.2019, 22:10 | #13 |
Administrator
|
Dynalink в том виде, в котором он был задуман в ещё домикрософтовской Аксапте - по определению не может работать в D365FO, т.к. в D365FO нельзя в одном окне браузера открыть две формы.
Но (!!!) Механизм Dynalink преобразовался в механизм автообновления Form Part, которых на форме может быть много. Поэтому отвечая на вопрос - есть ли аналог механизма Dynalink, который остался в D365FO в других системах / фреймворках - можно ответить - да, конечно есть. Как минимум в тех случаях, когда есть что-то аналогичное Form Part. К примеру, если включить в Word-е область навигации, то перемещаясь по страницам - можно увидеть, как перемещается выделение по области навигации. В некотором смысле - это аналог Form Part-ов в D365FO
__________________
Возможно сделать все. Вопрос времени |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|