18.07.2002, 11:03 | #1 |
Moderator
|
Строки журналов
Управление запасами -> Журнал (например Прибыль/Убыток) -> Строки.
После сохранения новой строки, пропадает возможность сменить в ней номенклатуру. Сдается мне, что это не спроста - что то происходит в системе в момент сохранения записи - вопрос что ? Пробовал посмотреть отладчиком - происходит много чего - а насколько это критично, сразу и не поймешь. Смотрел мониторинг SQL запросов - при сохранении только что введенной записи происходит всего один INSERT - собственно в InventJournalTrans. Но почему то же нельзя менять номенклату в сохраненной записи ? Какое ваше мнение по этому поводу. |
|
18.07.2002, 12:00 | #2 |
Moderator
|
Цитата:
Пробовал посмотреть отладчиком - происходит много чего - а насколько это критично, сразу и не поймешь. Смотрел мониторинг SQL запросов - при сохранении только что введенной записи происходит всего один INSERT - собственно в InventJournalTrans.
То есть как я понимаю, изменять номенклатуру напрямую нельзя - иначе в InventSum будет неверная информация. Тогда другой вариант. Добавляем кнопку, по нажатию на которую в строках журнала создается новая строка, все данные кроме названия номенклатуры копируются в нее из старой строки, название номенклатуры запрашивается у пользователяи то же заносится в новую строку, старая строка удаляется. Если я буду удалять старую строку вот таким способом: PHP код:
|
|
06.08.2002, 17:03 | #3 |
Юзовские
|
Скорее всего проблема в том, что на соответствующем поле в таблице свойство AllowEdit установлено в No, а AllowEditOnCreate в Yes. Поэтому значение поля можно изменять только при создании. Установи AllowEdit в Yes, тогда поле будет доступно для редактирования всегда.
|
|
06.08.2002, 17:27 | #4 |
Участник
|
Re: Строки журналов
Цитата:
Изначально опубликовано Андре
После сохранения новой строки, пропадает возможность сменить в ней номенклатуру. Сдается мне, что это не спроста При создании строки журнала создаются InventTrans. Посмотри на складские проводки из журнала (Кнопка Склад, Проводки) А складская проводка может быть не одна. Если установлено авторезервирование или автопометка и есть серийные номера или партии... то их может быть много. Безопасно ли их удалять? ХЗ. По-моему, не стоит. |
|
06.08.2002, 18:42 | #5 |
Шаман форума
|
почему?
Насколько я понимаю, одна строка журнала соответствует одной проводке.
А при чем тут серийные номера, ведь для одной строки я все равно могу указать только одну складскую аналитику. А резервирование, насколько я помню (хотя было это давно и мог и забыть) просто меняет статус проводки. Авторезервирование в складских журналах не пробовал - оно там вообще есть, или авторезервирование актуально только для заказов? Вообще с тем фактом, что резервирование является складской проводкой, связана очень интересная грабля, на которую было однажды наступлено. А именно - для корректного отображения остатков по складу резервировать всегда стоит с конкретного склада (хотя механизм складской аналитики позволяет и иное). Тогда, если у компании есть выделенный склад хранения и выделенный склад отгрузки, и имется 2 продавца, один из которых зарезервировал товар на складе отгрузки, а другой - точно такой же товар на складе хранения (из-за нехватки товара на складе отгрузки), то если второй отгружает свой товар раньше, то его придется либо вести (неоправданные издержки, так как тот же товар уже есть на складе отгрузки), либо мониторить такие ситуации вручную, и снимать/проставлять резервы вручную, следя при этом, чтобы товар не перехватил кто-то еще Уйти от такой ситуации при сохранении механизма резервирования как складской проводки по моему мнению, невозможно. Возможно, если резерв является складской аналитикой, однако это уже писать надо |
|
06.08.2002, 19:01 | #6 |
Участник
|
Re: почему?
Цитата:
Изначально опубликовано komar
Насколько я понимаю, одна строка журнала соответствует одной проводке. А при чем тут серийные номера, ведь для одной строки я все равно могу указать только одну складскую аналитику. А вообще говоря, каждое создание строки журнала, заказа, закупки приводит к вызову InventMovement. Этот класс работает по разному в зависимости от RecID. Если RecID = 0, то класс считает, что запись новая и ИНИЦИАЛИЗИРУЕТ ее. Если RecID != 0, то класс ОБНОВЛЯЕТ запись. При этом считает, что обновляется тот же артикул. Класс предполагает, что артикул не изменяется. |
|
07.08.2002, 09:37 | #7 |
----------------
|
Удаление проводок
to komar
Всякую складскую проводку можно разбить на некоторое кол-во строк не меняя ни каких аналитик (На форме Проводки кнопка Функции\Разбиение), а так же ручками зарегистрироовать\зарезервировать. to Андре Метод delete на InventJournalTrans перекрыт и в нем делаются все действия по удалению проводок из InventTrans (в т.ч. update InventSum) и удаление книги складского журнала, если в ней законцились строки. Так что твоё удаление неразнесенных строк не опасно. to mazzy Удаление непроведенных по главной книге складских проводок никому еще не мешало (если не делать doDelete ), так как складские остатки обновляются в методе delete на InventTrans. Но, конечно, лучше чтобы проводки удалялись вместе со строками (заказ, закупка, журнал и т.д.) на этот лот ссылающимся (что обычно и делается) Кстати, есть даже такой классик InventUpd_DeleteMovement |
|
07.08.2002, 10:50 | #8 |
Шаман форума
|
Только значит ли это, что одной строке журнала может соответствовать несколько складских проводок? Я такого не встречал, однако, если это возможно...речь идет не о разделении одной строки на 2, а именно, о соответствии "строка документа--складская проводка".
|
|
07.08.2002, 10:59 | #9 |
----------------
|
Есть соответствие "строка журнала - номер лота", а лот подразумевает 1 или несколько записей в InventTrans объединенных тем же номером лота. Причина возникновения нескольких проводок не важна, главное что это возможно.
|
|
07.08.2002, 12:01 | #10 |
Шаман форума
|
Извиняюсь - еще раз уточню вопрос - несколько складских проводок с тем же статусом.
Интересна же мне следующая задача - как создать, например, по строке заказа (или журнала) несколько складских проводок прихода, например, на разный склад (или возьмем любую другую складскую аналитику). Что-то подсказывает мне, что такое сделать мне не удастся. Вывод такой делаю из следующего - если я указываю аналитику в обязательном порядке, то для каждой строки она заполняется однозначно. Если не указываю, то товар и приходуется/расходуется с пустым значением аналитики (то есть отсутствие значения аналитики вопринимается системой как одно из значений оной). В любом другом случае смысл генерить несколько проводок прихода по одному лоту, связанных с одной строкой журнала или заказа кажется неочевидным. Если такие проводки в системе создаются, то причины их возникновения (если это не модификация) как раз очень интересны. Еще вопрос - разве автоматическое резервирование в журналах действует? Ручное действует, а автоматическое? |
|
07.08.2002, 15:59 | #11 |
Участник
|
Несколько строк проводок по одному заказу и т.п.
Ну, во-первых, если в закупке не ставить партию, она генерится автоматически (создается новая в зависимости от настроек Группы складской аналитики в модуле "Управление запасами"), а ,если поставить, то добавляет проводки в выбранную партию.
В расходе (заказы,журналы), если не проставлять партию в строках, берется N доступных партий, где есть остатки, и 1 запись со статусом "заказано", если товара на складе не хватило. (Могут быть варианты при разных настройках резервирования товара). Кроме того, если в настройках Управление запасами\Настройки \Разное в поле "Автоматическое добавление" не стоит галочка, то при корректировке количества по строке заказа в большую сторону, например, с 3 на 5, добавится строка проводок с количеством 2, а не исправится 3 на 5. Далее, при обработке частичных продаж (немедленная поставка) по строке заказа, каждая строка в InvnetTrans может делится на несколько строк и т.д. и т.п. |
|
07.08.2002, 16:02 | #12 |
Member
|
Цитата:
Изначально опубликовано komar
Интересна же мне следующая задача - как создать, например, по строке заказа (или журнала) несколько складских проводок прихода, например, на разный склад (или возьмем любую другую складскую аналитику). Что-то подсказывает мне, что такое сделать мне не удастся. Вывод такой делаю из следующего - если я указываю аналитику в обязательном порядке, то для каждой строки она заполняется однозначно. Если не указываю, то товар и приходуется/расходуется с пустым значением аналитики (то есть отсутствие значения аналитики вопринимается системой как одно из значений оной). В любом другом случае смысл генерить несколько проводок прихода по одному лоту, связанных с одной строкой журнала или заказа кажется неочевидным. Если такие проводки в системе создаются, то причины их возникновения (если это не модификация) как раз очень интересны. 2. Делаешь приход 10 единиц (штук, например) чего-нибудь (вводишь данные в строку без разноски). 3. Нажимаешь кнопочку Склад\Регистрация. 4. Нажимаешь Разбиение. Вводишь 1. И т.д. 5. Потом регистрируешь все приходы на разные склады. т.о. можешь 10 единиц оприходовать на 10 разных складов (если эти единицы имеют аналитику склад). Еще до разноски можешь посмотреть складские проводки (10 шт.)(Склад\Проводки). Можешь разбить на 5 и 5, чтобы не мучаться. Вроде все просто. Или я неправильно понял вопрос? Глеб |
|
07.08.2002, 18:09 | #13 |
Шаман форума
|
Вполне правильно, спасибо По моей формулировке вопроса так и выходило.
Головную боль доставляет то, что система не делает такой процедуры автоматически, при незаполнении соответствующей аналитики. Другими словами, интерпретирует пустое значение поля, например, "склад" как еще один склад вместо распределения товара по складам. Что при определенных настройках позволяет создавать отрицательное количество товара на складе при отключенном параметре "отрицательный склад". Но это ладно, все вполне понятно, еще раз спасибо всем учасникам. |
|
07.08.2002, 19:20 | #14 |
Member
|
Нет уж, нет уж. Подождите, подождите.
Это как же Axapta будет автоматически склад подставлять? По какому такому алгоритму? Предположим у нас есть 10 складов: Склад1, Склад2, … Склад10. Делаем закупку. Склад не указываем. И что система должна делать? Откуда она узнает, куда товар попал физически? Если склад один и заполнять лень – можно везде понаставлять складов по умолчанию: в клиентах есть, в номенклатуре – тоже есть. По-моему еще где-то можно настраивать. Будет подставляться автоматически. А чтобы не было пустого склада, нужно группы складской аналитики соответствующим образом определить. Там на закладке Настройки есть поля Первичная аналитика хранения, Пропуск для приходов и Пропуск для расходов. Пустой склад может получиться, если первая не взведена (а обычно для склада ее взводят), а последние две – да. Но для таких настроек на складе нужны веские основания. А вот для серийных номеров и партий автоматическую нумерацию выдумали. Но это же совсем другое дело, нежели склад. В общем, нужно смотреть на ситуацию. Глеб |
|
08.08.2002, 10:02 | #15 |
Шаман форума
|
|
|