21.01.2004, 12:39 | #1 |
NavAx
|
Создание проводок ГК (программно)
Решил выложить доку.
Она представляет из себя курс молодого бойца, тяжёлых боёв с ошибками и модификациями связанными, с созданием, изменением, дополнением и пониманием формирования проводок в ГК (LedgerTrans). Единственное, на что обращу внимание, то что это про 2.5ую Аксапту, но осмотрев 3ю, могу сказать что принципы остались те же. Приятного прочтения Вам... Жду Ваших вопросов и замечаний.
__________________
Особые лекарства... меня не прут!.. |
|
|
За это сообщение автора поблагодарили: macklakov (5), alex55 (2), lstepanov (1). |
21.01.2004, 13:33 | #2 |
Banned
|
Re: Создание проводок ГК (что-то типа документаци)
Цитата:
Изначально опубликовано Ivan Mischenko
что-то типа документации |
|
21.01.2004, 13:33 | #3 |
NavAx
|
Только у меня такое содержание ?
Цитата:
Занятие из цикла "Обучение разработчиков стандартному функционалу Аксапты".
Том второй №2. Программная реализация складского учёта. Занятие 1. Описание таблиц складского учёта. Как и в разноске документов ГК для склада есть своя таблица, хранящая акты перемещения товара по складам. Называется она InventTrans. По каждой номенклатуре имеется остаток на складе или иначе говоря запасы в наличии. Эта информация находится в таблице InventSum. Примечание: Информация о запасах в наличии какой-либо номенклатуры находится в разрезе кода номенклатуры (ItemId) и складской аналитики (InventDimId). Расшифровка кодов складской аналитики находится в таблице InventDim. |
|
21.01.2004, 13:59 | #4 |
NavAx
|
Ой!!!!! (громогласное)
Прошу прощения у глубоко уважаимой публики!!!! Сильно тупанул!!! Не то вложил!!! Сейчас там уже то что нужно!!! Читайте... Ещё раз прошу прощения!!!
__________________
Особые лекарства... меня не прут!.. |
|
21.01.2004, 14:05 | #5 |
NavAx
|
Цитата:
Изначально опубликовано EVGL
Принципы как раз кардинально изменились. На уровне программного интерфейса это просто не так заметно. Особо не было времени разбираться с третьей... Но на первый взгляд, и на полуторный тоже, показалось, что основополагающие принципы те же... Ну да Вам лучче знать Исчо раз прошу прощения, за неверно опубликованное, изначально, прикрепление... Сейчас вроде то что надо
__________________
Особые лекарства... меня не прут!.. |
|
21.01.2004, 15:44 | #6 |
Участник
|
Ivan Mischenko, прежде всего спасибо за ваш труд.
Можно ли поговорить о том, чтобы опубликовать этот текст в качестве совета на моем сайте? Есть и замечания: 1. Цитата:
Проводка ГК для разработчика состоит из двух логически связанных записей в LedgerTrans. Некоторое непонимание может вызвать тот факт, что проводка хранится как две записи. Но этот факт объясняется наследием западной бухгалтерии.
Нормальным для буржуев является сложная проводка с несколькими движениями по счетам. Основное требование - сумма всех дебетов должна равняться сумме всех кредитов. Корр.счет создан скорее для удобства ввода коротких проводок с параметрами по-умолчанию, нежели как основной функционал. Все более-менее сложные случаи в буржуйской аксапте делаются многострочными (сложными) проводками. Например, ввод разной финансовой аналитики для дебета и кредита. Зачет с разными разносками/условиями оплаты/и т.п. для дебитора и кредитора. Приобретение буржуйских основных средств с разными суммами и параметрами основных средств. И т.п. Корр.счет является вторичной функциональностью, а не наоборот. Однострочная проводка является частным случаем многострочной, а не наоборот. Это надо понять и принять. Без понимания многострочных проводок Аксапта (и навижин) так и останется непривычной дурацкой системой. 2. Насчет создания проводок напрямую в ГК... По-моему, это опасный и тяжелый путь. Так можно генерить только финансовые проводки. Так чертовски сложно будет делать проводки по другим модулям Аксапты. По-моему, гораздо эффективнее и легче генерить строки журналов. После генерации показывать журналы пользователям для одобрения. А уж пользователи будут нажимать на кнопку Разнести. Какие плюсы в генерации журналов: = Аксапта будет проверять данные стандартной проверкой журнала, поэтому будет намного сложнее ошибиться = В журнале можно указывать клиентов/поставщиков/проекты/банки и т.п. Аксапта стандартными средствами разнесет проводки не только в ГК, но и по другим модулям согласно стандартным настройкам. = Аксапта сама сделает корреспонденцию = корректно генерировать журнал намного легче, чем корректно генерировать проводки |
|
21.01.2004, 21:22 | #7 |
NavAx
|
Цитата:
Изначально опубликовано mazzy
Ivan Mischenko, прежде всего спасибо за ваш труд. Можно ли поговорить о том, чтобы опубликовать этот текст в качестве совета на моем сайте? Есть и замечания: Говорите А замечаний, как раз хотелось более всего. По поводу первого замечания большое спасибо (я серьёзно)! Но вот по поводу второго... Цитата:
Изначально опубликовано mazzy
2. Насчет создания проводок напрямую в ГК... По-моему, это опасный и тяжелый путь. Так можно генерить только финансовые проводки. Так чертовски сложно будет делать проводки по другим модулям Аксапты. По-моему, гораздо эффективнее и легче генерить строки журналов. После генерации показывать журналы пользователям для одобрения. А уж пользователи будут нажимать на кнопку Разнести. Какие плюсы в генерации журналов: = Аксапта будет проверять данные стандартной проверкой журнала, поэтому будет намного сложнее ошибиться = В журнале можно указывать клиентов/поставщиков/проекты/банки и т.п. Аксапта стандартными средствами разнесет проводки не только в ГК, но и по другим модулям согласно стандартным настройкам. = Аксапта сама сделает корреспонденцию = корректно генерировать журнал намного легче, чем корректно генерировать проводки Но часто встречаются ситуации, когда клиент, хочет чего нибудь эдакого специфического... Воооот... И мало того, его ну никак не устроит, что при этом будет появляться и ещё какая-то кнопочка, которую ещё нужно будет нажимать. Ещё есть ситуации, например когда люди пишут свои модули... И мне показалось, что Вы меня недопоняли... Этот текст, он во общем-то призван, обучить человека, правильно создавать финансовые проводки, т.е. используя стандартные механизмы. Ни о каком занесении ручками записей в LT речи и не было По-моему... об этом я там не писал Ещё я забыл туда вписать тестовые задания. Жду Ваших ответов.
__________________
Особые лекарства... меня не прут!.. |
|
|
За это сообщение автора поблагодарили: Roenick (1). |
21.01.2004, 21:40 | #8 |
Участник
|
Цитата:
Изначально опубликовано Ivan Mischenko
...когда люди пишут свои модули... Но тогда действительно надо отслеживать изменения в корреспонденциях, изменение внутренних форматов и т.п. Тогда EVGL прав, действительно придется делать разные решения для 2.5 и 3.0. Мало того, придется писать разные решения для разных сервис-паков 2.5. Если это не пугает, то текст очень полезный. Но неполный, поскольку надо описывать создание проводок и в остальных модулях. Я думал, что речь идет просто о программном создании проводок. Например, программно создать остатки. Если речь идет о модулях, тогда конечно. |
|
21.01.2004, 21:53 | #9 |
NavAx
|
Цитата:
Изначально опубликовано mazzy
Но неполный, поскольку надо описывать создание проводок и в остальных модулях. Поясни плиз, что значит в других модулях?.. Типа описать ещё и создание ИнвентТранс?..
__________________
Особые лекарства... меня не прут!.. |
|
22.01.2004, 10:15 | #10 |
Участник
|
Цитата:
Изначально опубликовано mazzy
Так можно генерить только финансовые проводки. Так чертовски сложно будет делать проводки по другим модулям Аксапты. |
|
22.01.2004, 11:50 | #11 |
Участник
|
Цитата:
Изначально опубликовано kalex
Проводки по другим модулям генерятся точно так-же, как и финансовые, только используются другие классы. |
|
22.01.2004, 12:23 | #12 |
NavAx
|
Ув. товарищи kalex и mazzy!
Я Вас совсем, перестал понимать... 2kalex Прости за тугодумие... что же заничт фраза Цитата:
Проводки по другим модулям генерятся точно так-же, как и финансовые, только используются другие классы.
Те классы, которые были мной описаны, я даже не называл бы модулями, точно так же, как и классы группы InventMovement и InventUpdate. Ведь какой-то определённый модуль, может генерировать, как финансовые, складские так и собственные проводки! То что описание не полное, тоже мне кажется не сосвсем верным. Объясняю почему... LedgerVoucher и иже с ним используется, практически по всей Аксапте, точно так же, как и Инвенты... И разбирать работу какого-то модуля, без знания работы Лэджеров, значительно сложнее... Скажу, что сейчас мной готовится обучение по Инвентам (InventMovement и InventUpdate + связанные) Так что критика, типа не полное обучение, мне кажется неконструктивной... Если кто-то нашёл неточности или противоречия с корявостями в документе, и есть желание об этом сообщить, пожалуйста сообщите... И ещё раз по поводу неполности. На мой взгляд, здесь описано создание проводок именно в ГК, а в неё, как извесно, каждый модуль считает своим долгом что-нить пихануть... Поэтому был выделен этот кусок, как самостоятельный механизм, который можно использовать для КОРРЕКТНОЙ генерации финансовых проводок (со всеми коресспонденциями и балансами). PS Простите, если грубо ответил
__________________
Особые лекарства... меня не прут!.. |
|
22.01.2004, 12:46 | #13 |
Участник
|
Например, если нужно сделать проводку от клиента на банковский счет, то используются классы Cust Voucher и BankVoucher вместо LedgerVoucher. Про это можно почитать в документе "MorphX Integration", названия классов приведены в "Axapta Application Development Best Practices" в разделе "API".
|
|
22.01.2004, 12:57 | #14 |
Участник
|
Цитата:
Изначально опубликовано Ivan Mischenko
Поэтому был выделен этот кусок, как самостоятельный механизм, который можно использовать для КОРРЕКТНОЙ генерации финансовых проводок (со всеми коресспонденциями и балансами). kalex, хочет сказать, что остальные классы-генераторы проводок похожи по принципу работы на LedgerVoucher. Согласен - похожи. Сказать, что они похожи - недостаточно. Как недостаточно "названий" классов API. Классы-генераторы таки отличаются. Если уж делать описание, то делать более полное. Ivan Mischenko, все отлично. Наоборот, огромное вам спасибо, что взялись за эту тему. Лично я буду надеяться, что вы не остановитесь на достигнутом. Но если по каким то причинам вы оставите в публичном доступе только этот документ, то вполне пойму ваше решение. Вы УЖЕ сделали очень многое. kalex, может вы хотите дополнить документ Ivan'а описаниями классов *Voucher? |
|
22.01.2004, 13:31 | #15 |
NavAx
|
Цитата:
kalex, может вы хотите дополнить документ Ivan'а описаниями классов *Voucher?
И задумываясь о светлом будущем, неплохо было бы иметь на сайте какой-нить раздел который можно было бы дополнять подобными документами... а в результате возыметь замечательный учебник А потом ввести курс в школах для старших классов. И ещё... Может, есть у кого-нить желание обновить доку для 3й Аксапты?
__________________
Особые лекарства... меня не прут!.. |
|
26.01.2004, 00:34 | #16 |
Участник
|
Цитата:
Изначально опубликовано Ivan Mischenko
...неплохо было бы иметь на сайте какой-нить раздел который можно было бы дополнять подобными документами... http://www.axforum.info/forums/forum....php?forumid=7 правда раздел уже давно не обновлялся. |
|
28.01.2004, 12:49 | #17 |
NavAx
|
Вопрос
Никто не сможет мне ответить на вопрос, от том, нормально ли сравнивать суммы оставшиеся для корреспонденции в классе LedgerBondVRef_RU (для 2.5 и LedgerBondTransObject_RU для 3 аксапты) с нолём, а не с границей округления (Currency::Amount(...))?
__________________
Особые лекарства... меня не прут!.. |
|
28.01.2004, 14:33 | #18 |
Участник
|
хороший документ, спасибо!
__________________
"...жизнь проходит, пока мы строим планы на жизнь..." с уважением, ESys. |
|
28.01.2004, 15:08 | #19 |
Участник
|
Попробую использовать все, что изложено в документе, для изучения Axapta 3.0. Интересно, какой же будет результат?))
|
|
28.01.2004, 15:17 | #20 |
Участник
|
для изучения? не стоит. Начинать с этого - вы себе всю жизнь испортите. ИМХО.
А вот использовать, когда припрет и уже нет другого способа вполне можно. В большинстве случаев, можно использовать путь попроще. Я уже писал об этом выше. |
|