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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.02.2006, 19:24   #1  
usa is offline
usa
Участник
 
8 / 10 (1) +
Регистрация: 13.09.2005
Внешнее приложение Х экспортирует, а Axapta - стандартным образом импортирует операции (специальным образом рассчитанные счета клиентам). Через какое-то время приложение Х хочет узнать текущие долги по этим счетам с помощью приведённого ниже запроса.

А как получить тип журнала? В него при экспорте закладывается дополнительная информация.

Код:
select
	AccountNum = LTrim(CTO.AccountNum),
	DocumentNum = CT.DocumentNum,
	DocumentDate = CT.DocumentDate,
	DueDate = CTO.DueDate,
	Amount = Sum(CTO.AmountMST),
	Overdue = Convert(int, GetDate() - CTO.DueDate)
from
	Axdb..CustTransOpen as CTO

	inner join
	CustTrans as CT
	on CTO.dataAreaId = CT.dataAreaId and CTO.RefRecId = CT.RecId
where
	CTO.dataAreaID = '***'
	and CTO.DueDate < GetDate()
group by
	LTrim(CTO.AccountNum),
	CT.DocumentNum,
	CT.DocumentDate,
	CTO.DueDate
Старый 24.02.2006, 10:20   #2  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Most Valuable Professional
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,847 / 3764 (183) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от usa Посмотреть сообщение
Внешнее приложение Х экспортирует, а Axapta - стандартным образом импортирует операции (специальным образом рассчитанные счета клиентам). Через какое-то время приложение Х хочет узнать текущие долги по этим счетам с помощью приведённого ниже запроса.

А как получить тип журнала? В него при экспорте закладывается дополнительная информация.

Код:
select
	AccountNum = LTrim(CTO.AccountNum),
	DocumentNum = CT.DocumentNum,
	DocumentDate = CT.DocumentDate,
...
from
	Axdb..CustTransOpen as CTO

	inner join
	CustTrans as CT
Что-то не ладно с самим вопросом.
1. DocumentNum, DocumentDate - это дата внешнего документа. Номер и дата проводки - Voucher, TransDate
2. CustTransOpen - таблица открытых проводок. Записи в ней существуют только пока проводки не сопоставлены. Как только вы сопоставите оплату и продажей запись в CustTransOpen исчезнет. Постоянно проводки хранятся в CustTrans.
3. Журнал существует только до разноски. После разноски журнал может быть удален. Воспринимайте журнал как черновик. После того, как проводка стала беловиком (поставлена подпись, печать, пользователь нажал Разнести) журнал анализировать нельзя, можно только проводки.

Это значит: храните значимую информацию в проводках. Не работайте с черновиками.
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 24.02.2006, 10:39   #3  
usa is offline
usa
Участник
 
8 / 10 (1) +
Регистрация: 13.09.2005
Цитата:
Сообщение от mazzy Посмотреть сообщение
Что-то не ладно с самим вопросом.
1. DocumentNum, DocumentDate - это дата внешнего документа. Номер и дата проводки - Voucher, TransDate
DocumentNum и DocumentDate мне необходимы для сопоставления с внутренними данными внешней программы.
А понадобятся ли мне Voucher и TransDate?

Цитата:
Сообщение от mazzy Посмотреть сообщение
2. CustTransOpen - таблица открытых проводок. Записи в ней существуют только пока проводки не сопоставлены. Как только вы сопоставите оплату и продажей запись в CustTransOpen исчезнет. Постоянно проводки хранятся в CustTrans.
Мне надо получить именно те суммы, которые клиент пока не оплатил. А точнее, рассчитать пеню за своевременную неуплату и красиво распечатать и т. д. счёт во внешней программе.

Цитата:
Сообщение от mazzy Посмотреть сообщение
3. Журнал существует только до разноски. После разноски журнал может быть удален. Воспринимайте журнал как черновик. После того, как проводка стала беловиком (поставлена подпись, печать, пользователь нажал Разнести) журнал анализировать нельзя, можно только проводки.

Это значит: храните значимую информацию в проводках. Не работайте с черновиками.
Как понимать "в проводках"? В каких именно полях?
Если в
Старый 24.02.2006, 12:28   #4  
Lemming is offline
Lemming
Участник
Аватар для Lemming
Oracle
 
860 / 235 (9) ++++++
Регистрация: 20.04.2004
Адрес: Москва
Thumbs up
Цитата:
Сообщение от mazzy Посмотреть сообщение
3. Журнал существует только до разноски. После разноски журнал может быть удален. Воспринимайте журнал как черновик. После того, как проводка стала беловиком (поставлена подпись, печать, пользователь нажал Разнести) журнал анализировать нельзя, можно только проводки.
[off]
Сорри за офф. Что значит "После разноски журнал может быть удален"? О каких журналах шла речь? Просто прочитал и не совсем понял эту фразу...
[/off]
__________________
https://way2bariton.github.io/
Старый 24.02.2006, 14:04   #5  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Most Valuable Professional
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,847 / 3764 (183) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от usa Посмотреть сообщение
Цитата:
Сообщение от mazzy Посмотреть сообщение
Что-то не ладно с самим вопросом.
1. DocumentNum, DocumentDate - это дата внешнего документа. Номер и дата проводки - Voucher, TransDate
DocumentNum и DocumentDate мне необходимы для сопоставления с внутренними данными внешней программы.
А понадобятся ли мне Voucher и TransDate?
Ок. Про внешние документы - понял, наверное, готов согласится.
Не знаю что ВАМ может понадобиться
Я просто рассказываю.

