AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.01.2011, 09:36   #1  
greenfin is offline
greenfin
Участник
 
19 / 12 (1) ++
Регистрация: 12.03.2009
Адрес: Ижевск
Производство и настройка ГК
Добрый час, уважаемые господа!
Версия Ax-2009, Rollup 5. При обработке производственного заказа, на стадии завершения, когда производится разноска на бухгалтерские счета Система выдает ошибку (скриншот прилагается).

В параметрах модуля «Производства» в поле «Разноска ГК» выбрано значение «Производственные группы». В данном производственном заказе используется производственная группа, с настройками указанными в скриншоте.

Исходя из ранних версий Axapt’ы (3 и 4 версии), и согласно электронного Help’а содержащегося в данной версии (скриншот прилагается).

Если не указаны счета в поле «Расход» («Приход») производственной группы, то используются счета из номенклатурной группы. Счета учета в производственной группе указаны, но Система к ним не обращается, а выходит в ошибку.
Просил программистов смотреть код. Говорят что нет такого в коде: Если счет не указан в производственной группе, то брать из номенклатурной группы.

Вопрос: это действительно сейчас так сделали в Ах-2009 с Rollup 5 или у нас неверные настройки или в коде плохо смотрели?
Миниатюры
Нажмите на изображение для увеличения
Название: Ошибка.JPG
Просмотров: 377
Размер:	29.1 Кб
ID:	6522   Нажмите на изображение для увеличения
Название: Производственная группа.JPG
Просмотров: 420
Размер:	43.2 Кб
ID:	6523  

Нажмите на изображение для увеличения
Название: Электронный Help.JPG
Просмотров: 287
Размер:	50.7 Кб
ID:	6524  

Последний раз редактировалось greenfin; 27.01.2011 в 09:42. Причина: вставка скриншотов с настройками.
Старый 27.01.2011, 09:55   #2  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Про настройки ничего не скажу, но вы уверены, что программисты смотрели? По-хорошему нужно зайти в код, где выдается ошибка (либо по кнопке из инфолога, либо если там перехода нет - то через точку останова в Info.add()) и смотреть в процессе обработки заказа, почему передается неверный счет.
__________________
Ivanhoe as is..
Старый 27.01.2011, 10:06   #3  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,486 / 408 (16) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
В справочнике счетов на закладке "Настройки" есть поле "Разноска". Тип счёта задаётся именно там. Проверьте, что указанные вами в производственной группе счета имеют правильные типы (те, которые указаны в инфологе). Скорее всего, у вас по ним типы просто не заданы.
__________________
С уважением,
Вячеслав
Старый 27.01.2011, 10:22   #4  
greenfin is offline
greenfin
Участник
 
19 / 12 (1) ++
Регистрация: 12.03.2009
Адрес: Ижевск
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
..., но вы уверены, что программисты смотрели? ....
Спасибо за ответ. В наших программистах уверен на все 100, не было ещё ни разу повода усомниться в их профессионализме.

Цитата:
Сообщение от pitersky Посмотреть сообщение
В справочнике счетов на закладке "Настройки" есть поле "Разноска". Тип счёта задаётся именно там. Проверьте, что указанные вами в производственной группе счета имеют правильные типы (те, которые указаны в инфологе). Скорее всего, у вас по ним типы просто не заданы.
Спасибо за совет. Но осмелюсь возразить: Тип разноски выполняет контрольную функцию. Это выдержка из мануала "...Разноска – тип разноски, разрешенный для текущего счета, чтобы гарантировать, что на этот счет разносятся только операции с определенным типом разноски". Как следует выполнять проверку типа разноски задается в поле "Проверка разноски"."
По используемым счетам тип разноски не указан и в поле "проверка разноски" выбрано значение "Дополнительно => Проверка не выполняется и следовательно в нашей ситуации данные параметры не являются причиной возникшей ошибки.

Последний раз редактировалось greenfin; 27.01.2011 в 10:39.
Старый 27.01.2011, 11:17   #5  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,486 / 408 (16) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
А вы всё-таки попробуйте указать там соответствующие типы разноски. Ну так, чисто для проверки. У меня как-то была ситуация, когда в поле "Проверка разноски" стояло Опционально, а система всё равно матюгнулась при разноске
__________________
С уважением,
Вячеслав
Старый 27.01.2011, 11:42   #6  
greenfin is offline
greenfin
Участник
 
