Показать сообщение отдельно
Старый 31.10.2011, 12:34   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Да, будут проблемы переноса существующего функционала.
Причем очень нефиговые: если, к примеру, раньше можно было для заполнения просто записать значение в поле, то теперь придется выбирать текущую запись, менять ее и дергать код наподобие InventDim::findOrCreate().
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Да, надо будет постоянно в запросах "приджойнивать" табличку комбинаций.
а еще в куче мест кода появится что-то вроде InventDimParm
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Но зато теперь можно будет взять и добавить аналитику Клиент / Проект / Договор / Юрлицо - ссылаяся напрямую на справочник
С одной стороны, это здорово - иметь такую возможность чисто технически, но с другой, польза от дополнительных аналитик появляется лишь тогда, когда их кто-то заполняет. Кто будет заполнять все эти "субконто"? Если автоматом (по каким-нить заказам это вроде не сложно), это один вариант, хотя и он мне кажется нетривиальным в общем случае. Если же руками, то тут начинается веселуха, как с теми же ГТД: пользователи где-нить ошиблись, затем фарш ндцать раз провернули, а когда пару-тройку недель спустя косяк обнаружится (причем по косвенным признакам, и надо будет еще раскопать, из-за чего данные не сходятся), то прибегут и скажут, мол, надо исправить, а то нам отчетность сдавать, и волшебное слово - "быстро!"
В общем случае (на примере тех же ГТД) можно побробовать перебить данные прямо в LedgerDim в надежде, что новые комбинации аналитик там еще не встречаются, затем надо будет по перекрестным ссылкам найти еще те таблицы, где чихать хотели на подобные заморочки и хранят нужные коды аналитик по значению, а не по LedgerDimId (как те же фактуры применительно к ГТД). Но вот если по каким-то причинам комбинации аналитик, на которые надо переправить данные, уже есть, тады - ой! Потому что получается, что для исправления данных надо будет либо вообще весь фарш обратно проворачивать и потом закатывать все как надо, либо надо будет во всех связанных проводках как-то хитро перебивать LedgerDimId, а это уже на два порядка более трудоемкая и опасная с точки зрения сохранения целостности данных задача.
Я уже не говорю про такие мелочи при добавлении своих "субконто", как проверки допустимости их комбинаций (чтоб субконто-договор относился к тому же субконто-контрагенту или чтоб срок его действия покрывал дату проводки). Да и вообще, у меня идеи с навешиванием кучи фин.аналитик ассоциируются в первую очередь с желанием бухов строить оборотки по счетам ГК в самых разнообразных разрезах, хотя, может, где-то это на самом деле нужно. К примеру, была какая-то законодательная замута с тем, чтобы ограничить макс. сумму наличных оплат по одному договору. Если бы сделать договор фин.аналитикой и корректно ее заполнять, то технически реализовать это было бы проще простого.