|  13.08.2004, 15:46 | #1 | 
| Участник | задвоение номеров ГК 
			
			Скажите, кто сталкивался с проблемой задвоения номеров ГК?  Есть AX 3.0, SP 3, без hotfix-ов. При разноске журналов основных средств, номера попадают в numberSequenceList, статус Активный, мероприятие - нерешенный. Потом эти номера преобразуются в статус - Свободно, мероприятие - не используется. Соответственно, затем эти номера снова выбираются, хотя уже существуют проводки с этим номеровм в LedgerTrans, и происходит задвоение. Серия документов - непрерывная, стоит автоочистка. Параметры ГК - Запрещать дубликаты, контроль непрерывности. Подскажите, пожалуйста, что можно сделать? Еще лучше, где поправить. Конечно, можно убрать непрерывность серии документов, как уже писалось на форуме, но ... должно же работать корректно  ) Спасибо | 
|  | 
|  16.08.2004, 16:33 | #2 | 
| Участник | 
			
			И это не только в ОС... это и обычный журнал ГК и касса этим грешат... и очистка не трет список... можно его ручками тереть переодически  или мод написать... Но согласен, более верно вообще решить проблему с непрерывностью в системе - она просто не работает корректно и все ждут чуда, что в одном из СП ее починят... но возможно проще и, главное, быстрее самим разобраться. Надо сказать, что в ах25 - с этими задвоениями было много хуже чем в ах30... те некоторая оптимизация на лицо   | 
|  | 
|  16.08.2004, 18:29 | #3 | 
| Участник | 
			
			Спасибо, за участие.  Получается, что непрерывность без крайней необходимости лучше не использовать.   И это очередная криво работающая функциональность Microsoft...  ( Интересно, кто-нибудь считал соотнесение времени, которое тратится на настройку, доработку функционала, т.е. то, что необходимо клиентам, и на исправление ошибок microsoft в Axapta? | 
|  | 
|  16.08.2004, 19:27 | #4 | 
| Участник | Цитата: 
		
			Изначально опубликовано anny  Получается, что непрерывность без крайней необходимости лучше не использовать.   И это очередная криво работающая функциональность Microsoft...  ( Интересно, кто-нибудь считал соотнесение времени, которое тратится на настройку, доработку функционала, т.е. то, что необходимо клиентам, и на исправление ошибок microsoft в Axapta? Рад тебя видеть. Нет так маленько. 1. непрерывность действительно лучше не использовать 2. но не потому что это криво работающая функциональность. 3. непрерывность требует существенно больших ресурсов от Аксапты и СКЛ 4. непрерывность надо уметь использовать программисту. Программист должен о многом помнить, чтобы корректно работать с непрерывностью. насчет багов. мы в свое время говорили о международном функционале. По прежнему уверен, что международный функционал можно использовать практически без опасений. Все российские функции - очень осторожно. | 
|  | 
|  17.08.2004, 13:29 | #5 | 
| Аксакал в отставке | 
			
			А в какой момент у Вас установлено генерировать номер ГК?
		 
				__________________ Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). | 
|  | 
|  17.08.2004, 15:22 | #6 | 
| Участник | 
			
			Я немного посмотрела в коде -  на мой взгляд,  суть не в том, в какой момент генерируются номера, а в том, что при работе журнала ОС, по сравнению с общим журналом ГК номера точно так же попадают в таблицу NumberSequenceList при создании записей в журнале, но если после разноски общего журнала использованные номера удаляются из этой таблицы, то после разноски журнала ОС они остаются. Следующая по времени процедура очистки переводит эти номера в статус - Свободно. Создаем любой журнал, использующий данную серию..  и получаем сюрпризы... Решение без программирования - отказаться от непрерывности и/или отключить очистку. Интереснее было бы в нужном месте вызвать удаление уже разнесенных voucher из NumberSequenceList. Но, увы, я не нашла это место... Вернее подходящих мест слишком много... to mazzy - спасибо за добрые слова,  но я  думаю, что имелась в виду другая  Аня  , еще раз - спасибо. | 
|  | 
|  17.08.2004, 15:28 | #7 | 
| Участник | Цитата: 
		
			Изначально опубликовано anny  Я немного посмотрела в коде - на мой взгляд, суть не в том, в какой момент генерируются номера, а в том, что при работе журнала ОС, по сравнению с общим журналом ГК номера точно так же попадают в таблицу NumberSequenceList при создании записей в журнале, но если после разноски общего журнала использованные номера удаляются из этой таблицы, то после разноски журнала ОС они остаются. См. класс NumberSeqFormHandler Цитата: 
		
			Изначально опубликовано anny  to mazzy - спасибо за добрые слова,  но я  думаю, что имелась в виду другая  Аня  , еще раз - спасибо. Тогда привет Той Ане   | 
|  | 
|  15.04.2005, 11:44 | #8 | 
| Модератор | Новые "фенечки". 
			
			Господа! Попробуйте сделать так: РК - Платежи - Новый платеж Введем просто 3 пустые строчки (3 раза Ctrl + N) Смотрим на номера ГК - они ОДИНАКОВЫЕ! Потом прописываем клиентов - (Разных!)и разносим.. с ГК идут проводки с ОДИНАКОВЫМ номером. Во как. Это бага или фича такая? С Уважением, Георгий. | 
|  | 
|  15.04.2005, 11:46 | #9 | 
| NavAx | 
			
			Смое прикольное - что эта шняга там болтается, по видимому, уже давно, еще с 2.5... By design - это не глюк, это фича.  )) Есть мысль не давать просто сохранять строку, пока не проставят сумму и счет, тогда для предыдущей записи проверка сработает, как надо. Есть еще вариант тупо возвращать true. | 
