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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.12.2001, 15:54   #1  
VKogan is offline
VKogan
Участник
 
3 / 10 (1) +
Регистрация: 21.12.2001
Начальные остатки по складу
Кто-нибудь имеет опыт закачки начальных остатков по складам в модуле Управление запасами? Опишите пожалуйста, с какими проблемами вы при этом сталкивались.
Старый 21.12.2001, 16:31   #2  
Rafael is offline
Rafael
Участник
 
96 / 10 (1) +
Регистрация: 22.11.2001
Адрес: Москва
Мы закачивали номенклатуру - никаких проблем при этом не было.
Остатки заводили вручную через форму Закупки от фиктивного поставщика "начальное сальдо"
Думаю, если бы закачивали, то тоже бы не столкнулись ни с какими проблемами.
Старый 21.12.2001, 16:41   #3  
VKogan is offline
VKogan
Участник
 
3 / 10 (1) +
Регистрация: 21.12.2001
Проблема в том, что при закачке нужно формировать в частности поле InventDimId, которое в свою очередь прописывается в таблицу InventDim. Заставить систему формировать его при импорте из Excel не получается. Вручную - это не наш случай, количество номенклатурных единиц - 6000...
Старый 21.12.2001, 18:26   #4  
VKogan is offline
VKogan
Участник
 
3 / 10 (1) +
Регистрация: 21.12.2001
Ответ найден. Можно использовать инвентаризацию. При этом система создает сама все нужные идентификаторы во всех таблицах. Остается только изменить количества в таблицах InventSum и InventJournalTrans, стоимости в таблице InventJournalTrans, временно поменять счет прибылей-убытков в номенклатурных группах и можно разносить. :-)))
Старый 02.01.2002, 16:01   #5  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Так делали мы ...
Я так понял, что вопрос уже решен, но в качестве альтернативного решения
предлагаю свой вариант.

К сообщению прикреплен проект TMP_AddData. Распакуйте архив, импортируйте проект в Аксапту.

Принцип действия:
1. В таблицы с префиксом TMP_ заносится информация аналогичная родительским таблицам (допустим TMP_inventTable = InventTable). Заполнение таблиц происходит обычными SQL-скриптами, благо сгенерить их очень просто.
Поле RecId заполняется любыми уникальными значениями (иначе система не увидит записей).
2. Посмотрите метод TMP_inventJournalTrans класса TMP_insert и поменяйте номера бух/счета и номерной серии на настроенные в вашей компании.
3. Запускается на исполнение Jobик TMP_Start.
Таблица TMP_inventTrans - строки остатков. (Склад нахождения, номенклатура , себестоимость, …)

В результате в «Управление запасами/Журналы/Складские проводки» создаются несколько журналов по количеству складов. Проверяем , разносим ..

В проекте также заносится информация по клиентам/поставщикам, странам, номенклатуре .. и т.д. Ненужное можно легко вырезать )
Вложения
Тип файла: zip tmp_adddata.zip (22.5 Кб, 209 просмотров)
__________________
С уважением, Вячеслав.
Старый 03.01.2002, 12:10   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Re: Так делали мы ...
Небольшое замечание:
и что ж вас все в программизм то тянет?

Конечно можно и так... Но это очень похоже на удаление гланд автогеном.

Цитата:
Изначально опубликовано slava
Поле RecId заполняется любыми уникальными значениями (иначе система не увидит записей).
Ни в коем случае не "любыми"! Аксапта предполгает, что RecID уникальны в пределах всей базы данных. Если RecID в базе будут дублироваться, то "разработчики не гарантируют правильную работу Аксапты" (С) TechNet.
__________________
полезное на axForum, github, vk, coub.
Старый 03.01.2002, 12:38   #7  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Cool Постановка задачи требовала
Медленно по пунктам
>> ..и что ж вас все в программизм то тянет..
>> Конечно можно и так... Но это очень похоже на удаление гланд автогеном.
Задача: Закачка складских остатков.
Необходимо перенести в систему порядка 10 тысяч строк. Несложными математическими вычислениями получаем n человеко/часов ручной работы и умножаем его на n/5 число ошибок при ручном вводе и еще на n/20 часов исправления ошибок после ошибок
А при далеко не моментальной скорости работы Аксапты со справочником товара объемом этак 100 тысяч наименований, этот процесс можно назвать только одним, и то неприличным словом
>> "разработчики не гарантируют правильную работу Аксапты" (С) TechNet.
Звездная фраза Надеюсь это только про RecId


