Цитата:
Изначально опубликовано Andronov
поэтому нарочно поискал определения в сети:
Огромное спасибо за то что заставил поискать по сети.
Получил огромное удовольствие от процесса.
Хотел показать, что типичной master-detail формой в Аксапте является заказы. Хотел продемонстрировать с картинками. Так и не нашел текст с картинками который искал.
Зато нашел кучу текста и с удовольствием читаю.
Вот что думает Microsoft на эту тему.
http://msdn.microsoft.com/library/de...formwizard.asp
Master/Detail Specifies a form that displays a Master record source and a Detail record source linked together. The Master record source is in single record format and the Detail record source is in a Grid (Datasheet) format. When data in a Master record source row changes, the data in the Detail record source automatically changes based on the link between the two.
http://msdn.microsoft.com/library/de...ndowsForms.asp
http://msdn.microsoft.com/library/de...thdatagrid.asp
http://msdn.microsoft.com/library/de...indowsform.asp
http://www.navision-us.com/us/view.asp?documentid=1106
The New Visual Design of Navision
Вот что думает Борланд
http://info.borland.com/techpubs/jbu...terdetail.html
Establishing a master-detail relationship
http://info.borland.com/techpubs/jbu...tamodules.html
http://info.borland.com/techpubs/jbu...resolving.html
А это Сан и Джавой.
http://java.sun.com/blueprints/guide...x.html#1043469
Цитата:
Изначально опубликовано Andronov
В моих определениях Клиент - мастер, Проводки - детейлы. Показывается в гриде элементарно (именно это я и хочу сделать): показывается список проводок, в каждой строке кроме информации о самой проводке есть, скажем, название и адрес клиента.
Так вот. По твоим определениям, ты должен ходить по клиентам, и у тебя должны показываться проводки по каждому клиенту.
Ты же хочешь ходить по проводкам, и чтобы в каждой проводке у тебя показывалось название клиента. Во всех документах это называется лукапом. Так что название вопроса у тебя правильное
Далее.
Твой проект не соответствует диаграмме, а диаграмма не соответствует запросу.
inner join в запросе не подразумевает, что запись в клиентской таблице одна!!!
подумай над этим и многое станет понятно.
чтобы в запросе было явно сказано, что клиент один нужно делать exist join в Аксапте. В аксапте есть такой тип связи. Почитай доку.
Зарпос на T-SQL должен походить на
PHP код:
USE pubs
SELECT pub_name
FROM publishers
WHERE EXISTS
(SELECT *
FROM titles
WHERE pub_id = publishers.pub_id
AND type = 'business')
Причем заметь одну важную штуку! В диаграмме ты указал связь 1:М, причем 1 - у тебя обязательное условие. Меньше, чем 1 запись быть не может на твоей диаграмме. При вводе новой записи в проекте, ты вполне можешь содать запись в MainTable, которая ни с чем не связана.
Цитата:
Изначально опубликовано Andronov
Если я связываю 2 таблицы по внешнему ключу, я найду способ сделать так, чтоб он был уникальным. В любом случае, на запрос это никак не влияет.
Ты, конечно, найдешь способ. А форма? Она то об этом знает?
Сказать ей об этом можно только в запросе.
Вот и вырази запрос так, чтобы ей было сразу понятно.
Постараюсь написать о лукапе и что для этого надо.
Завтра или на выходных...
Еще раз хотелось бы повторить - продумай что зачем и какие варианты имеются.
В основном твоя проблема в том, что ты ПРЕДПОЛАГАЕШЬ, что запись только одна. А Аксапта об этом ничего не знает и она работает исходя из того, что записей МОЖЕТ быть много.