[Logo] Форум Корпорации ПАРУС
Пользовательское приложение VBScript. Как получить в коде iDENT (идентификатор отмеченных записей)?  XML
Индекс форума » 8.хх Системные средства
Автор Сообщение
XRAVER
Новичок

Зарегистрирован: 20.11.2012 11:41:49
Сообщений: 57
Оффлайн

Пользовательское приложение VBScript. Как получить в коде iDENT (идентификатор отмеченных записей)?

Это сообщение было изменено 1 раз. Последнее изменение было в 06.12.2019 11:56:49

[Email]
KLARIST
Пользователь
[Avatar]

Зарегистрирован: 02.11.2012 18:46:44
Сообщений: 403
От: Андрей Васильев
Оффлайн

Help:
Для получения регистрационных номеров записей раздела в скрипте используются:

·Переменная DOCUMENT, которая содержит регистрационный номер выбранной (текущей) записи раздела, из которого вызвано пользовательское приложение.

·Функция GetDocumentCount, которая предназначена для получения количества помеченных записей раздела, из которого вызвано пользовательское приложение.

·Функция GetDocument, при помощи которой возвращаются регистрационные номера записей раздела, из которого вызвано пользовательское приложение.



Использование переменной DOCUMENT зависит от состояния признака "Группировать документы при выполнении" записи о связи действия с разделами Системы. Если флажок:

·Установлен, тогда переменная DOCUMENT не определена!

·Не установлен, тогда:

·если ни одна из записей раздела (из которого вызвано пользовательское приложение) не помечена, тогда переменная содержит регистрационный номер выбранной (обычно, выделенной цветом) записи;

·если хотя бы одна из записей раздела (из которого вызвано пользовательское приложение) помечена (в левой части такой записи стоит "галочка"), тогда переменная содержит регистрационный номер текущей записи при последовательной обработке помеченных записей.



Использование функций GetDocumentCount и GetDocument не зависит от состояния флажка "Группировать документы при выполнении":

·если ни одна из записей раздела (из которого вызвано пользовательское приложение) не помечена, тогда функция GetDocumentCount возвращает 1, а функция GetDocument(0) – регистрационный номер выбранной записи (т.е. то же, что содержит переменная DOCUMENT, если она определена).

·если хотя бы одна из записей раздела (из которого вызвано пользовательское приложение) помечена,тогда функция GetDocumentCount возвращает количество помеченных записей (пусть, для определенности, это N), а GetDocument(0) возвращает регистрационный номер первой, GetDocument(1) – второй, ..., GetDocument(N-1) – последней из помеченных записей.


Таким образом, определить идентификатор отмеченных записей всё таки можно (а нужно ли?):

Это сообщение было изменено 2 раз. Последнее изменение было в 10.12.2019 12:21:34

[Email] [ICQ]
KLARIST
Пользователь
[Avatar]

Зарегистрирован: 02.11.2012 18:46:44
Сообщений: 403
От: Андрей Васильев
Оффлайн

На самом деле, при выполнении пользовательских приложений таблица SELECTLIST не используется. Приложение работает по гриду, GetDocumentCount() эквивалента конструкции типа Application.MainForm.ActiveMDIChild.MasterGrid.SelectedRows.Count, а GetDocument() - Application.MainForm.ActiveMDIChild.MasterGrid.SelectedRows.Items().
И если вы в приложении хотите запустить хранимую процедуру, требующую заполнения SELECTLIST вы должны будете сначала сами её в нём заполнить.

Это сообщение было изменено 7 раз. Последнее изменение было в 10.12.2019 13:13:59

[Email] [ICQ]
 
Индекс форума » 8.хх Системные средства
Перейти: