| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			InventRepJournalTable_RU
			 
			
			В Ахапте 2,5 для печати из складских журналов например "Акт о списании" 
		
		
		
		
		
		
		
	была таблица и форма InventRepJournalTable_RU, в Ахапте 3,0 такой таблицы нет и соответственно в таблице InventJournalTrans поле OffSessionID_RU, по которому были связаны эти таблицы, переименовано в DEL_OffSessionID_RU. Подскажите на что заменена эта таблица в 3.0 и как в 3.0 формировать эти отчеты?  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 сибиряк 
		
			
	 | 
	
	
	
		
		
		
		 
			
			InventJournalReportTable_RU ?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	С уважением, Вячеслав.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			спасибо
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А не подскажите где она заполняется? 
		
		
		
		
		
		
		
	[Проблема в том, что после разноске журнала инвентаризации не заполнятеся журнал результатов инвентаризации (заголовок которого - InventJournalReportTable_RU)]  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			а заполняется она в класса обработчиках отчетов отнаследованных от InventJournalProforma_RU, где в метод initOfficialsDefault надо передать параметр прописанный как раз в этом поле, если же в поле ничего не стоит, тогда он возьмет новый, который лучше уж записать в поле offsessionId_RU, если охота потом получить те же строки в форме должностных лиц.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Для разнесенных журналов Инвентаризации не создались записи в InventJournalReportTable.  
		
		
		
		
		
		
		
	Хотелось бы найти причину. [Случай частный -- т.е. обычно таблица заполняется] Вот ход заполнения InventJournalReportTable 1. Таблица inventJournalReportTable заполняется методом protected void insertReport(Map _dateCostMap, Map _dateDimMap = null) класса InventJournalReport_RU 2. Этот метод для инвентаризации вызывается из метода void saveReport(JournalTransList _journalTransList) класса InventJournalReport_CountColl_RU 3. Метод saveReport вызывается методом protected void postJournal(JournalTransList _journalTransList) класса InventJournalCheckPost_Movement В чем может быть причина что в InventJournalReportTable записи не попали? [Понимаю что вопрос общий, но стандартными методами выяснить сложно]  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Работая в режиме эмуляции дебагера вышел на таблицу InventJournalReportParms_RU в которой на рабочей снесли все записи. 
		
		
		
		
		
		
		
	Вопрос исчерпан. Спасибо!  
		 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Кстати, удаляются записи из InventJournalReportParms_RU очень просто. Достаточно в форме название складских журналов нажать кнопочку "Обновить". По идее это надо делать один единственный раз при настройки системы. Но уже в ходе эксплуатации можно нечаянно нажать на эту кнопку и все - никаких отчетов (требований-накладных, актов на списание и т.д.) по складским журналам. Причем обнаруживается это обычно уже после того как разнесено некоторое немаленькое количество журналов. И приходится все отсутствующие отчеты создавать ручками... 
		
		
		
		
		
		
		
	Дабы этого не произошло, надо ограничиывать доступ к настройкам складских журналов. А еще лучше чуть-чуть подправить в коде: в методе InventJournalReportTypes_RU::initTable() закомментировать строчку PHP код: 
	
			
	 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Спасибо! Актуально.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Реанимирую немного давно забытую тему. 
		
		
		
		
		
		
			Цитата: 
	
		
			Сообщение от Peter Savintsev
			 
 
			Кстати, удаляются записи из InventJournalReportParms_RU очень просто. Достаточно в форме название складских журналов нажать кнопочку "Обновить". По идее это надо делать один единственный раз при настройки системы. Но уже в ходе эксплуатации можно нечаянно нажать на эту кнопку и все - никаких отчетов (требований-накладных, актов на списание и т.д.) по складским журналам. 
		
	То что при этом удаляются ранее выбранные отчеты для наименований журналов - пожалуй что можно отнести к багам (недоработке) этого куска функционала. Не совсем понятно почему ситуация не меняется от версии к версии: аналогичное поведение наблюдается и в AX 4.0 SP2, на днях посмотрел локализованный код AX2009 - при беглом просмотре метод InventJournalReportTypes_RU::initTable() не изменился (визуально). Цитата: 
	
X++: public void updateControls() { ... while select ReportType, Description from reportTypesTable where reportTypesTable.JournalType == inventJournalName.JournalType { select firstonly RecId from inventReportParms where inventReportParms.ReportType == reportTypesTable.ReportType && inventReportParms.InventJournalNameId == inventJournalName.JournalNameId; if (inventReportParms.RecId) { //BP deviation documented selectedItemsCtrl.addItem(new FormListItem(reportTypesTable.Description, 0, inventReportParms.ReportType)); } else { //BP deviation documented availableItemsCtrl.addItem(new FormListItem(reportTypesTable.Description, 0, reportTypesTable.ReportType)); } } ... } Понятно что описанная ситуация имеет несколько искусственный характер, но все же. Для целостности картины в методе InventJournalReportTypes_RU::initTable() необходимо все-таки удалять записи из таблицы InventJournalReportParms_RU, но не столь 'сурово' как в штатном функционале: X++: delete_from reportsTable;X++: public server static void initTable() { DictEnum journalTypeEnum = new DictEnum(enumnum(InventJournalType)); DictEnum reportTypeEnum = new DictEnum(enumnum(InventJournalReportType_RU)); int idx, jdx; InventJournalType journalType; InventJournalReportType_RU reportType; InventJournalReport_RU report; InventJournalReportTypes_RU reportTypesTable; InventJournalReportParms_RU reportsTable; // --> in.dc InventJournalName inventJournalName ; // <-- in.dc ; delete_from reportTypesTable; // --> in.dc // delete_from reportsTable; // <-- in.dc for(idx = 0; idx < reportTypeEnum.values(); idx++) { reportType = reportTypeEnum.index2Value(idx); report = InventJournalReport_RU::construct(reportType); for(jdx = 0; jdx < journalTypeEnum.values(); jdx++) { journalType = journalTypeEnum.index2Value(jdx); if (report.isJournalTypeSupported(journalType)) { reportTypesTable.clear(); reportTypesTable.JournalType = journalType; reportTypesTable.ReportType = reportType; reportTypesTable.Description = report.description(); reportTypesTable.insert(); } } } // --> in.dc delete_from reportsTable notexists join reportTypesTable where reportTypesTable.ReportType == reportsTable.ReportType join inventJournalName where inventJournalName.JournalNameId == reportsTable.InventJournalNameId && inventJournalName.JournalType == reportTypesTable.journalType ; // <-- in.dc } 
				__________________ 
		
		
		
		
	Dynamics AX 4.0 SP2  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Kabardian (3). | |