Запуск алгоритма после изменения статуса
Модераторы: m0p3e, edward_K, Модераторы
-
- Постоянный обитатель
- Сообщения: 188
- Зарегистрирован: 04 апр 2009, 15:56
- Откуда: сАРАТОВ
- Контактная информация:
Запуск алгоритма после изменения статуса
В договоре анализируется заполненность полей 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, но там ,вроде ,и негде.
Если эти поля =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, на память не помню...
у о формляемых оно или 0 или 1, на память не помню...
Re: Запуск алгоритма после изменения статуса
Откат выполнения алгоритма является переменная Binding. Если таким образом статус откатить не получится, то пишете в ТП - они должны исправить.
Данный механизм стандартный, работает на процедурах оприходования и изменениях статусов накладных и актов
Данный механизм стандартный, работает на процедурах оприходования и изменениях статусов накладных и актов
Код: Выделить всё
Function RunInter(wflag: word; var pt: TRecAcc): boolean;
begin
pt.Binding := 1; // или 7
end;
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Постоянный обитатель
- Сообщения: 188
- Зарегистрирован: 04 апр 2009, 15:56
- Откуда: сАРАТОВ
- Контактная информация:
Re: Запуск алгоритма после изменения статуса
А куда эту конструкцию вставлять?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;
}
У меня вылетает по ошибке на функции. "Предполагается наличие объекта".
Re: Запуск алгоритма после изменения статуса
У вас на наверно JS алгоритм. Там немного другая схема. Но смысл тотже )) там настраивать побольше.
Я дал схему для VIP алгоритма
Я дал схему для VIP алгоритма
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Постоянный обитатель
- Сообщения: 188
- Зарегистрирован: 04 апр 2009, 15:56
- Откуда: сАРАТОВ
- Контактная информация:
Re: Запуск алгоритма после изменения статуса
А Vip в JS вставить можно?n0where писал(а):У вас на наверно JS алгоритм. Там немного другая схема. Но смысл тотже )) там настраивать побольше.
Я дал схему для VIP алгоритма
-
- Постоянный гость
- Сообщения: 76
- Зарегистрирован: 07 июн 2007, 12:32
- Откуда: Витебск
- Контактная информация:
Re: Запуск алгоритма после изменения статуса
Давайте по порядку.
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
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