| 
	 | 
| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			AX 2012 R2 CU7 CrossCompany запросы к SpecTrans (SaveDataPerCompany = No) в стандартном коде
			 
			
			В классе SpecTransManager (используется при сопоставлениях/реверсировании сопоставлений транзакций клиентов/поставщиков) встречаются запросы вида  
		
		
		
		
		
		
		
	X++: while select crossCompany specTrans where specTrans.SpecCompany == _specCompany && specTrans.SpecTableId == _specTableId && specTrans.SpecRecId == _specRecId В случае выполнения такого запроса пользователем с ограниченными правами, запрос не возвращает записей. Удаление ключевого слова crossCompany из запроса решает проблему. Поделитесь идеями, в чем может быть причина?  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			тоже напоролся на подобное. 
		
		
		
		
		
		
		
	в итоге, пока работаю с таблицей specTrans только через класс SpecTransManager и его друзей (типа CustVendOpenTransManager) это не очень хорошо с точки зрения производительности. но зато надежно. мне тоже интересно, "в чем может быть причина"  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: gl00mie (1). | |
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Возможно, использование crosscompany приводило к принудительной проверке прав ядром и делалось это как-то криво. 
		
		
		
		
		
		
		
	А если обрамить этот запрос X++: unchecked( Uncheck::TableSecurityPermission )
{
} | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Morpheus (3). | |
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Попробую права явно на таблицу выдать.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
|
| За это сообщение автора поблагодарили: mazzy (2). | |
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В 2009 вроде были добавлены опционально включаемые платежи кросс-компани для единого казначейства, возможно, ноги оттуда растут?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Ivanhoe as is..  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я бы лучше пропатчил код. 
		
		
		
		
		
		
		
	Это проще. Сделал один раз и забыл. А права надо постоянно в актуальном состоянии поддерживать. Чуть забыл - и вылезли старые глюки. Ненадежно. Да и нафига на эту таблицу права ? Все равно пользователь непосредственно в нее сам не пишет, а пишет в нее код, который дергается по кнопка и по едит методу. Значит это явно бага в коде, которую вы просто пропатчите и все.  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Злыдни 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В 2012 в таблицу SpecTrans (возможно и ранее) добавили поле RefCompany и создали группу таблиц CentralizedPayments, в которую входит SpecTrans. По задумке, если компании входят в холдинг, это позволяет привязать платежи к встречным операциям разных компаний, разрешая учитывать оплаты по "центральной" бухгалтерии в дочерних структурах. Т.е. в 2012, как я понял, надо создать виртуальную компанию для всех дочерних и добавить туда группу таблиц.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Мне кажется то что вы говорите верно для 2009-й аксапты. 
		
		
		
		
		
		
		
		
			А для 2012-й это особого смыла не имеет, так как табличка уже не хранится в разрезе компаний. Последний раз редактировалось Logger; 19.01.2016 в 10:12. Причина: исправил опечатки  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: mazzy (2). | |
| 
			
			 | 
		#10 | 
| 
			
			 Злыдни 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
1. Клиент приобретает товар в двух филиалах компании (отдельный счет в каждой). 2. Реквизиты для оплаты у каждого филиала указаны одинаковыми и относятся к головному филиалу. 3. Клиент, чтобы уменьшить расходы по банковскому переводу, формирует платежное с указанием двух заказов. 4. Головной филиал проводит приходный платеж по выписке (если бы заказ был один, можно было бы конкретную компанию указать в журнале платежей). 5. Финансовые специалисты в каждом из филиалов запускают сопоставление открытых операций и должны видеть сумму к сопоставлению (если не делать общую компанию, то они не смогут выбрать оплату). (специалисты клиента очень часто говорят, что оплата относится только к заказам одной компании, но при прямом вопросе, может ли быть оплата за заказы одного клиента/поставщика по разным филиалам, отвечают: "Редко, но бывает") 
				__________________ 
		
		
		
		
	люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не совсем понял к чему вы это написали. 
		
		
		
		
		
		
		
	Я не говорю, что интеркомпани сопоставление не нужно. Я про технику написал. Как это реализовано в разных версиях. Для specTrans в 2012-й - нет нужды запихивать в виртуальную компанию. Хотя возможно остальные таблички из указанной вами коллекции нужно.  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Злыдни 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я в изысках кода, конечно, мало понимаю, но в форме сопоставления открытых проводок идет вызов класса SpecTransManager, в котором устанавливается фильтр по компании "сопоставления". Может я и ошибаюсь, но, мне кажется, объединение головной и дочерних компаний в одну виртуальную с указанной группой таблиц позволит видеть консолидированные данные при сопоставлениях.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А в стандартных ролях прав на spectrans нет? Просто это не единственное место в 2012 которое будет некорректно работать при неполных правах.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Ivanhoe as is..  | 
| 
	
 | 
| 
	
	 | 
	
		
  |