08.10.2004, 16:37 | #1 |
Участник
|
Новичек: Временная табличка или....
Подскажите, плз, как лучше поступить...
Собираюсь создать класс в Аксапте, который формировал бы остатки, и затем их можно было бы поучить в другой учетной программе (1С).. |
|
08.10.2004, 17:15 | #2 |
Участник
|
Все остатки в таблице InventSum (точнее в ее агрегате по соотв. измерениям)
|
|
08.10.2004, 17:33 | #3 |
Участник
|
Цитата:
Изначально опубликовано Hamster
Все остатки в таблице InventSum Слово ВСЕ - нехорошее слово. Как только появляется слово ВСЕ - жди логической ошибки |
|
08.10.2004, 17:39 | #4 |
Участник
|
Цитата:
Изначально опубликовано Hamster
Все остатки в таблице InventSum (точнее в ее агрегате по соотв. измерениям) возникли вопросы 1. как возвращать значение через Axapta Business Connector? 2. Каким типом, в моем случае, это значение можно вернуть? (ПС: я совсем не знаю Аксапту, в курсе только, что там есть какие-то контиейнеры... ) |
|
08.10.2004, 17:42 | #5 |
Участник
|
Прочитайте мой постинг до конца и попробуйте повторить.
1. Создайте в базе SQL Server буферную (а не временную) таблицу, вот скрипт: CREATE TABLE Ax_InventSum (Ax_ItemId VARCHAR(20), Ax_PhysicalInvent FLOAT) 2. В Аксапте создайте класс, у которого есть вот такой статический метод: PHP код:
а) коннектиться к той базе данных, в которой находится таблица Ax_InventSum б) содержать методы, позволяющие выполнять нормальные (не-аксаптовские) SQL-запросы к базе данных. Для этого можно использовать аксаптовские классы ODBCConnection, либо CCADOConnection. Описанный мною статический метод далее вызывается из сторонней программы через Axapta Com Connector. Этот метод пишет в буферную таблицу Ax_InventSum результат своей работы. Считать остатки из буферной таблицы можно затем таким образом: SELECT Ax_ItemId, SUM(Ax_PhysicalInvent) FROM Ax_InventSum GROUP BY Ax_ItemId
__________________
Когда гестапо перекрыло все выходы, Штирлиц вышел через вход! |
|
08.10.2004, 17:43 | #6 |
Moderator
|
Способов много. Если данных не очень много, я бы выбрал XML, если очень много, выгружал бы во внешнюю табличку в отдельном коннекшене в отдельную базу данных.
Но я перечислил далеко не все возможные варианты. |
|
08.10.2004, 17:49 | #7 |
Участник
|
Цитата:
Изначально опубликовано evs
я хотел бы получать остатки товара на опред. дату.. я взял за основу стандартный отчет, и написал класс Ну не может же нормальная система работать без остатков на произвольную дату. Так? Значит такой класс уже должен быть. Как только вы начнете думать таким образом, то тут же найдете InventSumDate Далее смотрите на иерархию. Вам скорее всего понадобится InventSumDateDim Вы должны понять как Аксапта работает со складской аналитикой. Просто уясните себе что такое InventDimGroup, InventDimParm, InventDimCriteria. После этого работа со стандартным складским функционалом у вас не будет вызывать сложностей. |
|
08.10.2004, 17:51 | #8 |
Moderator
|
Цитата:
Как только вы начнете думать таким образом, то тут же найдете nventSumDate
Далее смотрите на иерархию. Вам скорее всего понадобится InventSumDateDim |
|
08.10.2004, 17:53 | #9 |
Участник
|
PHP код:
|
|
08.10.2004, 18:37 | #10 |
Участник
|
Цитата:
Изначально опубликовано Андре
Еще есть InventOnHand. Зато гораздо быстрее, чем InventSumDate |
|
08.10.2004, 18:39 | #11 |
Участник
|
Цитата:
Изначально опубликовано evs
PHP код:
Просто InventSumDateValueReportDim считает еще и себестоимость. |
|
08.10.2004, 18:40 | #12 |
Moderator
|
Цитата:
Насколько я помню InventOnHand выдает текущие остатки.
Цитата:
Зато гораздо быстрее, чем InventSumDate
|
|
11.10.2004, 10:35 | #13 |
Участник
|
у меня появились конкретные вопросы.. ))
как получить значение, возвращаемое аксаптовсой функцией? Axapta = CreateObject("AxaptaCOMConnector.Axapta2"); Axapta.Logon2(user, password); class = Axapta.CreateObject("Class1"); class.Call("get", ГТД, АйтемИД, возЗначение); Message(string(возЗначение)); короче... как пользоваться Call, CallEx не понимаю... (( как только не пробовал извратиться- ничего не получается... ( |
|
11.10.2004, 12:19 | #14 |
Участник
|
с предидущим вопросом я разобрался.... Может поможете мне понять как создать контайнер, который включает все позиции, все ГТД, все остатки?
то что есть сейчас: PHP код:
здесь должен быть какой-то цикл или что? ( плиз, хелп ! |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Временная таблица | 21 | |||
производительность: map или временная таблица | 5 | |||
Временная таблица + RLS | 6 | |||
Темповая табличка на гриде | 8 | |||
select sum(amount) from временная таблица | 6 |
|