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

База знаний

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

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

Сообщение Dmitry_Sol » Пт дек 21, 2012 15:07

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

Работая с модулем Производство постоянно сталкиваемся с Javascript. Очень бесило в нем отсутствие очевидных функций, которых не хватает в работе.
Поэтому когда появилась возможность подключения собственных пользовательских библиотек, мы стали просто счастливы.
на
http://code.google.com/p/js-library-galaxy/downloads/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-galaxy/downloads/detail?name=bibl.7z&can=2&q=
содержится исходник проекта со всеми необходимыми инклюдами.
debug.res - это ресурс системы скомпилированный под атлантис 5.4.38.5
файл userscript.lst http://code.google.com/p/js-library-galaxy/downloads/detail?name=Userscript.lst&can=2&q=
нужно положить в каталог Exe системы Галактика, после чего выполнить переинициализацию библиотек JavaScript.

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

Надеюсь мой опыт окажется для кого то полезным :-)
Dmitry_Sol
Постоянный гость
 
Сообщения: 76
Зарегистрирован: Чт июн 07, 2007 12:32
Откуда: Витебск
Reputation point: 23

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

Сообщение savov » Вт дек 25, 2012 11:53

Доброго времени суток!
Скачал архив, но архив не открывается ошибка на каждом файле ( неизвестный метод), файлы размером 0 получаются :eek:
savov
Местный житель
 
Сообщения: 589
Зарегистрирован: Вт мар 29, 2005 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж
Reputation point: 12

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

Сообщение Polimer » Вт дек 25, 2012 14:16

savov писал(а):Доброго времени суток!
Скачал архив, но архив не открывается ошибка на каждом файле ( неизвестный метод), файлы размером 0 получаются :eek:

А вы его винраром.
Polimer
Местный житель
 
Сообщения: 489
Зарегистрирован: Пт янв 27, 2006 13:46
Откуда: Москва
Reputation point: 8

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

Сообщение Dmitry_Sol » Вт дек 25, 2012 14:17

Странно. У меня bibl.7z отлично открывается 7z.
Сделал еще zip версию
http://code.google.com/p/js-library-galaxy/downloads/detail?name=bibl.zip&can=2&q=#
Dmitry_Sol
Постоянный гость
 
Сообщения: 76
Зарегистрирован: Чт июн 07, 2007 12:32
Откуда: Витебск
Reputation point: 23

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

Сообщение Masygreen » Вт мар 10, 2015 18:20

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

Код: Выделить всё
RunAnyView('Interface MNPLAN_RES::mInterface01',false);

получаю
Код: Выделить всё
X START SCRIPT:
ошибка выполнения
предпологается наличие обьекта

куда смотреть .. где читать по настройке и использованию
Время ведет!
Masygreen
Местный житель
 
Сообщения: 1088
Зарегистрирован: Чт сен 04, 2008 11:27
Откуда: Москва
Reputation point: 26

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

Сообщение Dmitry_Sol » Ср мар 11, 2015 16:42

Пользоваться этим функционалом , можно, как и любой штатной библиотекой JavaScript.
у вас в списке библиотек, ваша библиотека должна появиться в пользовательских функциях.
Мне кажется, что вы ошиблись в названии компонента. Насколько я понимаю он должен называться M_MNPLAN.
Код: Выделить всё
RunAnyView('Interface M_MNPLAN::mInterface01',false)

проверить правильность вызова можно по Ctrl+F4. Ваш интерфейс должен запуститься и из "Вычислить и модифицировать"
Если есть конкретные вопросы - можете писать в личку. Пользуюсь этим функционалом давно и успешно.
Dmitry_Sol
Постоянный гость
 
Сообщения: 76
Зарегистрирован: Чт июн 07, 2007 12:32
Откуда: Витебск
Reputation point: 23

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

Сообщение Masygreen » Пт мар 13, 2015 18:04

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

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

Сообщение Masygreen » Пт мар 13, 2015 18:44

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

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

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

Сообщение Masygreen » Пн мар 16, 2015 12:25

нашел

Код: Выделить всё
LoadVipRef(fBody, #AddComp(MNPComp) 'SteckString');
LoadVipRef(fEventList, #AddComp(MNPComp) 'SteckString');

мне показалось это лишнее, ан нет .. (
Время ведет!
Masygreen
Местный житель
 
Сообщения: 1088
Зарегистрирован: Чт сен 04, 2008 11:27
Откуда: Москва
Reputation point: 26

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

Сообщение savov » Пт ноя 20, 2015 14:01

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

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

Сообщение savov » Пт ноя 20, 2015 14:20

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

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

Сообщение zna » Ср июл 26, 2017 09:21

Замечательная возможность, пользуюсь давно и успешно. Спасибо Дмитрию. :-)
zna
Местный житель
 
Сообщения: 552
Зарегистрирован: Вт мар 29, 2005 17:49
Откуда: Челябинск
Reputation point: 14


Вернуться в Опыт

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2