19 / 12 (1) ++
Регистрация: 12.03.2009
Адрес: Ижевск
Цитата:
Сообщение от pitersky Посмотреть сообщение
А вы всё-таки попробуйте указать там соответствующие типы разноски. Ну так, чисто для проверки. У меня как-то была ситуация, когда в поле "Проверка разноски" стояло Опционально, а система всё равно матюгнулась при разноске
Для очистки совести проделал данные манипуляции. Результат тот же.
Система именно ругается, что не указаны счета: обращается в производственную группу, счета там не указаны и уходит в ошибку (там не указаны счета в поле "Приход" и "Расход"). И при этом не обращается за ними в номенклатурную группу в случае их не указания, как это было в предыдущих версиях (3-ке и 4-ке) и как сказано в документации.

Плюс к сказанному - если счета указаны непосредственно в производственной группе, то производственный заказ обрабатывается и тип разноски указанный в плане счетов в нашем случае роли не играет.

Последний раз редактировалось greenfin; 27.01.2011 в 13:36.
Старый 27.01.2011, 13:20   #7  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,158 / 1286 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Посмотрите в классе InventMov_ProdLine метод accountOperations. Есть там код поиска счета в разноске, если не задан в группе?
Поставьте на методе точку останова, проверьте по какому пути идет.
Старый 27.01.2011, 13:33   #8  
greenfin is offline
greenfin
Участник
 
19 / 12 (1) ++
Регистрация: 12.03.2009
Адрес: Ижевск
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Посмотрите в классе InventMov_ProdLine метод accountOperations. Есть там код поиска счета в разноске, если не задан в группе?
Поставьте на методе точку останова, проверьте по какому пути идет.
Спасибо за ответ. Именно в этом месте и смотрели наши программисты. В данном методе нет ветки на поиск счетов в номенклатурной группе, если не задан в производственной группе.
А под рукой к сожалению 3-ки или 4-ки у нас нет, чтобы посмотреть как там код написан.
У кого какие ещё будут соображения по данному вопросу?
Старый 27.01.2011, 14:12   #9  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Код из AX 2009 SP1 RU5:
X++:
LedgerAccount accountOperations()
{
    if (! cacheAccountOperations)
    {
        if (prodBOM.prodTable().ProdPostingType   == ProdPostingType::ProdGroup)
            cacheAccountOperations = ProdGroup::find(prodBOM.prodTable().ProdGroupId).AccountIssueOffset;
        else
            /* <SYS>
            cacheAccountOperations = InventPosting::item(InventAccountType::ProdIssueOffsetAccount,prodBOM.ItemId,this.inventTable().ItemGroupId);
            </SYS> */
            // <GEEU>
            cacheAccountOperations = InventPosting::item(InventAccountType::ProdIssueOffsetAccount,prodBOM.ItemId,this.inventTable().ItemGroupId,this.inventdim());
            // </GEEU>
    }

    return cacheAccountOperations;
}
__________________
Ivanhoe as is..
Старый 27.01.2011, 14:31   #10  
greenfin is offline
greenfin
Участник
 
19 / 12 (1) ++
Регистрация: 12.03.2009
Адрес: Ижевск
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Код из AX 2009 SP1 RU5:
...
У нас именно такой код который Вы указали. У Вас при таких же настройках (указанных в первом сообщении) тоже ошибка или Система всё таки инициализирует не указанные счета в производственной группе из номенклатурной группы?

Последний раз редактировалось greenfin; 27.01.2011 в 14:40.
Старый 27.01.2011, 14:42   #11  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Пишете, что код такой же, но при этом в вашем примере есть дополнительная строка. Или это вы ее добавили? Стандартный код (который я привел) работает ровно по хелпу:
Цитата:
Производственные группы — в случае выбора разноска потребления номенклатуры и потребления по рабочему центру выполняется исключительно на основе значения в форме Производственные группы (форма).
Т.е. поведение системы, судя по хелпу и коду, правильное - если у вас заказ идет с типом разноски "Производственные группы", то данные берутся только оттуда - вот и ошибка.
__________________
Ivanhoe as is..
Старый 27.01.2011, 14:52   #12  
greenfin is offline
greenfin
Участник
 
