Задача - запретить удаление выполненных операций всем пользователям, кроме нескольких определенных.
Что делаю - на событие OnDatasetBeforeDelete для ds_Cashflow в скрипте ds_CashflowScript пишу функцию

function SelfOnDatasetBeforeDelete(Dataset) {
        ContactID = Connector.CurrentUser...ЕщеСвернуть

Нравится

15 комментариев

Мне кажется, такую логику лучше сделать путём раздачи прав на группу таблиц этого раздела.

Показать все комментарии (14)

Добрый день!
Почему-то не не обновляется объект IDataGrid.
Смотрю ActiveView.Items(1).DataField.DisplayValue там одно значение, а реально на экране совсем другое. Особенность грида в том что в DatasetLink указан редактируемый MemoryDataset, в котором так же установлено нормальное значение.
Обновляться...ЕщеСвернуть

Нравится

16 комментариев

Ммм, обращаться к активной (текущей выделенной) строке нужно так:

DataGrid.DatasetLink.Dataset.DataFields('ID').Value;

И заметьте, т.к. это...ЕщеСвернуть

Показать все комментарии (15)

Добрый день!

По-умолчанию в Террасофте настроены права доступа на таблицу Контактов таким образом, что редактировать контакт может либо ответственный, либо админ.

У нас возникла необходимость в таблицу Контакты добавить несколько полей, НО чтобы их могли редактировать все пользователи.

Т.е. на эти новые поля права для всех, а на все остальные - по-умолчанию.

Подскажите, пожалуйста, как лучше это реализовать?

Заранее спасибо!

Нравится

6 комментариев

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать...ЕщеСвернуть

Показать все комментарии (5)

Приветствую, коллеги:)
Один простой(может и не очень вопрос).
В DataGrid выведено для показа единственное вычисляемое поле, которое в свою очередь собирается из отдельных полей датасета, ну например:
Dataset('CalcField') = Dataset(Name) + ' получил следующий бонус: ' + Dataset(Bonus);
Соответственн...ЕщеСвернуть

Нравится

5 комментариев

Половину ячейки в гриде одним цветом, половину другим вы точно не сделаете.
Делайте два поля и красьте каждую ячейку отдельно если версия TS 3.2 и выше

Показать все комментарии (4)

Добрый день

В окне есть DataGrid, привязанный к набору данных A. Под DataGrid'ом есть WindowContainer внутри которого есть DataGrid привязанный к набору данных B.
Набор данных B основан на мудрёном запросе на выборку, основанном на приличном количестве таблиц.

Прошу пояснить как осуществляется процесс...ЕщеСвернуть

Нравится

2 комментария

Как я полагаю, надо слать Notify. Вопрос чему - Окну (и там проводить обработку) или Набору данных?

Показать все комментарии (1)

Здравствуйте!

Т.к. такая задача видимо является часто встречаемой, хочу заранее спросить, чтобы не пойти по неправильному пути:

К примеру есть связка Продажы-Счета. Нужно в зависимости от Состояния оплаты Счета (Оплачен), просуммировать все счета Продажи и занести полученное значение в Продажу (колонка...ЕщеСвернуть

Нравится

5 комментариев

Я считаю, что правильно было бы вообще реализовать это уже в запросе, а не в датасете.
Скрины в приложении (по пунктам)

0) (Опасно, сделайт...ЕщеСвернуть

Показать все комментарии (4)

Здравствуйте!
В Продаже в контекстном меню выполняю «Создать счет». Окно «Счет» висит секунд 30 (не отвечает), затем отвисает.
Тоже самое, если из Продаж создать Договор.

Дебаггером дохожу до функции

function RefreshDataset(Dataset) {
       CheckAssigned(Dataset, 'Dataset');
 ...ЕщеСвернуть

Нравится

11 комментариев

Есть еще события OnDatasetBeforeOpen(Dataset), и OnDatasetAfterOpen(Dataset) - скорее всего там накручена какая-то логика, которая выполняется...ЕщеСвернуть

Показать все комментарии (10)

Есть функция проверки валидности email:

function CheckCommunications(Dataset) {
   var Result = false;
   var emailRegEx = new RegExp("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$");
       if ((Dataset('Communication1TypeID') == '{7A628D16-D7D0-4979-B8BA-B64EF54A0366}'...ЕщеСвернуть

Нравится

1 комментарий

Здравствуйте.

Данные то сохраняются раньше на строке

scr_BaseDBEdit.btnOKOnClick(Control);

Поэтому просто переделайте обе функции:

function...ЕщеСвернуть
Показать все комментарии

Подскажите пожалуйста, как можно обнулить датасет в следующем случае:

function функция(StDataset, ParentWindow)
var Dataset             = GetOpenedDatasetByUSIWithFilter(DatasetUSI, FilterName, ParamValue, UniqueCode, DisableFieldsArray, DoDisableEvents);

   ...ЕщеСвернуть

Нравится

11 комментариев

Здравствуйте!

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас...ЕщеСвернуть

Показать все комментарии (10)

Господа

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

В не визуальные компоненты окна - добавил необходимый набор данных, на форме разместил компонент LookupDataControl, для свойства DatasetLink - указал...ЕщеСвернуть

Нравится

4 комментария

Хотел использовать простой LookupControl, но при открытии окна выходит ошибка иного рода.

0x8000ffff - TSObjectLibrary.DBDataset: Ошибка открытия...ЕщеСвернуть

Показать все комментарии (3)