Библиотека функций для JavaScript

База знаний

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

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

Библиотека функций для JavaScript

Сообщение Dmitry_Sol »

Доброго времени суток Коллеги

Работая с модулем Производство постоянно сталкиваемся с Javascript. Очень бесило в нем отсутствие очевидных функций, которых не хватает в работе.
Поэтому когда появилась возможность подключения собственных пользовательских библиотек, мы стали просто счастливы.
на
http://code.google.com/p/js-library-gal ... loads/list
я опубликовал такую библиотеку, в которой реализованы следующие функции:
вызвать любой интерфейс Галактики,
Получить значение поля из произвольной таблицы,
Вызвать окно выбора файла,
Сформировать ТХО по накладной (очень удобно ставить этот алгоритм после оприходования накладной, бухам меньше работы :-)
Очистить ТХО по накладной
Создать ДО
Создать спецификацию ДО
Удалить ДО
Выбрать произвольное КАУ

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

  Функция для вызова произвольного интерфейса или диалога:
function RunAnyView(Line,Stat) : boolean
 Line : string - Строка запуска интерфейса - к примеру Interface C_Partner::_PrintEtiketka(0,0)
 Stat : boolean - признак модальности интерфейса.
Возвращает результат выполнения интерфейса
Функция для чтения произвольного поля таблицы по нрек
function TxoGetField(Tip,Table,Field,Nrec):any type
Возвращает значение поля в зависимости от значения параметра Tip
0 - строка, 1-ссылка, 2-Double, 3-word, 4-дата, 5-boolean

Создание записи в ДО (BASEDOC) с типом VidDoc
function CreateBaseDoc(VidDoc)
Возвращает истину, если вставка удалась. В переменную NrecBase1 - возвращает нрек созданного ДО.
В переменную NrecStep1 - возвращает нрек созданного Stepdoc.

Удаление записи в ДО (BASEDOC) по нрек NrecBase
function DeleteBaseDoc(NrecBase)
Возвращает истину, если удаление удалось.

Создание записи в SPSTEP
function CreateSpStep(NrecBase,NrecSpStep)
NrecSpStep - 0, просто вставка, нрек предыдущего NrecSpStep
Возвращает нрек SpStep, если вставка удалась

Удаление записи спецификации ДО (spstep) по нрек NrecSpStep
function DeleteSpStep(NrecSpStep)
Возвращает истину, если удаление удалось.

Запуск функции привязки ТХО
function MakeTXODoc(VidDoc,NrecDoc,NrecHoz)
Привязывает ТХО для документа с типом VidDoc, нрек - документа NrecDoc
При привязке если NrecHoz=0, то проставляется ТХО по умолчанию (та тхо, у которой  значение в HOZOPER.CODE=А)

Запуск функции очистки ТХО
function ClearTXODoc(VidDoc,NrecDoc)
Отвязывает ТХО для документа с типом VidDoc, нрек - документа NrecDoc

Запуск функции удаления плана
function DeleteMnPl(MnPlNrec)
Удаление плана/заказа, нрек - документа MnPlNrec


Запуск функции получения имени файла
GetFileName(mask,title):string
mask - маска файла, *.* или *.xls
title - заголовок

Запуск функции выбора КАУ
GetKau(KodKau,Mode):string
KodKau - системный код аналитики
Mode - режим. 0 - одиночный выбор,1- множественный через маркер
Если режим=0, То результатом будет comp значение выбора, Если 1 -то функция вернет имя маркера!!
в файле bibl.7z http://code.google.com/p/js-library-gal ... z&can=2&q=
содержится исходник проекта со всеми необходимыми инклюдами.
debug.res - это ресурс системы скомпилированный под атлантис 5.4.38.5
файл userscript.lst http://code.google.com/p/js-library-gal ... t&can=2&q=
нужно положить в каталог Exe системы Галактика, после чего выполнить переинициализацию библиотек JavaScript.

