Перейти к содержимому


Публикации costas

6 публикаций создано costas (учитываются публикации только с 20-Апрель 23)


#7027 Фильтр данных связанных таблиц по записи из основной.

Отправлено от costas в 13 Май 2011 - 07:09 in Как это сделать

Просмотр сообщенияcostas (13.5.2011, 7:00) писал:

По первому пункту не нашёл ничего на форуме и в документации.
Второй и третий пункт был выявлен опытным путём, но не совсем понятны были критерии фильтрации, не всегда срабатывало почему то, решили что не предназначено для использования, но раз вопрос всплыл то и спросили соответственно.

С сохранением было сразу понятно, но с java script вариант не всегда работает, поле "контрагент" не всегда меняется, нужны более глобальные события, типа добавление связанной записи уже к существующему контрагенту, то есть запись (видимо в контексте таблицы) помимо полей и их свойств, должна обладать рядом событий "до", "после" и тд (тоже самое при удалении, архивации и тд), наличие такой "обёртки" не повредит.
Как вариант возможность сформировать своё поле (вернее содержание для полей/поля формы) преред открытием формы добавления/редактирования записи...
Простое решение напрашивается само, доработайте тип поля "Список", добавьте возможность создания списка на основе связи с другой таблицей, этого будет достаточно.



#7026 Фильтр данных связанных таблиц по записи из основной.

Отправлено от costas в 13 Май 2011 - 07:00 in Как это сделать

Просмотр сообщенияРазработчик (12.5.2011, 11:22) писал:

В документации нет, потому что это нестандартное обходное решение. При необходимости опытный программист может сам догадаться до его реализации, а описывать его менее квалицифированным пользователям достаточно сложно и может только их полностью запутать. Возможно в будущем мы просто доработаем систему фильтров в полях связи.

Вкратце данный способ можно описать так:
1. В программе есть возможность фильтра по полям связи из одной таблицы, например выбор рубрики-подрубрики. Описывалось неоднократно на форуме, в документации возможно тоже есть.
2. По вышеозначенному фильтру можно добавить в счет поля контрагента из подчиненных таблиц "реквизиты" и "адреса доставки", соответсвенно сами реквизиты и адреса будут фильтроваться по контрагенту. Но если просто их добавить - придется выбирать контрагента 3 раза для разных таблиц, что естественно глупо, поэтому эти поля должны быть вычисляемые на основе выбранного контрагента из таблицы "контрагенты". И скрытые естественно.
3. Чтобы сработали вычисления, необходимо пересохранить запись, соответственно нужно добавить яваскрипт на событие "изменение" поля "контрагент", команду на submit формы.

Сами видите что способ довольно трудоемкий и требует соответствующей квалификации и опыта разработчика.
По первому пункту не нашёл ничего на форуме и в документации.
Второй и третий пункт был выявлен опытным путём, но не совсем понятны были критерии фильтрации, не всегда срабатывало почему то, решили что не предназначено для использования, но раз вопрос всплыл то и спросили соответственно.

С сохранением было сразу понятно, но с java script вариант не всегда работает, поле "контрагент" не всегда меняется, нужны более глобальные события, типа добавление связанной записи уже к существующему контрагенту, то есть запись (видимо в контексте таблицы) помимо полей и их свойств, должна обладать рядом событий "до", "после" и тд (тоже самое при удалении, архивации и тд), наличие такой "обёртки" не повредит.
Как вариант возможность сформировать своё поле (вернее содержание для полей/поля формы) преред открытием формы добавления/редактирования записи...



#7025 Фильтр данных связанных таблиц по записи из основной.

Отправлено от costas в 13 Май 2011 - 06:21 in Как это сделать

Просмотр сообщенияРазработчик (12.5.2011, 11:26) писал:

Выше описал уже.
В конкретных планах нет, т.к. не пока не совсем ясно как реализовать универсальный механизм, по крайней мере не обдумывали еще серьезно.
Наверно надо смотреть в сторону AJAX фреймворков в купе с фреймворком на PHP с использованием MVC (если вы избрали PHP в качестве языка программирования), про smarty ничего сказать не могу хорошего, как и плохого, но наши ребята плюются при одном упоминании, да и осадочек остался с былых времён эксплуатации ПО на нём написанного.
Но то, что отстаёте по интерфейсу от многих WEB-ориентированных CRM/Groupware и им подобных, это факт, скажем так - серьёзный минус, который портит картинку.

Вот только изменение кода с переползанием на другой инструментарий слишком затратно, но если смотреть в будущее, где предполагается развитие и дальше, то всё равно рано или поздно придётся что то менять.



#6987 Фильтр данных связанных таблиц по записи из основной.

Отправлено от costas в 12 Май 2011 - 09:21 in Как это сделать

Просмотр сообщенияРазработчик (12.5.2011, 9:11) писал:

На данный момент простым способом это не реализовать, т.к. фильтр по полю можно настроить только для полей связи из одной таблицы. Есть только достаточно сложные обходные решения через скрытые вычисляемые поля, но боюсь на форуме это будет довольно сложно описать.
Объясните каким образом работает фильтр на базе скрытого вычисляемого поля, в документации ничего нет, возможность создать такой фильтр и задействовать его в другом поле есть, какое конкретно значение должно возвращать вычисляемое поле, чтобы данный фильтр работал в другом связанном поле (или не связанном), или это возможность пока не работает?



#6981 Удаление связанных записией

Отправлено от costas в 12 Май 2011 - 05:57 in Как это сделать

Скрытые таблицы - неудалённые записи - это мусор со всеми вытекающими...

Просмотр сообщенияРазработчик (11.5.2011, 15:31) писал:

Опять же возникает вопрос что делать в случае когда вначале были удалены некоторые подчиненные записи, а затем основная. Если при этом удалить и все активные подчиненные записи, то при открытии основной записи в корзине, всплывут все старые подчиненные строки. Если соответственно восстановить потом основную, то все лишние подчиненные записи тоже восстановятся, что совсем ни к чему. Непонятно как отличать одни от других. Текущая схема работает существенно проще.
Достаточно ввести новое поле в таблицу в котором будет значение удалена запись через подчинённую таблицу или самостоятельно, а дальше простая проверка этого поля во всех подчинённых таблицах при восстановлении записи из главной таблицы, по этой же логике если запись удалена через главную таблицы то её не возможно восстановить без восстановления записи из главной, тоже самое касается и архива кстати.

По поводу Вашего решения, посмотрел шаблоны, пришёл к выводу, что можно написать "костыль", а вернее поручить это программисту, и тот напишет (не бесплатно) "костыль" реализующий каскадное удаление (мягкое, полное) и архивацию в соответствии с логикой главная-подчинённая, но тогда простите какой смысл покупать программу и платить программисту чтоб её "допиливать" - обосновать это начальству не возможно, здравый смысл победит...



#6966 Удаление связанных записией

Отправлено от costas в 11 Май 2011 - 13:21 in Как это сделать

Здравствуйте.
Посмотрел Вашу программу (версия 1.9.3), возник вопрос следующего характера:

В программе реализованы связи в виде подчинённых таблиц, при добавлении записей всё чудесно работает, а при удалении записи из головной таблицы, записи в подчинённых таблицах остаются.

Это так задумано разработчиками? Планируется ли в следующих релизах изменение логики работы и приведение в порядок сего дела или есть какое то решение уже сейчас?