Страница 1 из 1

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

Добавлено: 21 дек 2012, 15:07
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.

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

Надеюсь мой опыт окажется для кого то полезным :-)

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

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

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

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

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

Добавлено: 25 дек 2012, 14:17
Dmitry_Sol
Странно. У меня bibl.7z отлично открывается 7z.
Сделал еще zip версию
http://code.google.com/p/js-library-gal ... &can=2&q=#

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

Добавлено: 10 мар 2015, 17:20
Masygreen
взялся я за эту прелесть... плиз подскажите как настроить .. пишу

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

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

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

X START SCRIPT:
ошибка выполнения
предпологается наличие обьекта
куда смотреть .. где читать по настройке и использованию

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

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

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

RunAnyView('Interface M_MNPLAN::mInterface01',false)
проверить правильность вызова можно по Ctrl+F4. Ваш интерфейс должен запуститься и из "Вычислить и модифицировать"
Если есть конкретные вопросы - можете писать в личку. Пользуюсь этим функционалом давно и успешно.

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

Добавлено: 13 мар 2015, 17:04
Masygreen
Похоже я где-то ошибаюсь ..
Настройки:
Изображение
Изображение
Результат:
Изображение
Странность функции из библиотеки визуализации в коде присутствуют, а RunAnyView нет .. так должно быть или в этом и ошибка ?
Hi - выскакивает

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

Добавлено: 13 мар 2015, 17:44
Masygreen
Проблема локализовалась ...
Почему-то в верхней части скрипта нет, как только добавил все заработало ..

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

 function RunAnyView(Line,Stat)
{
   VIP.CallMethod("JS_Atl_DopFun", "RunAnyView", Line,Stat,"")
   return VIP.ArgValue(4)
}

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

Добавлено: 16 мар 2015, 11:25
Masygreen
нашел

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

LoadVipRef(fBody, #AddComp(MNPComp) 'SteckString');
LoadVipRef(fEventList, #AddComp(MNPComp) 'SteckString');
мне показалось это лишнее, ан нет .. (

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

Добавлено: 20 ноя 2015, 13:01
savov
Странно, сделал все вроде, как написано. Но в списке функций указанные функции не появились. В чем может быть проблема?

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

Добавлено: 20 ноя 2015, 13:20
savov
Все подключилось, напутал немного с местоположением lst, много у нас exe папок.

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

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