После чего в перечне библиотек появится библиотека "Пользовательские функции ООО Юнисофт"

Надеюсь мой опыт окажется для кого то полезным :-)
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: Библиотека функций для JavaScript

Сообщение savov »

Доброго времени суток!
Скачал архив, но архив не открывается ошибка на каждом файле ( неизвестный метод), файлы размером 0 получаются :eek:
Polimer
Местный житель
Сообщения: 489
Зарегистрирован: 27 янв 2006, 12:46
Откуда: Москва

Re: Библиотека функций для JavaScript

Сообщение Polimer »

savov писал(а):Доброго времени суток!
Скачал архив, но архив не открывается ошибка на каждом файле ( неизвестный метод), файлы размером 0 получаются :eek:
А вы его винраром.
Dmitry_Sol
Постоянный гость
Сообщения: 76
Зарегистрирован: 07 июн 2007, 12:32
Откуда: Витебск
Контактная информация:

Re: Библиотека функций для JavaScript

Сообщение Dmitry_Sol »

Странно. У меня bibl.7z отлично открывается 7z.
Сделал еще zip версию
http://code.google.com/p/js-library-gal ... &can=2&q=#
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Re: Библиотека функций для JavaScript

Сообщение Masygreen »

взялся я за эту прелесть... плиз подскажите как настроить .. пишу

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

RunAnyView('Interface MNPLAN_RES::mInterface01',false);
получаю

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

X START SCRIPT:
ошибка выполнения
предпологается наличие обьекта
куда смотреть .. где читать по настройке и использованию
Время ведет!
Dmitry_Sol
Постоянный гость
Сообщения: 76
Зарегистрирован: 07 июн 2007, 12:32
Откуда: Витебск
Контактная информация:

Re: Библиотека функций для JavaScript

Сообщение Dmitry_Sol »

Пользоваться этим функционалом , можно, как и любой штатной библиотекой JavaScript.
у вас в списке библиотек, ваша библиотека должна появиться в пользовательских функциях.
Мне кажется, что вы ошиблись в названии компонента. Насколько я понимаю он должен называться M_MNPLAN.

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

RunAnyView('Interface M_MNPLAN::mInterface01',false)
проверить правильность вызова можно по Ctrl+F4. Ваш интерфейс должен запуститься и из "Вычислить и модифицировать"
Если есть конкретные вопросы - можете писать в личку. Пользуюсь этим функционалом давно и успешно.
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Re: Библиотека функций для JavaScript

Сообщение Masygreen »

Похоже я где-то ошибаюсь ..
Настройки:
Изображение
Изображение
Результат:
Изображение
Странность функции из библиотеки визуализации в коде присутствуют, а RunAnyView нет .. так должно быть или в этом и ошибка ?
Hi - выскакивает
Время ведет!
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Re: Библиотека функций для JavaScript

Сообщение Masygreen »

Проблема локализовалась ...
Почему-то в верхней части скрипта нет, как только добавил все заработало ..

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

 function RunAnyView(Line,Stat)
{
   VIP.CallMethod("JS_Atl_DopFun", "RunAnyView", Line,Stat,"")
   return VIP.ArgValue(4)
}
Время ведет!
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Re: Библиотека функций для JavaScript

Сообщение Masygreen »

нашел

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

LoadVipRef(fBody, #AddComp(MNPComp) 'SteckString');
LoadVipRef(fEventList, #AddComp(MNPComp) 'SteckString');
мне показалось это лишнее, ан нет .. (
Время ведет!
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: Библиотека функций для JavaScript

Сообщение savov »

Странно, сделал все вроде, как написано. Но в списке функций указанные функции не появились. В чем может быть проблема?
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: Библиотека функций для JavaScript

Сообщение savov »

Все подключилось, напутал немного с местоположением lst, много у нас exe папок.
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Библиотека функций для JavaScript

Сообщение zna »

Замечательная возможность, пользуюсь давно и успешно. Спасибо Дмитрию. :-)
Ответить