19 / 12 (1) ++
Регистрация: 12.03.2009
Адрес: Ижевск
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Пишете, что код такой же, но при этом в вашем примере есть дополнительная строка. Или это вы ее добавили? Стандартный код (который я привел) работает ровно по хелпу:

Т.е. поведение системы, судя по хелпу и коду, правильное - если у вас заказ идет с типом разноски "Производственные группы", то данные берутся только оттуда - вот и ошибка.
Сейчас уточню что мы добавляли в код Ах-2009, чтобы в случаи отсутствия счетов в производственных группах счета брались из номенклатурных групп. Заметил что код отличается...поэтому и убрал из сообщения..общаюсь с программистами. Счас выясню и вставлю код без наших доработок, которые позволяют брать счет из номенклатурной группы, в случае отсутствия его в производственной группе.
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Т.е. поведение системы, судя по хелпу и коду, правильное - если у вас заказ идет с типом разноски "Производственные группы", то данные берутся только оттуда - вот и ошибка.
Насчет хелпа: в хелпе так же сказано: "...Если оставить это поле пустым...используется счет из номенклатурной группы" (смотрите скриншот "Электронный хелп"). Данный хелп вызывается непосредственно из производственной группы.

Последний раз редактировалось greenfin; 27.01.2011 в 15:19.
Старый 27.01.2011, 15:17   #13  
greenfin is offline
greenfin
Участник
 
19 / 12 (1) ++
Регистрация: 12.03.2009
Адрес: Ижевск
Уточнил. Изначально был код, который выложил Ivanhoe. Но в данном случае у нас возникает ошибка, из-за которой задан вопрос. Для того что бы Система вела согласно хелпа были внесены следующие изменения в данном коде и код выглядит так:
X++:
LedgerAccount accountOperations()
{
    if (! cacheAccountOperations)
    {
        if (prodBOM.prodTable().ProdPostingType   == ProdPostingType::ProdGroup)
        {
            cacheAccountOperations = ProdGroup::find(prodBOM.prodTable().ProdGroupId).AccountIssueOffset;
            if (! cacheAccountOperations)
                cacheAccountOperations =
InventPosting::item(InventAccountType::ProdIssueOffsetAccount,prodBOM.ItemId,this.inventTable().ItemGroupId,this.inventdim());
        }
        else
            /* <SYS>
            cacheAccountOperations=
InventPosting::item(InventAccountType::ProdIssueOffsetAccount,prodBOM.ItemId,this.inventTable().ItemGroupId);
            </SYS> */
            // <GEEU>
            cacheAccountOperations=
InventPosting::item(InventAccountType::ProdIssueOffsetAccount,prodBOM.ItemId,this.inventTable().ItemGroupId,this.inventdim());
            // </GEEU>
    }

    return cacheAccountOperations;
}
Был внесен следующий кусок:
X++:
            if (! cacheAccountOperations)
                cacheAccountOperations =
InventPosting::item(InventAccountType::ProdIssueOffsetAccount,prodBOM.ItemId,this.inventTable().ItemGroupId,this.inventdim());
        }

Последний раз редактировалось greenfin; 27.01.2011 в 15:21.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Немного об архитектуре разноски в ГК и проблеме корреспонденции счетов mazzy DAX: База знаний и проекты 29 02.05.2019 17:56
Настройка прав доступа(Производство\Сброс статуса) randolf DAX: Функционал 1 10.02.2010 13:25
Отчет Выверка запасов/ГК Alex-bs DAX: Функционал 3 21.07.2009 06:51
При повторном вызове linkActive проваливается в validateWrite(Строки общего журнала ГК) Lemming DAX: Программирование 6 25.10.2007 13:50
sp5. Возможность получить Корр.счет ГК попроводкам клиента/поставщика без извращений studentLPC DAX: Функционал 20 27.05.2003 13:55
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:42.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.