Долго думал, кому написать: ТП или Сюда
все-таки решил, что сюда, потому как вопрос касается не столько функционала системы, сколько программирования и обратись я в ТП, через пару дней меня все равно отправят к разработчикам
Текста будет много...уж простите
Появилась задача, автоматизировать процесс разукомплектовки товаров. Сейчас он выглядит так:
есть МЦ, отмеченные в Каталоге как "является комплектом" и у каждой из них есть по одной составляющей
1.Создаем накладную на вн.перемещение на Склад1=>Склад2 (чтобы учет по цеху расфасовки велся отдельно от продаж)
2.Создаем Акт на разукомплектовку со спецификацией совпадающей с накл.из п.1 на Складе2
3.После разукомплектовки перемещаем товар Склад2=>Склад1
Подумали и решили, что п.2 и п.3 можно автоматизировать, т.е. программно создавать Акт (на основе нак.на вн.перемещение Скл1-Скл2) и "обратную" накладную на основе приходного складского ордера на складе2, после разукомплектовки.
Начал пробовать:
1.Включил журнализацию на все таблицы
2.Создал вручную Акт
3.посмотрел в Журнале что создается (KatSopr,SpSopr,SoprHoz,SoprOrDa)
4.посмотрел откуда и что берется
5.создал интерфейс, который на основе выбранной накл.на внутр.перемещение создает Акт и заполняет все таблицы из п.3
Начал проверять, вроде бы все отлично, НО, выяснилось, что после формирования ордеров по Акту неверное проставляются цены в расходном складском ордере, берутся цены за составляющую комплекта, а не за комплект
и тут же обнаружился еще один "косяк", если посмотреть в спецификации Акта в любой позиции Расширенную информацию и нажать там кнопку [Расчет цен для комплекта], то цены увеличатся, причем ровно во столько раз, сколько указано в поле "количество" на закладке "составляющие комплекта" в Каталоге МЦ
Вот собственно и хочу попросить:
расскажите алгоритм расчета цены комплекта (хелп читал, ничего путнего не написано)? или алгоритм создания акта на разукомплектовку...
или уж на худой конец, как говорится, пусть не алгоритм, то хотя бы какие таблицы участвуют при создании Акта, а я был дальше стал разбираться ???
Программное создание Акта на разукомплектовку
-
- заказчик
- Сообщения: 89
- Зарегистрирован: Ср, 19/09/2007 08:48
- Имя Фамилия: Александр Киселев
- Откуда: Красный Октябрь ОАО ДОК
- Контактная информация:
-
- топ-софт
- Сообщения: 15
- Зарегистрирован: Ср, 19/09/2007 10:07
- Имя Фамилия: Сергей Лебедев
- Откуда: ТопСофт
- Контактная информация:
Добрый день !
В ПИРе заведена проблема 102.76771
Цена комплекта при разукомплектовании берется равной сумме стоимостей составляющих комплекта. Цены составляющих комплекта рассчитываются по методике списания (средние цены по методике) на дату создания акта .Вот собственно и хочу попросить:
расскажите алгоритм расчета цены комплекта (хелп читал, ничего путнего не написано)? или алгоритм создания акта на разукомплектовку...
Проверил у себя - цена комплекта в расходном ордере равна цене списания комплекта по методики списания на дату создания ордера. Всё верно. В акте цена комплекта равной сумме стоимостей составляющих комплекта. Тоже всё верно. Цены составляющих комплекта в приходных ордерах и акте тоже рассчитались правильновыяснилось, что после формирования ордеров по Акту неверное проставляются цены в расходном складском ордере, берутся цены за составляющую комплекта, а не за комплект
Если использовать эту функцию после формирования ордеров, то действительно будет изменение цены комплекта и цен в приходных ордерах - будем разбираться с этим. Нужно либо запретить пересчёт цен после формирования ордеров либо подставлять цены из ордеров.если посмотреть в спецификации Акта в любой позиции Расширенную информацию и нажать там кнопку [Расчет цен для комплекта], то цены увеличатся, причем ровно во столько раз, сколько указано в поле "количество" на закладке "составляющие комплекта" в Каталоге МЦ
В ПИРе заведена проблема 102.76771
-
- заказчик
- Сообщения: 89
- Зарегистрирован: Ср, 19/09/2007 08:48
- Имя Фамилия: Александр Киселев
- Откуда: Красный Октябрь ОАО ДОК
- Контактная информация:
Здравствуйте.
...видимо я не верно пояснил что хочу попробую спросить еще раз:
1.Скажите пожалуйста, какие таблицы должны заполняться при создании Акта на разукомплектовку?
2.Есть ли алгоритм расчета цены комплекта? под алгоритмом я понимаю - последовательность действий, описанных на atlantis-е. Т.е. я бы хотел попросить кусок кода, который отвечает за расчет цены комплекта, чтобы его использовать в своих интерфейсах. Может быть есть вообще отдельная прикладная функция для этих целей.
Надеюсь, что так будет понятнее чего я хочу
это же самое написано в хелпе и я прекрасно понимаю что нужно сделать, чтобы рассчитать ценуСергей Лебедев писал(а):Цена комплекта при разукомплектовании берется равной сумме стоимостей составляющих комплекта. Цены составляющих комплекта рассчитываются по методике списания (средние цены по методике) на дату создания акта .
я имел ввиду, что описанной мной проблема возникает только на тех Актах, которые я создал программно, с пом.написанного мною интерфейса, а если же создавать через интерфейс "галактики" - все работает хорошоСергей Лебедев писал(а):Проверил у себя - цена комплекта в расходном ордере равна цене списания комплекта по методики списания на дату создания ордера. Всё верно. В акте цена комплекта равной сумме стоимостей составляющих комплекта. Тоже всё верно. Цены составляющих комплекта в приходных ордерах и акте тоже рассчитались правильно
даже если ордеров нет и нажмешь кнопку - цены изменятся, НО(!), только в Акте созданном мною ПРОГРАММНОСергей Лебедев писал(а):Если использовать эту функцию после формирования ордеров, то действительно будет изменение цены комплекта и цен в приходных ордерах - будем разбираться с этим. Нужно либо запретить пересчёт цен после формирования ордеров либо подставлять цены из ордеров.
В ПИРе заведена проблема 102.76771
...видимо я не верно пояснил что хочу попробую спросить еще раз:
1.Скажите пожалуйста, какие таблицы должны заполняться при создании Акта на разукомплектовку?
2.Есть ли алгоритм расчета цены комплекта? под алгоритмом я понимаю - последовательность действий, описанных на atlantis-е. Т.е. я бы хотел попросить кусок кода, который отвечает за расчет цены комплекта, чтобы его использовать в своих интерфейсах. Может быть есть вообще отдельная прикладная функция для этих целей.
Надеюсь, что так будет понятнее чего я хочу
-
- заказчик
- Сообщения: 89
- Зарегистрирован: Ср, 19/09/2007 08:48
- Имя Фамилия: Александр Киселев
- Откуда: Красный Октябрь ОАО ДОК
- Контактная информация:
-
- топ-софт
- Сообщения: 15
- Зарегистрирован: Ср, 19/09/2007 10:07
- Имя Фамилия: Сергей Лебедев
- Откуда: ТопСофт
- Контактная информация:
При вводе акта заполняются таблицы:1.Скажите пожалуйста, какие таблицы должны заполняться при создании Акта на разукомплектовку?
- KatSopr - шапка акта;
SpSopr - МЦ-комплект;
SoprOrdA - МЦ, входящие в состав комплекта.
(предварительно поставьте курсор на какое-нибудь поле в нужной панели выбранного документа, после нажатия Ctrl+F4 укажите нужное поле таблицы или выберите его из списка, нажав F3 в поле "Выражение").
Для каждой МЦ нужно рассчитать цену списания.2.Есть ли алгоритм расчета цены комплекта? под алгоритмом я понимаю - последовательность действий, описанных на atlantis-е. Т.е. я бы хотел попросить кусок кода, который отвечает за расчет цены комплекта, чтобы его использовать в своих интерфейсах. Может быть есть вообще отдельная прикладная функция для этих целей.
Как это сделать - уже рассматривалось на форуме (подробнее см.здесь).
После того, как разберетесь с формированием цены списания, сразу станет понятен следующий фрагмент (это именно то, что Вы запросили):
Код: Выделить всё
SoprOrdA.cVal := StepMCInfo(cMC_, KatSopr.cValut, KatSopr.cPodrFrom,
if(KatSopr.cMOLFrom = 0, comp(-1), KatSopr.cMolFrom),
if(SoprOrdA.cParty_ = 0, comp(-1), SoprOrdA.cParty_));
SoprOrdA.Price := AveragePrice;
SoprOrdA.VPrice := AverageVPrice;
-
- заказчик
- Сообщения: 89
- Зарегистрирован: Ср, 19/09/2007 08:48
- Имя Фамилия: Александр Киселев
- Откуда: Красный Октябрь ОАО ДОК
- Контактная информация:
-
- заказчик
- Сообщения: 89
- Зарегистрирован: Ср, 19/09/2007 08:48
- Имя Фамилия: Александр Киселев
- Откуда: Красный Октябрь ОАО ДОК
- Контактная информация: