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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.02.2017, 14:37   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
? Длина номера фактуры, накладной больше 20 символов.
Добрый день.
Коллеги, недавно столкнулись с проблемой, что поставщики чаще стали присылать номера документов длиной больше 20 символов.
В аксапту не лезут.
С учетом того что в 1С , Oracle Aplications длина номера инвойса 50 символов (интересно сколько в сапе ?) то такая ситуация будет повторяться все чаще.
Как можно исправить ситуацию ?
Есть несколько вариантов.

1. «В лоб». Увеличить EDT NUM, FactureExternalId_RU до 50 символов.
+
А. просто и быстро модифицировать.
Б. Практически нулевая вероятность багов в кое после такого изменения.
-
А. Нереально долгая синхронизация базы. (у нас порядка 700 миллионов записей только в InventTrans, а работаем 24/7. Разрешенный простой- 2 часа в неделю). Вариант почти невозможный.
Б. Увеличить размер поля NUM– выпустить джина из бутылки – будут чаще заполнять длинные значения (причем не только для номеров документов. Наследники EDT NUM много где используются)- уменьшится скорость работы базы.
В. А если потребуется еще длиннее номер сделать ? (Интересно, кто встречал больше 50?) – Опять все переделывать и устраивать перепроверку и переколбас БД ?


2. «Компромиссный». Оторвать подветку EDT InvoiceId от NUM и увеличить до 50 символов. Также увеличить длину EDT FactureExternalId_RU до 50 символов.
+
А. Не такой большой рост базы и не такой долгий простой в работе как для варианта 1. (но все равно немало)
-
А. Все равно немаленькое время синхронизации БД.
Б. Все равно потери производительности при увеличении длины поля (хотя и не такие сильные как в варианте 1)
В. Дополнительные трудозатраты на перепроверку исходного кода – нет ли где то усечения номеров документов при работе (нередко EDT Num использовали как промежуточный тип для переменных в коде и.т.п.). Выше риск разных багов.


3. «Новое поле “Внешний номер”». Завести в табличках документов 2-й поле «Внешний номер». В который и писать значение от поставщика и использовать его при выгрузках во внешние системы при печати документов, при формировании книг покупок и продаж и.т.п.
+
А. Короткое время синхронизации базы.
Б. Нет рисков усечения номеров документов при работе
-
А. Все равно приличные трудозатраты на доработку кода, чтобы в нужных местах использовалось новое поле. (изменений наверно даже побольше чем в вариантах 1-2)
Б. Много неоднозначностей в каком случае какое поле использовать и как заполнить обычный InvoiceId (как усечь номер от поставщика, чтобы не получить кучу дублей)


4. «Я-шланг». Прикинуться шлангом. В аксапте ничего не менять, пусть пользователи сами что-нибудь придумают, усекут номер как хотят и потом разбираются с налоговой и с контрагентами.
+

-



Какие еще есть варианты и что лучше выбрать ? Кто как делал у себя на проектах ?

P.S.
Все больше начинаю любить суррогатные ключи.

P.P.S.
DAX 2009 Приложение RU5

Последний раз редактировалось Logger; 09.02.2017 в 14:40.
Теги
factureexternalid, invoice, invoiceid, num, электронная отчетность, электронный сф

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
System.Net.Mail.MailMessage и Subject длиной больше 100 символов Damn DAX: Программирование 0 09.02.2011 19:59
Длина строки range - 250, 1000 или больше Logger DAX: Программирование 13 19.09.2010 14:36
"Испортились" номера в таблице договоров Shirmin Oleg DAX: Администрирование 3 21.11.2005 12:27
Печать накладной и счёта-фактуры через AxaptaCOMConnector mpogorelov DAX: Программирование 0 25.02.2005 18:28
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42

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

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

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