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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.08.2006, 12:59   #1  
3oppo is offline
3oppo
Участник
Аватар для 3oppo
 
222 / 32 (2) +++
Регистрация: 30.06.2005
Номерная серия общая для всех компаний!
Есть ли такое. И если нету может кто подскажет красивое решение!?
Старый 31.08.2006, 13:12   #2  
ziva is offline
ziva
Иван Захаров
Злыдни
Лучший по профессии AXAWARD 2013
 
65 / 106 (4) +++++
Регистрация: 25.03.2005
Цитата:
Сообщение от 3oppo
Есть ли такое. И если нету может кто подскажет красивое решение!?
Виртуальные компании. Табличные коллекции.
NumberSequenceTable (Серии документов) - общая между всеми компаниями.
NumberSequenceReference (Ссылки на серии документов) - в каждой компании своя.
Возможно что-то еще - но цацапты под рукой нет...
Старый 31.08.2006, 13:26   #3  
3oppo is offline
3oppo
Участник
Аватар для 3oppo
 
222 / 32 (2) +++
Регистрация: 30.06.2005
Цитата:
Сообщение от ziva
NumberSequenceTable (Серии документов) - общая между всеми компаниями.
?!?!?
В каком смысле она общая?! У меня она различна для компаний!
Не понял что вы хотели этим сказать!

Как вариант здесь предлагают дублировать записи в разные компании, но это громоздко и не красиво. Особенно при большом кол-ве компаний. По моему проще юзать номерную серию одной и той же компании. Ещё есть какие ни будь идеи?!

Последний раз редактировалось 3oppo; 31.08.2006 в 13:46.
Старый 31.08.2006, 13:58   #4  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Красивое простое решение, но не номерной серией и не требует танцев с бубном для NemberSequenceReference :
1) таблица (код таблицы, код поля, инкрементируемый счетчик, префикс, суффикс, флаг захвата) с SaveDataPerCompany = No
и статической функцией выдачи следующего номера по текущей табле/полю

Работать будет везде и всегда. Для длинных идентификаторов (с числовой частью за пределами числа , определяемого 4-хбайтовым целым) инкрементируемый счетчик можно делать массивом и возвращать следующий номер как "префикс+счетчик[1]+счетчик[2]+...+счетчик[N]+суффикс"
Нарисовать обвязочку для заполнения еще вменяемого вида - и прощай программерская хирургия при настройке номеров для новых типов документов

Последний раз редактировалось TasmanianDevil; 31.08.2006 в 14:00.
Старый 31.08.2006, 14:05   #5  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
Цитата:
Сообщение от TasmanianDevil
Работать будет везде и всегда.
в этом случае непрерывность не получится.
если нужно все номерные серии перевести на такой режим, то можно создать домен, включить в него требуемые компании, поместить таблицы номерных серий в расшаренныю группу. и все. серии будут раздавать из одного пула. никакого бубна не нать. если только по одной серии, то тогда придется писать свое.
__________________
Дом поросенка должен быть крепостью. (Наф-Наф, полн. собр. соч., т.5, стр. 286)
За это сообщение автора поблагодарили: ziva (1).
Старый 31.08.2006, 14:06   #6  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Почитайте здесь
Старый 31.08.2006, 14:11   #7  
3oppo is offline
3oppo
Участник
Аватар для 3oppo
 
222 / 32 (2) +++
Регистрация: 30.06.2005
То есть написать свою номерную серия для всех компаний. Что же вариант, возможно ещё понадобится.
Старый 31.08.2006, 14:26   #8  
ziva is offline
ziva
Иван Захаров
Злыдни
Лучший по профессии AXAWARD 2013
 
65 / 106 (4) +++++
Регистрация: 25.03.2005
Цитата:
Сообщение от 3oppo
?!?!?
В каком смысле она общая?! У меня она различна для компаний!
Не понял что вы хотели этим сказать!
На пальцах:
Компании: aaa, bbb
Создаем табл. коллекцию 'SharedNum' и добавляем в нее таблицу NumberSequenceTable.
Создаем виртуальную vrt, привязываем к ней табличную коллекцию 'SharedNum' и компании aaa, bbb соответственно.
Перезаходим (перезапускаем АОС).
В итоге имеем:
NumberSequenceTable - общая между этими компаниями.
Например, если нужно чтобы ПКО в каждой компании нумеровались по-своему - создаете серии 'AAA_ПКО' и 'BBB_ПКО'.
Если нужна нумерация из одного пула номеров - создайте просто серию 'ПКО' и укажите ее в параметрах модуля в каждой из компаний.