|  | 
|  15.04.2005, 12:13 | #10 | 
| Administrator | 
			
			В общем, это действительно так By Design   Все время возвращать true из takeNewVoucher() я бы не стал. Лучше сделать так: 1. Во время create() в LedgerJournalTrans_ds сделать forceWrite(true), чтобы пустые записи не плодились, а записывались все время. 2. В validateWrite() сделать проверку, чтобы пользователь не мог создавать строки журнала с пустым AccountNum. 3. Для красоты можно еще выставить свойство Mandatory для AccountNum в форме LedgerJournalTransCustPaym. 
				__________________ Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me | 
|  | 
|  15.04.2005, 12:18 | #11 | 
| NavAx | 
			
			Ну, если реализовать п.2, то п.1 уже, в принципе, и не нужен.
		 | 
|  | 
|  15.04.2005, 12:28 | #12 | 
| Administrator | 
			
			А вот и нет. Если не сделать п.1, то записи не будут отправлены в базу данных после нажатия Ctrl+N еще раз. Соответственно не будет вызываться и validateWrite(). Попробуйте   
				__________________ Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me | 
|  | 
|  15.04.2005, 12:30 | #13 | 
| NavAx | 
			
			Ладно, уболтал.   ) Еще вот что смущает - (точнее, не еще, а, собственно, одна из причин проблемы) if (!oldAccountNum && oldVoucher) return false; Для чего-то это, может быть, и нужно..... | 
|  | 
|  15.04.2005, 16:50 | #14 | 
| Участник | 
			
			Это не баг, это фича и удобная   Например, если надо перекинуть задоженность по клиенту из краткосрочной в долгосрочную, или рисовать проводки по векселям. В одной строке система не даст сделать проводку, если счет и корсчет совпадают. А если сделать многострочную проводку, документ ГК будет одинаковый, счет и корсчет одинаковые, а профили разноски - разные. | 
|  | 
|  15.04.2005, 17:15 | #15 | 
| NavAx | 
			
			Короче, сделали так: добавили параметр в настройки журнала, если он стоит в положении "Всегда новый" - ставится всегда новый ГК (всегда takeNewVoucher - true). Иначе - работает, как в стандарте.
		 | 
|  | 
|  15.04.2005, 18:09 | #16 | 
| Moderator | 
			
			2 Maximin: Цитата: 
		
			Смое прикольное - что эта шняга там болтается, по видимому, уже давно, еще с 2.5...
		
	  если в том - так там и решение этой фичи было   | 
|  | 
|  15.04.2005, 18:21 | #17 | 
| Модератор | 
			
			Не, заново напоролись на старые грабли. Хотя слова Ани заставили нас задуматься  С Уважением, Георгий. | 
|  | 
|  15.04.2005, 18:54 | #18 | 
| Moderator | 
			
			Аня права Но в свое время решал эту проблему пунктами 2 и 3 описанными Максимом Горбуновым так как такой функциональности нам тогда не нужно было. | 
|  | 
|  | 
| 
 |