Запуск алгоритма после изменения статуса

ПНР и сопровождение

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

Ответить
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Запуск алгоритма после изменения статуса

Сообщение sildae »

В договоре анализируется заполненность полей DOGOVOR.MINDEBTSAGE, DOGOVOR.MAXDEBTSAGE
Если эти поля =0, то статус не менять.

ф-ция договора curDogovor

Dogovor.setPosition(curDogovor());
if (Dogovor.DMin == 0)
{
if (Dogovor.Dmax == 0)
{
Message ('нужно проставить предоплату или отстрочку платежа');
}
}

Эта конструкция работает,пытаюсь вставить после Message
Dogovor.CNOTE = 0000000000000044h;
Dogovor.rewrite();
(снова статус оформляемый) . Ничего не получается.
Я нигде не описала в наименованиях свойств Dogovor.CNOTE, но там ,вроде ,и негде.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Запуск алгоритма после изменения статуса

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

недостаточно изменить ссылку на описание статуса, нужно ещё поменять поле dogovor.status
у о формляемых оно или 0 или 1, на память не помню...
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Re: Запуск алгоритма после изменения статуса

Сообщение n0where »

Откат выполнения алгоритма является переменная Binding. Если таким образом статус откатить не получится, то пишете в ТП - они должны исправить.
Данный механизм стандартный, работает на процедурах оприходования и изменениях статусов накладных и актов

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

Function RunInter(wflag: word; var pt: TRecAcc): boolean;
begin
          pt.Binding := 1; // или 7
end;
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: Запуск алгоритма после изменения статуса

Сообщение sildae »

n0where писал(а):Откат выполнения алгоритма является переменная Binding. Если таким образом статус откатить не получится, то пишете в ТП - они должны исправить.
Данный механизм стандартный, работает на процедурах оприходования и изменениях статусов накладных и актов

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

Function RunInter(wflag: word; var pt: TRecAcc): boolean;
begin
          pt.Binding := 1; // или 7
end;
А куда эту конструкцию вставлять?
Function RunInter(wflag: word; var pt: TRecAcc): boolean;
Dogovor.setPosition(curDogovor());
if (Dogovor.DMin == 0 & Dogovor.Dmax == 0)
{
Message ('Нужно проставить предоплату или отстрочку платежа. Статус проставлен не будет');
begin
pt.Binding := 1;
end;
}

У меня вылетает по ошибке на функции. "Предполагается наличие объекта".
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Re: Запуск алгоритма после изменения статуса

Сообщение n0where »

У вас на наверно JS алгоритм. Там немного другая схема. Но смысл тотже )) там настраивать побольше.

Я дал схему для VIP алгоритма
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: Запуск алгоритма после изменения статуса

Сообщение sildae »

n0where писал(а):У вас на наверно JS алгоритм. Там немного другая схема. Но смысл тотже )) там настраивать побольше.

Я дал схему для VIP алгоритма
А Vip в JS вставить можно?
Dmitry_Sol
Постоянный гость
Сообщения: 76
Зарегистрирован: 07 июн 2007, 12:32
Откуда: Витебск
Контактная информация:

Re: Запуск алгоритма после изменения статуса

Сообщение Dmitry_Sol »

Давайте по порядку.
1. В объекте dogovor в JS нет полей status и cnote.Из этого следует, что стандартными методами JS их изменить нельзя. НО
1) Есть возможность для платформ MS SQL и ORACLE подключить библиотеку работы с прямым SQL. Об этом популярно расписано на официальном форуме .
https://forum.galaktika.ru/viewtopic.ph ... 4228#p4228
2) Есть возможность из JS вызвать любой алгоритм. А алгоритмом может являться ВИП алгоритм. Алгоритм написанный на языке ВИП. Пример такого алгоритма, для чтения любых полей есть на официальном форуме. Если что то будет непонятно, алгоритм писал я, пишите в личку - помогу
3) Есть возможность написать свою пользовательскую библиотеку, вот здесь об этом вкратце упоминается.
http://www.tyumbit.ru/gal_forum/viewtop ... 622#p56622. Но для того чтоб создать свою библиотеку, нужна масса vih файлов. Если мне разрешат их выложить публично, я их выложу в опыт. А пока пишите в личку.

Р.S.При работе с JS нужно помнить несколько вещей: 1) JS регистрозависимый язык, поэтому важно следить за регистром. 2) числа комп типа - надо передавать в 10чном а не 16ричном режиме, тоесть dogovor.CNOTE=0000044h не прошло бы в любом случае. надо писать dogovor.CNOTE=68
Ответить