Страница 1 из 1

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

Добавлено: 25 фев 2020, 13:56
Buddy
Коллеги, нужна консультация.
Пишу модуль импорта данных из Excel, на основе которых должен сформироваться расходный складской ордер.
Стал искать стандартные методы для создания ордеров, нашел функцию MakeRashOrder интерфейса objMakeOrder.
Но эта функция в качестве одного из параметров требует Nrec накладной, а у меня накладной нет.
Как формировать расходный ордер в этом случае? Создавать предварительно "фиктивную" накладную? Или есть другие способы создать расходный складской ордер из кода?

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

Добавлено: 25 фев 2020, 14:13
Den
Ну сделайте сопроводит документ какой-нить да и все (Акт на списание).
Не нравится с сопроводительным документом - можно просто шапку ордера создавать самому (благо там дюжину полей max заполнить требуется )+ sporder и воспользоваться нужными методами modifOrd.vih

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

Добавлено: 26 фев 2020, 08:32
KVS
Существует возможность экспорта/импорта документов стандартными средствами. Нужна лицензия на модуль "Обмен бизнес-документами", вроде бы как.

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

Добавлено: 26 фев 2020, 12:31
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
}

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

Добавлено: 26 фев 2020, 13:25
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"?

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

Добавлено: 26 фев 2020, 13:38
oiko
это значит в таблицу сальдовок добавляется запись

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

Добавлено: 26 фев 2020, 13:43
spark
oiko писал(а):это значит в таблицу сальдовок добавляется запись
А если по этому разрезу уже было движение сегодня? Я думал в saldomc по одной строчке на дату по каждому разрезу.
А в каких случаях тогда эти параметры должны быть true?
Функция потенциально полезная, хотелось бы понять как она работает. =)

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

Добавлено: 26 фев 2020, 13:50
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);

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