Прям как дети, чесс-слово...
Старый 31.08.2006, 14:26   #9  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
mit, а непрерывность часто ли нужна ?
Если для нумерации документов - да
Если для создания уникального идентификатора записи - вряд ли строго необходима.

Предложенное мной - это решение навскидку, можно в принципе доработать до 100% "всегда и везде" плюс "это для всех , а это - только для этих компаний".
Идентификация записи и связь по RecID считается плохим тоном ,а обычная номерная серия без перенастройки Вам больше 2 с копейками миллиардов идентификаторов не выдаст в принципе - а эта заготовка может кому и понадобится для очень долгоживущей генерации идентификаторов, пока есть 3-ка и если вдруг 4-ка не будет поодерживать в номерных сериях 8-байтовый целый тип для счетчика . А не понадобится - да и ладно

Последний раз редактировалось TasmanianDevil; 31.08.2006 в 14:32.
Старый 31.08.2006, 14:30   #10  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Вообще-то, есть более очевидное решение.

Генерация и контроль любой номерной серии осуществляется через класс (точнее, набор классов). Вызов этого класса при любом раскладе надо делать вручную.

Какие проблемы написать класс наследник, в котором делать принудительный переход в какую-либо фиксированную компанию, а затем уже вызов "штатного" класса?

Другими словами, создаешь новую компанию, или используешь одну из существующих компаний как "хранилище" номерной серии, а генерация и контроль значений - через собственный класс. При вызове из любой компании автоматически переключаешся в эту специальную компанию и получаешь общее значение.
За это сообщение автора поблагодарили: mit (1).
Старый 31.08.2006, 14:33   #11  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
Цитата:
Сообщение от TasmanianDevil
mit, а непрерывность часто ли нужна ? ...
это уж решать автору вопроса. мне кажется что прежде чем начинать что то делать важно знать плюсы и минусы вариантов решений.
кстати сейчас пришла мысль, можно ведь при выхове класса номерных серий сходить в нужную компанию и взять там нужный идентификатор по всем правилам. причем можно сделать красивое решение, которое можно будет настраивать а не программировать каждый новый раз
__________________
Дом поросенка должен быть крепостью. (Наф-Наф, полн. собр. соч., т.5, стр. 286)
Старый 31.08.2006, 14:34   #12  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
Владимир опередил . именно это и имелось ввиду
__________________
Дом поросенка должен быть крепостью. (Наф-Наф, полн. собр. соч., т.5, стр. 286)
Старый 31.08.2006, 14:43   #13  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Хм. Еще идея... есть группы номерных серий. В группу входит серия по компаниям. Посмотрите, как сделано на фактурах.

Мы такое делали, когда надо было делать сквозную нумерацию по счетам-фактурам.

Напишите Lexx - он подскажет, если еще не забыл

С Уважением,
Георгий
Старый 01.09.2006, 06:38   #14  
3oppo is offline
3oppo
Участник
Аватар для 3oppo
 
222 / 32 (2) +++
Регистрация: 30.06.2005
Цитата:
Сообщение от ziva
На пальцах:
Компании: aaa, bbb
Создаем табл. коллекцию 'SharedNum' и добавляем в нее таблицу NumberSequenceTable.
Создаем виртуальную vrt, привязываем к ней табличную коллекцию 'SharedNum' и компании aaa, bbb соответственно.
Перезаходим (перезапускаем АОС).
...........
Мда… .

Абсолютно не приемлемое решение, так как в компаниях нужны различные номерные серии, кроме одной – двух ... ..

Всем спасибо решил по своему через changecompany. Юзаю номерную серию одной компании.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Номерная серия,,, превышена. tolstjak DAX: Функционал 28 14.01.2013 20:06
Данные из всех компаний zipo DAX: Программирование 18 16.05.2006 23:26
Несколько компаний - общая Главная Книга OliaM DAX: Функционал 11 06.03.2006 14:24
Номерная серия в виртуальной компании Владимир Максимов DAX: Программирование 2 22.12.2005 12:52
Номерная серия требование-накладная loka DAX: Функционал 2 15.06.2005 13:14

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

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

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