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

Формирование ордеров

Добавлено: 13 сен 2011, 11:40
BlazeBio
Очень нужен исходный код для кнопки "Формирование ордеров" в накладных на внутреннее перемещение в модуле "складской учёт". Если чего у кого в ЛС скидывайте, заранее благодарен.

Re: Формирование ордеров

Добавлено: 13 сен 2011, 12:11
Алексей
А для чего, самому сформировать? Я пользовался объектом ObjInterface SopInMovObj; посмотри файл sopinmov.vih

Re: Формирование ордеров

Добавлено: 13 сен 2011, 12:18
BlazeBio
Алексей писал(а):А для чего, самому сформировать? Я пользовался объектом ObjInterface SopInMovObj; посмотри файл sopinmov.vih
Нужно дополнение к исходнику добавить, ораклейную функцию, которая будет формировать код партии для готовой продукции.

Re: Формирование ордеров

Добавлено: 13 сен 2011, 12:29
Алексей
может написать алгоритм и повесить его на "после создания ордеров" ?
ну или всеми нами любимый alter interface :)

Re: Формирование ордеров

Добавлено: 13 сен 2011, 12:43
BlazeBio
Алексей писал(а):может написать алгоритм и повесить его на "после создания ордеров" ?
ну или всеми нами любимый alter interface :)
Не всё так просто, там уже есть один alter и одна ораклейная функция, будет вторая, но для того чтобы понять когда её использовать, нужно знать работу основной части, потому что вариантов развития события при нажатии на кнопку "формирования ордеров" много. Чтобы вкурить это желательно иметь исходник. Возможно придётся перезаписать новый код события "формирования ордеров".

Re: Формирование ордеров

Добавлено: 13 сен 2011, 14:58
oiko
BlazeBio писал(а):
Алексей писал(а):А для чего, самому сформировать? Я пользовался объектом ObjInterface SopInMovObj; посмотри файл sopinmov.vih
Нужно дополнение к исходнику добавить, ораклейную функцию, которая будет формировать код партии для готовой продукции.
Усложните существующий alter - добавьте условия
или все верно алгоритм после оприходования
на 712 именно так и делали для изменения партии ГП
типа с таким кодом
if (getfirst sklorder where ((pt.cpNrec==sklorder.csopr)))=tsok
{
if (getfirst sporder where ((sklorder.nrec==sporder.csklorder)))=tsok
do {
if (getfirst katmc where ((sporder.cmc==katmc.nrec)))=tsok
{
if (getfirst katparty where ((sporder.cparty==katparty.nrec)))=tsok
{
еще какието условия
oModifSal.Addsaldomc_Upd(sporder.nRec, true, true);
update current sporder set sporder.srprice:=чего-нибудь, sporder.rsrprice:=чего-нибудь, sporder.cparty:=чего-нибудь;
oModifSal.Addsaldomc_Upd(sporder.nRec, false, true);
}
}
} while (getnext sporder where ((sklorder.nrec==sporder.csklorder)))=tsok
}