создание приходного ордера функцией

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

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

Ответить
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

создание приходного ордера функцией

Сообщение Darikon »

нужно создать приходный ордер функцией.
нашел описание функции RUNQUALALG, по журнализации именно она запускается при создании ордера
Параметры
1) DOCNREC : Comp
2) DOCSPNREC : Comp
3) VIDSOPR : Word
4) DOPR : Date
5) TYPEAC : Word

что обозначают 2 и 5 параметры?
и вообще как ее использовать? :???:
Галактика 8.1
KATZ
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49

Сообщение KATZ »

Darikon
нужно создать приходный ордер функцией
SOPRDOCB.VIH, функция MakeOrderByKatSopr.
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

Сообщение Darikon »

ок, спасибо, сегодня-завтра проверю
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

Сообщение Darikon »

компилятор ругается, говорит нет такой функции...
SOPRDOCB.VIH подключил перед Interface
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

дык ее просто вызывать то нельзя, нужно объявлять сначала переменную с типом что стоит после слова vipinterface в vih
а потом уже вызывать как имя_переменной.функция
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

Сообщение Darikon »

что теперь ему не нравится?
Ошибка: Ожидалось поле структурного или ссылочного типа
if SoprDocB.MakeOrderByKatSopr(MyKatSoprA_nrec, false, false)=true then
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

Сообщение Darikon »

Если кого интересует:
у функции RUNQUALALG параметры скорее всего
1) DOCNREC : Comp - katsopr.nrec
2) DOCSPNREC : spsopr.nrec
3) VIDSOPR : Word - katsopr.vidsopr
4) DOPR : Date - katsopr.dopr
5) TYPEAC : katsopr.tidk
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

Сообщение Darikon »

добился безошибочной компиляции. но при запуске функции выдается 2 сообщения :
1-е поле не является ссылкой требуемого класса
и 2-е: ошибка загрузки объекта из ресурсного файла(SoprDocB)

В чем фишка?
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

Сообщение Darikon »

Вопрос решил с MakeOrderByKatSopr. все работает

но появился следующий вопрос: даже указав showMess_ = false
не получается избавиться от вопросов о дате списания и , при наличии старых ордеров, об удалении старых.
Что нибудь с этим можно сделать?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: создание приходного ордера функцией

Сообщение Алексей »

тоже интересует вопрос - можно ли как то избавиться от вопросов? просто док-ты грузятся конвертом без участия человека...
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: создание приходного ордера функцией

Сообщение edward_K »

посадите девочку - пусть жмет.
На расход пашет
oMakeOrder.MakeRashOrder(jKatSopr.NRec, jKatSopr.dSopr, 0, True, boGetTune('Doc.NaslDescr'), errF.handle, 1, 0, 1, 32);
На приход видимо
oMakeOrder.MakePrihOrder(katsopr.nrec,false, ww_firstrozn,ww_prRozn, 0,32,0);
но это все рассчитано на определенные типы документов
Чтобы на ордера не ругалась грохните их перед оприходыванием
external _loop sklorder
{ iPrihOrd.Delete_Order(sklorder.nrec)
} //_loop sklorder
чтоб не ругалась на остатки проверьте их сами.
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: создание приходного ордера функцией

Сообщение Vik »

Чтоб избавиться от вопросов, включите логирование в пакетном режиме:

Код: Выделить всё

OpenMessageLog (<путь к файлу>, mfBatch | mfLog2Stream )
....
<Вызов кода, где возможен диалог с пользователем, от которого хотите избавиться> // будет считаться, что нажата кнопка по умолчанию
....
CloseMessageLog
Ну или как вариант, если лог не нужен, то просто управляйте режимом пакетного ввода функциями
MessageLogEnableBatch/MessageLogDisableBatch
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: создание приходного ордера функцией

Сообщение Алексей »

Vik - и так и так крутил, один фиг задает вопрос про дату и при выводе отчета тоже заставляет жать ввод...не получилось в общем.

edward_K - попробовал, ордер не создался. можно по подробнее - что за переменные 2 последние
wMode : Word;
wParam : Word
ордера пытаюсь создать к актам об излишках в складском учёте.
Ответить