С уважением, Вячеслав
Старый 04.01.2002, 14:15   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Итак, вернемся в исходной задаче.
Цитата:
Кто-нибудь имеет опыт закачки начальных остатков по складам в модуле Управление запасами?
Вы, Slava, насколько я понимаю, предлагаете либо программирование, либо ручной ввод. Насколько я понимаю, вы просто не видите других альтернатив.

Теперь вернемся к исходной задаче.
Исходная задача делится на две подзадачи.
1. Закачать список номенклатуры.
2. Ввести (закачать) остатки.

Так вот, закачать номенклатуру можно с помщью импорта из текстового файла. На этом форуме эта проблема обсуждалась. И насколько я понимаю, у вас эта подзадача проблем не вызывает.

Теперь про ввод остатков.
Нормальный механизм ввода остатков в Аксапте - журнал прибылей и убытков по складу или журнал инвентаризации (я бы рекомендовал инвентаризацию). Таким образом, если у вас будет заполненный журнал инвентаризации, то вы элементарно получите остатки в Аксапте. Правильно?

Т.е. исходная задача свелась к задаче заполнения журнала инвентаризации.
= Создаем новый журнал - Аксапта дает ему номер.
= Импортируем строки журнала с помощью того же импорта из текстового файла.
= Разносим журнал инвентаризации
Единственное что надо сделать - указать номер журнала в импортируемых данных.

Таким образом, можно обойтись и без ручного ввода, и без программирования.


Теперь про уникальность RecID.
Я напомню, что вы предложили
Цитата:
Поле RecId заполняется любыми уникальными значениями
на что я ответил
Цитата:
Ни в коем случае не "любыми"! Аксапта предполгает, что RecID уникальны в пределах всей базы данных. Если RecID в базе будут дублироваться, то "разработчики не гарантируют правильную работу Аксапты" (С) TechNet.
Так вот. По определению, поле RecID содержит уникальные в пределах всей базы данных значения. Смотрим в документацию:
"In the Axapta database all records have a unique Record ID (RecID), which is an integer"
"A record ID uniquely identifies a row of data in a table. Record IDs are integers. They are assigned and managed by Axapta"

Т.е. если вы, Slava, заполните RecID "любыми" значениями, то своими же руками нарушите условие целостности базы. Как раз для таких программистов, как вы, Slava, разработчики Аксапты на TechNet'е и сказали, что "Если RecID в базе будут дублироваться, то разработчики не гарантируют правильную работу Аксапты"

Таким образом, Slava, ваш сарказм неуместен.
И этим самым неприличным словом можно назвать только вас, Slava.

С новым годом вас, Slava.
Пусть ваши мечты сбудутся.
__________________
полезное на axForum, github, vk, coub.
Старый 26.02.2003, 16:53   #9  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Позволю себе реанимировать тему...

Цитата:
Изначально опубликовано mazzy
Т.е. исходная задача свелась к задаче заполнения журнала инвентаризации.
...
= Импортируем строки журнала с помощью того же импорта из текстового файла.
...
Как? Можно поподробнее о том, что подразумевается под "импортом из текстового файла"?

Спасибо.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 26.02.2003, 17:10   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Главное меню \ Администрирование \ Экспорт/Импорт \ Группы определения
Кнопка импортировать
Старый 26.02.2003, 17:21   #11  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Я чего-то не понимаю, да? Вроде бы там только из того, что "Файл данных Axapta (*.dat)" можно импортировать...

Ладно, давай по другому вопрос поставлю. Я закачал справочник номенклатуры (это проблем теперь действительно не вызывает ). У меня есть текстовый файл. Пусть даже это CSV-файл. Там записан код номенклатуры (так же, как в закачанном справочнике), количество и стоимость единицы. Проясните мне, пожалуйста, каким образом мне все это закачать в журнал инвентаризации? Что нужно сделать, чтобы сделать это совсем без программерства? Как сделать, чтобы у меня еще и аналитика вся нормально проставилась (Склад(первичная)+Номер партии)?

