Показать сообщение отдельно
Старый 17.02.2014, 12:08   #13  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,592 / 5222 (182) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 2
Angry Включение конф.ключа добавляет поля со значением null в существующие записи
AX 2012 R2 CU7 (6.2.1000.4501), в настройках (Администрирование системы/Настройка/Лицензирование/Конфигурация лицензии) выключен конф. ключ Главная книга - дополнительно/Консолидация (LedgerAdvConsolidations), потому что на проекте не предполагалось использовать консолидацию. После этого были созданы компании (записи в CompanyInfo), затем на тестовой разноске журнала ГК получается ошибка:
Код:
Поле "IsConsolidationCompany" в таблице "CompanyInfo" не было явным образом выбрано.
(S)\Data Dictionary\Tables\CompanyInfo\Methods\isConsolidationCompany - line 17
(S)\Classes\LedgerJournalTransUpdate\checkConsolidation - line 35
(S)\Classes\LedgerJournalTransUpdate\check - line 17
(S)\Classes\LedgerJournalTransUpdateCust\check - line 84
(S)\Classes\LedgerJournalTransUpdate\ledgerVoucherCheck - line 77
(S)\Classes\LedgerJournalCheckPost\checkJournal - line 405
(S)\Classes\LedgerJournalCheckPost\run - line 144
(C)\Classes\LedgerJournalCheck\main - line 49
(C)\Classes\FormFunctionButtonControl\Clicked
Круто, стандартный код не был переделан под то, чтобы проверять включенность конфигурационного ключа или хотя бы то, что значение поля было-таки выбрано из базы. Включаю конфигурационный ключ, синхронизируюсь, проверяю - ошибка сохраняется, в обозревателе продолжаю видеть в значении поля "Не извлечено". Это оказалось вполне логично с учетом того, что поля, привязанные к включенному конфигурационному ключу, были добавлены со значением по умолчанию null
Название: DirParty-IsConsolidationCompany.png
Просмотров: 2382

Размер: 2.7 Кб
Лечится это явным прописыванием значений в новые поля, но в целом ситуация неприятна: получается, даже если бы стандартный код работал корректно и все заранее проверял, то после включения конфигурационного ключа (скажем, решили-таки использовать консолидацию на уже работающей системе) можно огрести проблем из-за того, что значение по умолчанию у новых полей - не "пустое" значение для соответствующего базового типа, а null. Интересно, кто-нить еще с таким сталкивался, или это только мне так повезло?