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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.01.2007, 18:18   #1  
oxbacc is offline
oxbacc
Участник
 
35 / 10 (1) +
Регистрация: 31.01.2006
Обработка накладной с использованием RLS
Описание: Одна закупка приходит на несколько складов. На каждом складе кладовщик по своим строкам обрабатывает "Отборочную накладную".

Задача: Необходимо что бы при обработке Отборочной накладной - обрабатывались только те Строки закупки в которые пришли на Склад1 (зависит от склада)

Решение: Доступ на уровне записей настроен на таблицы:
Строки закупки/Складская аналитика \ Поле: Склад \ Значение: Склад1 (зависит от склада)
Строки закупки - таблица обновлений/Складская аналитика \ Поле: Склад \ Значение: Склад1(зависит от склада)

Вопрос: 1) Почему обрабатываются все строки Закупки?
2) На какие таблицы нужно настроить RLS?
Старый 31.01.2007, 20:19   #2  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Подход неверный.

1. Пользователь может обработать через пакетную обработку и все ваши RLS не отработают.
2. Если делать, то делать дополнительные настройки в системе - привязать к людям склады, эти настройки использовать в форме обработки что бы они отрабатывали и в пакетном режиме.
3. У вас нет проблем с бизнесс-процессом? Какой документ получают все кладовщики по одной закупке? Копии накладных...
4. Если все таки хотите попробовать как задумали, то попробуйте перекрыть метод \AOT\Classes\PurchFormLetter_PackingSlip.updateQueryBuild() так:
X++:
void  updateQueryBuild()
{
    super();

    if (! callerFormDataSource)
    {
        if (purchTable)
        {
            if (!chooseLines.query().dataSourceTable(tableNum(InventDim)))
                chooseLines.query().dataSourceTable(tableNum(PurchLine)).addDataSource(tableNum(InventDim));
            chooseLines.query().dataSourceTable(tableNum(InventDim)).relations(true);
            chooseLines.query().dataSourceTable(tableNum(InventDim)).joinMode(JoinMode::InnerJoin);
            chooseLines.query().dataSourceTable(tableNum(InventDim)).addRange(fieldnum(InventDim, InventDimId)).value(queryNotValue(""));
            chooseLines.recordLevelSecurity(true);
        }
    }
}

Последний раз редактировалось raz; 31.01.2007 в 20:39.
Старый 01.02.2007, 09:00   #3  
oxbacc is offline
oxbacc
Участник
 
35 / 10 (1) +
Регистрация: 31.01.2006
1. Неможет. (недоступно)
2. "Привязать к людям склады" - это как?
3. Кладовщики Накладных не видят (требование руководства). Приходуют то количество которое физически пришло. (Для отборочных накладных вполне логично).
4. Спасибо. Покажу программистам.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Обработка накладной в заказе больше 10 минут для 200 строк sao DAX: Администрирование 23 19.10.2005 18:53
Обработка накладной – функция изменить дату Sanya DAX: Функционал 2 05.08.2005 12:50
Суммарная обработка накладной AlexUnik DAX: Функционал 1 19.08.2004 15:51
Обработка накладной Viola DAX: Функционал 1 05.04.2004 14:40
Обработка СЧФ по накладной из журнала George V. Tavrizoff DAX: Функционал 3 29.03.2004 18:54

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

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

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