Спасибо.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 26.02.2003, 17:26   #12  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
понятно.

создай новую группу. сними галку. зайди в таблицы. наслаждайся
http://www.mazzy.ru/axapta/hints/import/
Старый 26.02.2003, 17:27   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
кстати, еще одно.

если включено авторезервирование, то после импорта возможно придется шаманить Job'ом над классами InventMovement. Будь осторожен, проверь перед рабочим запуском.
Старый 26.02.2003, 17:35   #14  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Про складскую аналитику.
И еще одно - данные для импорта готовить надо.
Что подготовишь то и будет заимпортировано.
А готовить данные надо в терминологии таблиц.

Т.е. готовить данные для InventDim а в журнал пихать inventDimID.
Если у тебя некий конечный набор складских аналитик, то лучше сначала подготовить InventDimID вручную (создав строчки-пустышки со складскими аналитиками, а потом удалив складские строчки-пустышки)

Если же у тебя много разных складских аналитик, то надо научится создавать данные для соответствующих таблиц.

И еще один хинт: иногда посадить двух-трех девочек на два-три дня дешевле, чем напрягать одного квалифицированного программера в течении недели
Старый 26.02.2003, 17:48   #15  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано mazzy
Т.е. готовить данные для InventDim а в журнал пихать inventDimID.
Если у тебя некий конечный набор складских аналитик, то лучше сначала подготовить InventDimID вручную (создав строчки-пустышки со складскими аналитиками, а потом удалив складские строчки-пустышки)
Хорошая идея. Спасибо.
Немного раздражает только то, что никак (или я не разобрался?) нельзя настроить создание строк журнала инвентаризации (того, что по кнопке создается). Он создает какую-то свою сомнительную аналитику и все строки в нее пихает.
Кстати, нельзя ли как-нибудь автоматизировать процесс создания пустых аналитик? И как-нибудь можно отслеживать эти аналитики-пустышки потом (ну и прибивать их, чтобы не плодились почем зря)?

Цитата:
Изначально опубликовано mazzy
И еще один хинт: иногда посадить двух-трех девочек на два-три дня дешевле, чем напрягать одного квалифицированного программера в течении недели
Может быть, может быть... Вообще, вопрос ценен скорее в тактическом плане, пытаюсь оценить трудозатраты
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 26.02.2003, 18:04   #16  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано Maxim Gorbunov
Он создает какую-то свою сомнительную аналитику и все строки в нее пихает.
Такое ощущение что ты в чем то не разобрался.
Почитай о инвертаризационных группах.
Не забывай о кнопке Выбор, когда заполняешь строки

Цитата:
Изначально опубликовано Maxim Gorbunov
Кстати, нельзя ли как-нибудь автоматизировать процесс создания пустых аналитик?
Алиса спросила: куда мне пойти?
На что кот ответил: а куда ты хочешь попасть?
...ну и так далее...

Как-нибудь автоматизировать завсегда можно. Особенно с хорошим бюджетом
Что ты хочешь получить на выходе?

В принципе, там ничего сложного нет.
Посмотри на InventDim::FindOrCreate()

Цитата:
Изначально опубликовано Maxim Gorbunov
И как-нибудь можно отслеживать эти аналитики-пустышки потом (ну и прибивать их, чтобы не плодились почем зря)?
Не, не аналитики-пустышки, а строчки-пустышки с НУЖНОЙ аналитикой. Чтобы InventDimID создать заранее, и импортировать уже известные значения, а не генерить на ходу. Хотя можно и на ходу генерить. (чем дальше тем больше вспоминается чеширский кот)

На всякий случай насчет прибивать: Я не знаю штатных средств как вычислить какой InvenDimID является неиспользуемым. Если это вычсилить, то "прибить" труда не составляет.
Старый 26.02.2003, 18:08   #17  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Из серии "если нельзя, но очень хочется"

В конце концов, можно SystemSequences подправлять

