AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.12.2004, 13:49   #1  
Valery is offline
Valery
Участник
 
381 / 10 (1) +
Регистрация: 28.02.2002
Адрес: Москва
Шаблон компании и доступ на чтение
Была такая идея. Для заполнения справочника создать шаблоны компании, в которых большинство полей уже заполнено. Пользователь вводит только код и название. Но вот засада: к некоторым полям пользователи должны иметь доступ только на чтение. А в таком случае в эти поля данные из шаблона компании не переписываются.
Можно ли как-то решить эту проблему или придется отказываться от использования шаблонов?
Старый 30.12.2004, 17:21   #2  
Valery is offline
Valery
Участник
 
381 / 10 (1) +
Регистрация: 28.02.2002
Адрес: Москва
Закоментировал кусочек кода в методе initValue в классе SysRecordTemplate - всё заработало.
Но я не программист (к сожалению). Может кто из программистов посмотрит - что этот код делает и как грамотно его подкорректировать ...
PHP код:
 private void initValue(container recordValuesboolean allowdublicates false)
{
    
#dictField
    
int i;
    
container valueSet;
    
SysDictField dictField;
    
fieldId fieldId;
    
int infologLines;
    
boolean doCut;

    
infologLines infolog.line();

    for (
i=conLen(recordValues); ii--)
    {
        
valueSet  conPeek(recordValuesi);
        
fieldId   conPeek(valueSet1);
        
dictField = new SysDictField(common.tableIdfieldId);

        if (
dictField/*Закоментировано мной--> &&
            (allowdublicates || bittest(#DBF_CREATE, dictField.flags())) &&  //SYP-Modification US-326-217-UGH8 (SP2)
            (allowdublicates || !dictField.isUnique())<--*/
)  // SYP-Modification HQ-879-412-8DD8 (SP1)
        
{
            
common.(fieldId) = conPeek(valueSet2);

            if (!
common.validateField(fieldId))          // SYP-Modification HQ-995-401-7G5Z (SP1)
            
{
                
doCut true;
                
common.(fieldId) = nullValue(conPeek(valueSet2));
            } 
        }
    }
    if (
doCut)
        
infolog.cut(infologLines);

Старый 30.12.2004, 17:59   #3  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Тут видимо предусмотрена ситуация, когда запрещенное для редактирования поле входит в индекс Allow Duplicates = No . Если это поле все время заполнять из шаблона, и запретить его редактирование, то получится постоянное дублирование записей. Поэтому этот код просто тупо ограничивает вставку данных из шаблона в
поля, которые запрещены на редактирование.

Я думаю, Вы закомментировали код, который запрещал записывать данные из шаблона в поля по следующей причине: из шаблона могли вставиться такие значения, которые нарушили бы ограничения для полей, входящих в индекс типа Allow Duplicates = No.

Поправка: Я неправильно выразился. Код не "тупо" ограничивает вставку данных из шаблона в поля, которые запрещены на редактирование. Он ограничивает вставку в поля, которые могут входить в индекс AllowDuplicates = No. К запрещение редактирования полей тут вроде ни при чем.
Старый 11.01.2005, 10:55   #4  
Valery is offline
Valery
Участник
 
381 / 10 (1) +
Регистрация: 28.02.2002
Адрес: Москва
Проверил - не выполняется условие (allowdublicates || bittest(#DBF_CREATE, dictField.flags()))
Что такое allowdublicates - понятно, а вот что такое bittest(#DBF_CREATE, dictField.flags()) - подскажите, пожалуйста, ау... программисты

P.S. Мне этот вопрос кажется достаточно важным, так как под сомнение поставлена концепция шаблонов компании.
Старый 11.01.2005, 11:13   #5  
AlexUnik is offline
AlexUnik
Участник
 
199 / 22 (1) +++
Регистрация: 01.06.2004
Адрес: Королёв
Цитата:
bittest(#DBF_CREATE, dictField.flags())
Это проверка поля на свойство AllowEditOnCreate. Смотрите макрос DictField
Теги
шаблон

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
доступ к записям виртуальной компании HelgaK DAX: Функционал 2 02.10.2006 07:54
Самопроизвольная смена компании (DataAreaId) у табличной переменной gl00mie DAX: Программирование 14 10.04.2006 12:18
Доступ на уровне записей в виртуальной компании ZSV DAX: Администрирование 3 05.09.2005 18:42
Компании: Одна большая или много маленьких? George Nordic DAX: Функционал 4 28.07.2004 20:39
Как запретить пользователю доступ к выбору компании? (-) Михаил Никоноров DAX: Администрирование 4 09.06.2003 10:34

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:18.