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

Добавить новую кнопку в стандартный интерфейс

Добавлено: 09 авг 2013, 12:28
s2176
Добрый день!
Подскажите, пожалуйста, реально ли доработать стандартный галактический интерфейс, добавив в него свою кнопку и событие, с ней связанное. Или можно добавлять только поля, и дорабатывать уже существующие события?

Re: Добавить новую кнопку в стандартный интерфейс

Добавлено: 09 авг 2013, 12:35
RAJAH
Тема как-то подозрительно похожа на http://www.tyumbit.ru/gal_forum/viewtop ... =2&t=11290

Re: Добавить новую кнопку в стандартный интерфейс

Добавлено: 09 авг 2013, 12:40
s2176
Спасибо, не по глазам было :)

Re: Добавить новую кнопку в стандартный интерфейс

Добавлено: 09 авг 2013, 13:28
s2176
Все равно непонятно.
Модуля "договоры" у нас нет, хочу добавить кнопку в личную карточку сотрудника.
Окно WINCOMMONDATA.
в примере с кнопкой используется функция:
cfsCreateObject('Button', ' имя контейнера ', 'cmMyTestButton', False, l)

Пробовала в качестве контейнера подставить имя окна: компилятор ругается на "выход за границы коллекции".
Как можно определить имя контейнера, или проблема в чем-то другом?

Re: Добавить новую кнопку в стандартный интерфейс

Добавлено: 09 авг 2013, 15:06
s2176
Выход за границы коллекции победила, но теперь компилятор ругается на cfOk в строке
if (cfsSetCurrentContainer('Z_STAFF::RECEPTIONMAIN') <> cfOk)

Не подскажете, где лежит описание этой константы, что нужно подключить?

Re: Добавить новую кнопку в стандартный интерфейс

Добавлено: 09 авг 2013, 16:24
m0p3e
cfOk = 0
Кстати удобнее использовать:

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

cfsSetCurrentContainer ( cfsGetCurrentContainerSelf )

Re: Добавить новую кнопку в стандартный интерфейс

Добавлено: 09 авг 2013, 17:55
s2176
Спасибо, конечно, за cfOk, но там есть еще другие константы, например: cfErrCreateObjectError. Ее значение тоже хочется знать.
Где-то же они определены, но где?
В документации описаны функции, перечислены константы, но как это использовать, не зная их значений?

Re: Добавить новую кнопку в стандартный интерфейс

Добавлено: 11 авг 2013, 09:37
edward_K
Ну есть 2 пути - приобрести дистрибутив атланитса, либо установить viper, что бесплатно - нужный вам inc будет в папке Source - CFG_ERR.inc. Он кстати подключен в Galnet.inc - то есть прописание пути на inc (собрать из каталога frm и периодически обновлять после установки патчей) , добавить путь на source из viper и прописать в проекте

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

#statusline "statgal"
//============
#include galnet.inc 
end;
#include glotypes.inc
#include glovars.inc
решит много ваших проблем. Да - galnet.inc понадобиться несколько vih - они у вас также должны быть в каталоге frm после распаковки патчей. Обратите внимание, что galfrm распаковывает в другое место - то есть его нужно распаковать и переместить папки из него в src с заменой более старых файлов, после чего удалить. Я распаковываю так "d:\WinRAR\winrar.exe" x -y -u *.rar

Re: Добавить новую кнопку в стандартный интерфейс

Добавлено: 12 авг 2013, 13:48
m0p3e

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

const cfOk                                =  0;
    // Ok :-)

const cfErrObjectTypeNotExist             = -1;
    // тип объекта не существует
const cfErrObjectTypeAlreadyExist         = -2;
    // тип объекта уже существует

const cfErrObjectNotExist                 = -3;
    // объект не существует
const cfErrObjectAlreadyExist             = -4;
    // уже есть объект с таким именем, как у создаваемого шаблона

const cfErrContainerObjectNotExist        = -5;
    // контейнер не существует

const cfErrPropNotExist                   = -6;
    // свойство не существует
const cfErrPropAlreadyExist               = -7;
    // свойство уже существует

const cfErrObjectSelfAlreadyExist         = -8;
    // уже есть объект с указанным Self'ом
const cfErrContainerSelfNotExist          = -9;
    // не найдено контейнера с указанным Self'ом

const cfErrCantEditProp                   =  -10;
    // нельзя редактировать указанное свойство
const cfErrPropValueError                 = -11;
    // значение поле не совместимо по типу с указанным свойством
const cfErrCantCreateObject               = -12;
    // нельзя создать объект или шаблон в указанном контейнере
const cfErrCreateObjectError              = -14;
    // не получилось создать объект

const cfErrTemplateAlreadyExist           = -15;
    // создается шаблон, который уже был до этого
const cfErrTemplateNotExist               = -16;
    // шаблон не существует
const cfErrTemplateObjectAlreadyExist     = -17;
    // такой объект уже есть в шаблоне

const cfErrObjectStorageNotCreated        = -18;
    // вызвана функция управления ObjectStorage, а он не создан 

const cfErrInternalBadCommand             = -19;
    // неизвестная команда сервисных функций

const cfErrBadFieldType                   = -20;
    // не того типа параметр

const cfErrBadFind                        = -21;
    // атом не найден

const cfErrMustBeUnsigned                 = -23;
    // Значение типа cftUnsignedInteger меньше 0


Re: Добавить новую кнопку в стандартный интерфейс

Добавлено: 12 авг 2013, 14:06
s2176
Спасибо, Edward_K и m0p3e!
Продолжу раскопки :-)