Цитата:
Сообщение от
rkorchagin
надо на форме Customer -> Customer transactions - добавить фильтр по display методу - а точнее - сделать existJoin с CustInvoiceJour для определённого значения одного (самодельного) поля в CustInvoiceJour.
То есть когда пользователь вводит (выбирает) что нить в поле фильтра - то сразу к CustTrans в коде добавляется existJoin с CustInvoiveJour - и когда очищает поле фильтра - то CustInvoiceJour удаляется из query.
Когда я прямо в query на форме добавил CustInvoiceJour и пытался выставлять св-ва CustInvoiceJour_ds - то ничего не работало - а используя вышекпомянутый код удаления всё ОК.
Это называется нисколько не думать вперед.
Далее будет следующая задача от пользователей - показать как образовалась сумма в dysplay-поле. В результате вы все равно будете делать кнопку, которая будет открывать форму с CustInvoiceJour.
Дык, вместо того, чтобы по-программистски извращаться и издеваться над пользователями, стоило чуток подумать: людям не нужны "фильтры", людям не нужны датасорсы и людям не нужно удаление датасорсов (они даже слов то таких не знают).
ЛЮДЯМ нужно найти какую-то информацию, чтобы работать с ней (искать, смотреть, печатать).
Что вы сейчас сделали? Вы изнасиловали систему в особо жестокой форме, при этом вы еще НЕ решили задачу ваших пользователей. Вы всего лишь дали поиск по дисплей-полю. Опять же таки - пользователи даже слов то таких не знают. А как будут работать пользователи дальше?
Обратите внимание на постановку задачи - постановка сделана сугубо в программистских терминах. Если перевести постановку на человеческий язык, то пользователям нужно дать возможность искать что-то в накладных. Так?
Причем это что-то вы даете ему из проводок. Зачем так? Может быть дать возможность СРАЗУ открывать накладные (это уже есть в стандартном функционале), каким-то образом фильтровать накладные, а затем переходить к проводкам из накладных (это тоже есть в стандартном функционале).
Может быть я опять чего не догоняю.
Но снова вижу типичный пример совершенно тупого и бесполезного кодинга. Который является результатом соверенно тупой постановки задачи.
(стопудово в оправдание мне будут говорить, что форма CustTrans сильно кастомизирована, на эту форму навешано куча кастомизированного функционала и куча фильтров, в результате эту можно открыть только из клиента, а из остальных мест она не вызывается, а также что пользователи обучены ходить только так... блин, грустно... Поздравляю всех с днем знаний.)