create procedure GetNextRecId
@DataAreaId varchar(3),
@RecId int output
as

begin

set nocount on
set ansi_warnings off

update SystemSequences set NextVal = NextVal + 1, @RecId = NextVal where DataAreaId = @DataAreaId

end

хотя это конечно неправильно
Старый 27.02.2003, 10:04   #18  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано mazzy
Такое ощущение что ты в чем то не разобрался.
Почитай о инвертаризационных группах.
Не забывай о кнопке Выбор, когда заполняешь строки
Да, действительно... Фактор "конца рабочего дня", видимо сказался. Там, кстати, и нужный склад можно выбрать тоже.

Цитата:
Изначально опубликовано mazzy
В принципе, там ничего сложного нет.
Посмотри на InventDim::FindOrCreate()
Спасибо, то что нужно.

Цитата:
Изначально опубликовано mazzy
На всякий случай насчет прибивать: Я не знаю штатных средств как вычислить какой InvenDimID является неиспользуемым.
Да, я как раз про это. Ведь есть же ссылки на счета в ГК. Думал, вдруг, что-то подобное и для аналитик сделали. В принципе, такое добро и самому наваять несложно. Подумаю о необходимости этого.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 27.02.2003, 13:49   #19  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано Maxim Gorbunov
Да, я как раз про это. Ведь есть же ссылки на счета в ГК. Думал, вдруг, что-то подобное и для аналитик сделали. В принципе, такое добро и самому наваять несложно. Подумаю о необходимости этого.
Это сложно на самом деле. Попробуй.

Я вспомнил еще один способ, который когда то практиковал.
Жаль что я о нем забыл.

готовишь данные в Excel'е например.
открываешь журнал.
При помощи клавиатуры и буфера обмена переносишь строчку из Экселя в Аксапту.
ЗАПОМИНАЕШЬ последовательность нажатий клавиш при помощи какой-нибудь программы для макрокоманд (таких дофига)
Запускаешь автоповтор твоих действий.

Твои нажатия повторяются для всех данных.
Главное зациклить свои действия.

Способ быстрее и дешевле, чем девочки.
Способ позволяет вычислить и гарантировать сроки исполнения, в отличие от программирования поскольку, в общем случае, тебе не нужно разбираться в коде и программных хитростях.
Если нужно заполнить всего лишь несколько тысяч строк, то этот способ эффективнее.

В общем, попробуй. Может быть, тебе понравится.
Старый 27.02.2003, 13:59   #20  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано mazzy
Это сложно на самом деле. Попробуй.
А в чем сложность? На сколько я понимаю алгоритм работы ссылок на счета ГК (в код не лазил, каюсь), там последовательность такая: пользователь выбирает таблицы, которые хочет проверить на предмет ссылок; AXAPTA в этих таблицах ищет поля с нужным EDT или Relation и выдает инфу об используемых значениях внешнего ключа. ИМХО, вся сложность заключается в том, чтобы собранную информацию красиво представить. Или я чего-то не вижу?

Цитата:
Изначально опубликовано mazzy
Я вспомнил еще один способ, который когда то практиковал.
...
ЗАПОМИНАЕШЬ последовательность нажатий клавиш при помощи какой-нибудь программы для макрокоманд (таких дофига)
Запускаешь автоповтор твоих действий.
Да, знаю. Много про них читал и слышал восторженных отзывов... Но вот сам никогда не использовал. Давно хочу попробовать. Может посоветуешь какую-нить программу? Да-да, помню, что в КТ года 2 назад даже обзор таких программ есть. Обязательно его посмотрю.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Теги
как правильно, основные средства, остатки, склад, управление запасами

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Остатки товара на определенную дату Lucky13 DAX: Программирование 7 27.03.2007 14:27
Скачут остатки Def DAX: Программирование 3 03.05.2006 14:27
Остатки dog37 DAX: Программирование 6 02.06.2005 11:25
Как организовать среднюю себестоимость по разделенному складу Елена Сысовская DAX: Функционал 27 29.08.2003 20:01
Про начальные остатки... Тоже бухгалтер DAX: Функционал 6 19.06.2003 20:03

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:35.