Создание расходного складского ордера

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Buddy
Постоянный обитатель
Сообщения: 122
Зарегистрирован: 02 июн 2016, 15:18
Откуда: Галактика СПб

Создание расходного складского ордера

Сообщение Buddy »

Коллеги, нужна консультация.
Пишу модуль импорта данных из Excel, на основе которых должен сформироваться расходный складской ордер.
Стал искать стандартные методы для создания ордеров, нашел функцию MakeRashOrder интерфейса objMakeOrder.
Но эта функция в качестве одного из параметров требует Nrec накладной, а у меня накладной нет.
Как формировать расходный ордер в этом случае? Создавать предварительно "фиктивную" накладную? Или есть другие способы создать расходный складской ордер из кода?
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Создание расходного складского ордера

Сообщение Den »

Ну сделайте сопроводит документ какой-нить да и все (Акт на списание).
Не нравится с сопроводительным документом - можно просто шапку ордера создавать самому (благо там дюжину полей max заполнить требуется )+ sporder и воспользоваться нужными методами modifOrd.vih
KVS
Посетитель
Сообщения: 36
Зарегистрирован: 03 фев 2020, 10:38

Re: Создание расходного складского ордера

Сообщение KVS »

Существует возможность экспорта/импорта документов стандартными средствами. Нужна лицензия на модуль "Обмен бизнес-документами", вроде бы как.
oiko
Местный житель
Сообщения: 419
Зарегистрирован: 29 мар 2005, 17:49

Re: Создание расходного складского ордера

Сообщение oiko »

Создавал sklorder и sporder вручную (простые таблицы) приблизительно так

#include modifsal.vpp
....
clearbuffer(#sklorder);
sklorder.vidorder:=1;
....
insert current sklorder;
_loop mytable
{
clearbuffer(#sporder);
sporder.vidorder:=sklorder.vidorder;
sporder.cmc:=mytable.cmc;
...
insert current SpOrder;
AddSaldoMC_Upd(SpOrder.nRec, false, false); //not del, not upd
}
spark
Местный житель
Сообщения: 478
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

Re: Создание расходного складского ордера

Сообщение spark »

oiko писал(а):Создавал sklorder и sporder вручную (простые таблицы) приблизительно так

#include modifsal.vpp
....
clearbuffer(#sklorder);
sklorder.vidorder:=1;
....
insert current sklorder;
_loop mytable
{
clearbuffer(#sporder);
sporder.vidorder:=sklorder.vidorder;
sporder.cmc:=mytable.cmc;
...
insert current SpOrder;
AddSaldoMC_Upd(SpOrder.nRec, false, false); //not del, not upd
}
А что означает вот эта часть "false, false); //not del, not upd"?
oiko
Местный житель
Сообщения: 419
Зарегистрирован: 29 мар 2005, 17:49

Re: Создание расходного складского ордера

Сообщение oiko »

это значит в таблицу сальдовок добавляется запись
spark
Местный житель
Сообщения: 478
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

Re: Создание расходного складского ордера

Сообщение spark »

oiko писал(а):это значит в таблицу сальдовок добавляется запись
А если по этому разрезу уже было движение сегодня? Я думал в saldomc по одной строчке на дату по каждому разрезу.
А в каких случаях тогда эти параметры должны быть true?
Функция потенциально полезная, хотелось бы понять как она работает. =)
oiko
Местный житель
Сообщения: 419
Зарегистрирован: 29 мар 2005, 17:49

Re: Создание расходного складского ордера

Сообщение oiko »

Было или не было сегодня приход/расхода пусть у этой функции голова болит.
В данном случае добавлял запись в спецификацию ордера и эта функция что-то делает с таблицами сальдовок (их 5 штук если не ошибаюсь)

если я изменяю спецификацию то делал так
Addsaldomc_Upd(sporder.nRec, true, true);
update current sporder set sporder.srprice:=mytable.srprice, sporder.rsrprice:=mytable.srprice;
Addsaldomc_Upd(sporder.nRec, false, true);

Работает это сейчас или нет не знаю
Ответить