Цитата:
Сообщение от usa Посмотреть сообщение
Цитата:
Сообщение от mazzy Посмотреть сообщение
2. CustTransOpen - таблица открытых проводок. Записи в ней существуют только пока проводки не сопоставлены. Как только вы сопоставите оплату и продажей запись в CustTransOpen исчезнет. Постоянно проводки хранятся в CustTrans.
Мне надо получить именно те суммы, которые клиент пока не оплатил. А точнее, рассчитать пеню за своевременную неуплату и красиво распечатать и т. д. счёт во внешней программе.
Ок. Тогда то, что надо.
Хотя пеню лучше считать Аксаптовскими средствами - будет надежнее.
Расчет пеней в ней есть. Посмотрите как он сделан.

Цитата:
Сообщение от usa Посмотреть сообщение
Цитата:
Сообщение от mazzy Посмотреть сообщение
3. Журнал существует только до разноски. После разноски журнал может быть удален. Воспринимайте журнал как черновик. После того, как проводка стала беловиком (поставлена подпись, печать, пользователь нажал Разнести) журнал анализировать нельзя, можно только проводки.

Это значит: храните значимую информацию в проводках. Не работайте с черновиками.
Как понимать "в проводках"? В каких именно полях?
Если в
В проводках - в CustTrans, VendorTrans, TaxTrans, InventTrans, LedgerTrans и т.п.
Можно попробовать хранить данные в документах - CustInvoiceLine, CustInterestTrans... Но будьте осторожны, некоторые поля (как скидку по оплате в них можно редактировать)

В каких именно полях и в каких именно проводках/документах - решать вам.
Например, информацию о проводках по клиентам лучше брать из CustTrans,
информацию о несопоставленных проводках по клиенту - CustTrans + CustTransOpen,
о начисленной пени - CustTrans + CustInterestTrans.

Никогда не храните информацию в журналах - LedgerJournalTrans, InventJournalTrans и т.п.



Цитата:
Сообщение от Lemming Посмотреть сообщение
Цитата:
Сообщение от mazzy Посмотреть сообщение
3. Журнал существует только до разноски. После разноски журнал может быть удален. Воспринимайте журнал как черновик. После того, как проводка стала беловиком (поставлена подпись, печать, пользователь нажал Разнести) журнал анализировать нельзя, можно только проводки.
[off]
Сорри за офф. Что значит "После разноски журнал может быть удален"? О каких журналах шла речь? Просто прочитал и не совсем понял эту фразу...
[/off]
Главное меню \ Главная книга \ Настройки \ Журналы \ Названия журналов
Закладка Разное \ Удаление строк после разноски.

Эта галочка отражается при создании журнала.
Закладка Разное \ Удаление строк после разноски.

Обратите внимание, что Заказ и Закупка - это всего лишь специальная форма журнала.
Т.е. Заказ и Закупка - также суть черновики. Беловики - накладные и счета-фактуры.
См. Главное меню \ Расчеты с клиентами \ Настройки \ Параметры
Закладка Обновления \ Удаление строк журнала после отгрузки, Удаление заказа после отгрузки.
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 24.02.2006, 15:45   #6  
Lemming is offline
Lemming
Участник
Аватар для Lemming
Oracle
 
860 / 235 (9) ++++++
Регистрация: 20.04.2004
Адрес: Москва
Thumbs down
Цитата:
Сообщение от mazzy Посмотреть сообщение
Цитата:
Сообщение от Lemming Посмотреть сообщение
Цитата:
Сообщение от mazzy Посмотреть сообщение
3. Журнал существует только до разноски. После разноски журнал может быть удален. Воспринимайте журнал как черновик. После того, как проводка стала беловиком (поставлена подпись, печать, пользователь нажал Разнести) журнал анализировать нельзя, можно только проводки.
[off]
Сорри за офф. Что значит "После разноски журнал может быть удален"? О каких журналах шла речь? Просто прочитал и не совсем понял эту фразу...
[/off]
Главное меню \ Главная книга \ Настройки \ Журналы \ Названия журналов
Закладка Разное \ Удаление строк после разноски.

Эта галочка отражается при создании журнала.
Закладка Разное \ Удаление строк после разноски.
Спасибо огромное! Чудны дела твои, Аксапта....
__________________
https://way2bariton.github.io/
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:31.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.