Данный материал предназначен разработчикам для снижения своих временных трудозатрат.
Ниже описано то, что в справке не найти или находится с трудом, но необходимо на практике.
Для доступа к Справке - сделать ярлык для справки и в свойствах указать Быстрый запуск по заданной комбинации клавиш - справка всегда доступна на экране и можно нормально копировать, т.к. при вызове через F1 не работает Ctrl+C ("...\NPO Computer\IS-Builder\7.X.X\Localization\ru\UnitedHelp.chm" - найдите поиском этот файл справки по диску где установлен клиент DIRECTUM).
В Windows 7 справку можно вызывать так: нажать кнопку Win, набрать с клавиатуры "Справочная" и нажать Enter.
Утилиты разработчика: в сценариях, справочниках, функциях ... сделать видимой колонку: Дата изменения и при сортировке последние изменения будут сразу видны.
Сохранить вид справочника по умолчанию (видимость колонок) для все пользователей - Меню Вид -> Сохранить (у пользователя меню Вид->Восстановить).
Алексей Дядин: «Вид по умолчанию применится только если пользователь открывает справочник впервые или если он делает восстановление вида.»
Если на карточке есть реквизит типа справочник, то открыть карточку значения в этом поле можно нажав на Ctrl + "..." (если нет вычислений на реквизите) или Ctrl+F4 если поле на форме только для просмотра.
Стандартный поиск документов в меню Поиск можно переопределить в записи EDOCUMENT_SEARCH (Утилиты администратора-Общее администрирование-Поиски) и включить нужные критерии (реквизиты) в стандартный поиск.
Условия поиска подтверждаются клавишей
Дата сегодня задается нажатием Ctrl+Ж.
В редакторе вычислений:
Ctrl+Shift+I и Ctrl+Shift+U – сдвинуть выделенный блок текста на символ табуляции соответственно вправо или влево;
Ctrl+Alt+> и Ctrl+Alt+< - соответственно закомментировать или раскомментировать выделенный блок текста;
Ctrl+T – удалить слово справа от курсора;
Ctrl+U, Ctrl+L и Ctrl+I – изменить регистр букв выделенного текста соответственно на верхний, нижний или противоположный текущему регистру;
Ctrl+Shift+0…9 – установить закладку на выделенный текст, если ее нет, и снять, если есть;
Ctrl+0…9 – перейти к закладке.
Вызов справки по функции Ctrl+F1
Вызов подсказки осуществляется при нажатии комбинации клавиш Ctrl+Space на пустой области.
С помощью комбинации клавиш Ctrl+J вызывается подсказка с шаблонами операторов языка ISBL.
Подсказка по параметрам функции появляется при нажатии клавиш Ctrl+Shift+Space в области параметров функции.
Переход на указанную строку Alt+G
Выполнить сценарий F9
Удобнее всего выходить из редактора вычислений c сохранением по Ctrl+Q
- F2 или Ctrl+S – сохранить изменения данных окна. Сохранение выполняется, если в окне есть измененная информация.
Если в редакторе вычислений пропал курсор, например после вызова справки функции, то вернуть его можно нажав два раза на клавишу Ins (это например, есть и другие способы вернуть курсор не выходя из редактора вычислений).
Для объекта Карточка для событий Сохранение До и Сохранение После - нельзя использовать функции, выводящие диалоговые окна, т.к. это может привести к блокировкам работы других пользователей на время показа диалогового окна.
Если нужно вставить картинку в несохраняемый реквизит при открытии карточки, чтобы кнопка Сохранить не становилась активной, можно использовать следующий вариант:
if not Object.Inserted
Events = Object.Events
Events.DisableAll()
Rules = Object.Rules
Rules.DisableAll()
Object.Save
Rules.EnableAll()
Events.EnableAll()
endif
Если нужно сохранить карточку и/или закрыть карточку использовать можно следующий вариант:
if Object.Inserted or Object.Modified
Action = Object.Form.Actions.FindAction('SaveAndCloseAction')
else
Action = Object.Form.Actions.FindAction('EscAction')
endif
Action.Execute
Сделать колонку только для просмотра в детальном разделе - таблице:
//колонка только для просмотра
if not VarIsNull(Object.Form.Controls.FindControl("STcxGrid1"))
Grid = Object.Form.Controls.FindControl("STcxGrid1")
ReqColumn = Grid.FindColumnByRequisiteName("ISBVersionAuthor")
if not VarIsNull(ReqColumn)
ReqColumn.ReadOnly = TRUE
endif
endif
Если нужно скрыть колонку в отображении справочника (меню Вид->Видимые колонки), то это можно сделать добавив запись на событие открытия набора данных: Object.Requisites('Имя_реквизита').IsHidden = True. Таким образом, например, можно скрыть системные реквизиты или реквизиты, которые не всем нужно видеть.
Если нужно отключить в отображении справочника какое либо действие (в меню и соотвествующие кнопки), то можно воспользоваться следующим кодом на событии открытия набора данных, например:
View = Sender.Component.View
if not VarIsClear(View)
View.Forms(FORMLIST_NAME).Actions.FindAction("DeleteAction").Enabled = FALSE //отключить действие справочника удалить
endif
Открыть карточку документа в указанном представлении, например тестовом, можно следующим образом:
if object.ISBEDocKind == "ПСД"
object.ViewName = "Тест"
object.Form.ShowModal
Exit()
endif
Если нужно чтобы в одном главном представлении справочника открывались соответствующие представления карточек, то пример можно посмотреть в справочнике РКК, где в главном представлении открываются соответствующие карточки Входящих, Исходящих и Внутренних документов.
В редакторе форм:
Изменить размеры и положение выделенных элементов на форме можно с помощью мыши и с помощью клавиатуры
Если необходимо срочно внести изменения в рабочей базе (без тестовой), то для отладки кода лучше всего сначала проверить код только у себя, например ограничив часть кода по своему логину (например по функции ПользовательИмя()), чтобы код выполнился только у вас, далее проверить код из под пользователя и только потом сделать код доступным всем пользователям в рабочей базе.
Конечно же подразумевается, что вы не закрывая проводник с правами разработчика, запускаете второй проводник на своем компьютере с правами пользователя для проверки работоспособности внесенных изменений, указав в трее перед запуском логин и пароль соответствующей тестовой записи пользователя (щелкнуть в трее по значку службы паролей DIRECTUM (ключики) и в окне службы паролей указать логин\пароль пользователя).
Дополнительно:
Скопировать в буфер обмена можно следующим образом:
if assigned(Object.Текст)
текст = Object.Текст
buf = CreateObject("htmlfile")
buf.ParentWindow.ClipboardData.Setdata("Text"; текст)
endif
14.09.12
Отправить POST запрос на Web-сервер из DIRECTUM можно следующим образом:
url="http://....."
ExceptionsOff()
FreeException()
!XHR = CreateObject("Msxml2.XMLHTTP.3.0")
!XHR.Open("POST"; url; false)
!XHR.send(null)
ExceptionsOn()
if ExceptionExists()
....
endif
26.11.13
Если нужно написать поиск по критериям, получить быстро список реквизитов можно следующим способом:
SearchDescription = Searches.CreateNew(CkEDocument) //
аналогично для ckFolder и т.д.
реквизиты = 'Критерии поиска:'
foreach RequisiteDescription in SearchDescription.RequisiteDescriptionList
реквизиты = AddSubString(RequisiteDescription.Name & TAB & RequisiteDescription.Title; реквизиты; CR)
endforeach
EditText(реквизиты)
Пример с ИЛИ:
Search = Searches.CreateNew(ckEDocument)
Criteria = Search.SearchCriteria
критерий1 = Criteria.Add("ISBEDocKind")
критерий1.SetCompleteValue(" Д000064"&" ИЛИ "& " Д000063")
критерий2 = Criteria.Add('Проект')
критерий2.SetCompleteValue(код)
Search.Description = "Выберите ..."
Search.Show(ssmMultiSelect;False)
Заключение
Если всё описанное выше вы уже знаете и используете на практике - это значит что вы действительно разработчик!
Ещё надо знать:
Варианты запроса данных в DIRECTUM
Оптимизация прикладной разработки для повышения быстродействия
В помощь разработчику:
Альтернативный отладчик DIRECTUM
Подсветка синтаксиса ISBL в Notepad++
Дополнительно:
DIRECTUM 4.9.1 Обновление №1820
DIRECTUM 4.9.1. Интеграция с внешней справочной системой
Пример реализации:
DIRECTUM 4.9.1. Изменения в платформе
DIRECTUM 4.9.1. Выпуск документации на версию системы DIRECTUM 4.9.1
DIRECTUM 4.9. Приятные дополнения для прикладных разработчиков
DIRECTUM 4.9. Поля множественного выбора
DIRECTUM 4.9. Новые возможности документации
DIRECTUM 4.8. Чиним баги, реализуем идеи. Недорого
DIRECTUM 4.8. Подсказки к объектам системы
DIRECTUM 4.8. Обновление документации
DIRECTUM 4.8. Изменения в платформе. Try - except
DIRECTUM 4.8. Раскрашиваем задачи
DIRECTUM 4.8. Изменения в платформе. Локализация.
DIRECTUM 4.8. Изменения в платформе. Прочие изменения
DIRECTUM 4.8. Изменения в платформе. Наименование
DIRECTUM 4.7/4.8. Новые события ТКЭД, типов справочников, заданий и уведомлений
DIRECTUM 4.8. Изменения в платформе: иерархия в справочниках
У типовых маршрутов нет колонки Дата изменения.
Лично мы написали для себя универсальный сценарий для любых справочников, который отображает на экране изменения в справочниках за период, т.е. кто, когда и какие записи изменял, а также создавал и удалял в зависимости от выбранных параметров.
к вопросам отладки, еще есть сочетание Alt+G, позволяет перейти к строке с указанным номером. Если видите ошибку "... в строке 100500 ..." то жмете alt+g и сразу переходите на эту строку.
Еще: Механизм "ведущий-ведомый" работает только в визуальном режиме. Если вы заполняете ведомый реквизит программно, то нужно и ведущий реквизит заполнить программно. Система сама его не заполнит в этом случае.
Почему то мне так и подумалось, что данный механизм не регламентированный, и поэтому возможны всякие неожиданные последствия. Хорошо, что так и не решил им воспользоваться.
Когда мы изменили набор атрибутов поиска EDOCUMENT_SEARCH - в Веб доступе в области критериев поиска электронных документов, перестали отображаться ряд критериев и сама кнопка "Поиск", в толстом клиенте всё прекрасно работает.
Обратился с проблемой в службу поддержки, там сказали, что дефект зарегистрируют в следующих версиях исправят. Так что может в 5.7 только))
вобще волшебная кнопочка, она еще подтверждает указание параметров в отчетах и в других подобных диалогах, включая этот
Подскажите какие еще есть имена действий и меню, аналогичные "DeleteAction" ?
Благодарю!
Свойство Actions - это список, так что можно по всем пройтись и посмотреть. Для формы-списка справочника их очень много.
Иван, спасибо! Нашёл всё что искал ;)
И года в год, актуальность не теряется!
Авторизуйтесь, чтобы написать комментарий