| 
			
			 | 
		#1 | 
| 
			
			 :o) 
		
			
	 | 
	
	
	
		
		
			
			
			Задача: запретить удалять строки разнесённых журналов.
			![]() Задача: запретить удалять строки разнесённых журналов. добавила в validateDelete() таблицы InventJournalTrans условие, что если журнал разнесён, то его нельзя удалять... (возвращает false) ![]() теперь можно просто нажать на кнопку, но ничего не произойдёт... то же вариант.. но, как-то не правильно это - кнопка на панели инструментов активная... Хотелось бы как-то красиво сделать, либо, чтобы кнопка была неактивная при раскрытии строк разнесённого журнала, либо сообщение выдать - вы мол хотите удалить строчку разнесённого журнала - "низзззя!" посоветуйте, плиз! X++: public boolean validateDelete() { boolean ret = super(); if ((isConfigurationkeyEnabled(configurationkeynum(CsePoland)) && this.inventJournalTable().Posted && ! InventJournalName::find(this.inventJournalTable().JournalNameId).DeletePostedLines)||(this.inventJournalTable().Posted)) { ret = false; } return ret; } 
				__________________ 
		
		
		
		
	"Только на Бога не может быть обиды - если смерть пошлет, значит, жизни пришел предел, на то рождался,- а за все остальное на Земле есть и должен быть спрос!." Чингиз Торекулович Айтматов.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Попробуйте так 
		
		
		
		
		
		
		
	X++: ret = checkFailed("вы мол хотите удалить строчку разнесённого журнала - низзззя!"); return ret;  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Задача противоречит стандартной логике Аксапты. 
		
		
		
		
		
		
			
		
		
		
		
	Чтобы сохранять журналы используйте журнализацию. читайте на форуме. обсуждалось неоднократно. Цитата: 
	
Только лучше задачу поменяйте. Вы сейчас Аксапту изнасилуете, а она ж потом всю жизнь мстить будет  
		 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			в методе класса (ну или в его потомках) JournalFormTrans.initDatasourceAllow() устанавливается доступность, добавьте туда запрет на удаление. 
		
		
		
		
		
		
		
		
			или создайте на форме метод initDatasourceAllow(), в котором запретите удалять, если необходимо в конкретной форме Последний раз редактировалось ice; 26.01.2009 в 18:27.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если Вам нужен запрет только в одной форме(в чем я сомневаюсь), то на init датасорса строк журнала можете делать проверку - разнесен журнал или нет. Далее в зависимости от результата проверки меняйте свойство AllowDelete.  
		
		
		
		
		
		
		
		
			А лучше всего прислушайтесь к совету Сергея. У Вас в журналах действительно есть что-то такое, чего нельзя получить из проводок? Последний раз редактировалось _scorp_; 26.01.2009 в 18:40.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Axapta 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
По теме. Прислушайтесь к совету Маззи не запрещать удалять. Если вы трижды подумали и это вам не подошло, то я бы делал так, как написал ice.  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Согласен, каюсь.
		 
		
		
		
		
		
		
		
		
			Последний раз редактировалось _scorp_; 26.01.2009 в 19:02.  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Member 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Стандартным функционалом не решается. 
		
		
		
		
		
		
			Если бы я взялся за такую кастомизацию, то сделал бы по аналогии с журналам ГК (там нельзя удалять журналы не удалив строк, а строки разнесенных журналов нельзя удалять даже с помощью функции удаления строк). Правда, корректно это реализовано в 4.0. В 3.0 еще были лазейки. Вот просто для аналогии. Даже если там и не совсем оптимальный подход. Для единообразия. 
				__________________ 
		
		
		
		
	С уважением, glibs®  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 :o) 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Надо будет как-то ещё и нашему бизнес-аналитику это объяснять... Цитата: 
	
Пока добавила новый параметр в таблицу BOMParameters, вывела его на соответтвующую форму InventParameters А далее, действительно сделала, как написал ice: Цитата: 
	
X++: void initDatasourceAllow() { BOMParameters BOMParameters = BOMParameters::find(); // my add boolean allow = !journalTableData.journalTable().posted && journalTableData.journalTable().sessionId; boolean allowPosted = !(BOMParameters.UNS_IsBlockPostedTransDel && journalTableData.journalTable().posted); // my add ; journalTrans_ds.allowDelete((journalTableData.journalTable().sessionId != 0)&&(allowPosted)); // my edit journalTrans_ds.allowEdit(allow); journalTrans_ds.allowCreate(allow); if (formHasMethodinitDatasourceAllow == unknownNoYes::Unknown) formHasMethodinitDatasourceAllow = formHasMethod(formRun,identifierStr(initDatasourceAllow)) ? unknownNoYes::Yes : unknownNoYes::No; if (formHasMethodinitDatasourceAllow == unknownNoYes::Yes) formRunObject.initDatasourceAllow(); } 
				__________________ 
		
		
		
		
		
			"Только на Бога не может быть обиды - если смерть пошлет, значит, жизни пришел предел, на то рождался,- а за все остальное на Земле есть и должен быть спрос!." Чингиз Торекулович Айтматов. Последний раз редактировалось jeky; 26.01.2009 в 19:30.  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Аманд 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Надо будет как-то ещё и нашему бизнес-аналитику это объяснять... 
		
	 
![]() И описание задачи тоже  
		 | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			а почему бы не использовать обычный банальный эрэлэс? Кодировать ведь не нужно абсолютно.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	The Variable men power.  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 :o) 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Цитата: 
	
![]() Думала, что чего-то не знаю... но может действительно не знаю... У нас журнализация - настроена.... Но как восстановить журнал оттуда? ![]() Понятно если джобом... но стандартых вроде средств не нашла.... И потом, стандартной наверное да... у нас, не стадартная ... У нас сторнирование журналов спецификации написано... Оно исключительно из журналов делается.. (таким образом исправляют ошибки в журнале - на него создают журнал с отрицательным количеством потом заводят новый) Собственно из-за этого и закрывали удаление.... ![]() + ещё у нас на разных формах есть кнопочка "Удаление строк журнала", вот пришлось ещё на каждой форме и это править... я у датасорсов перекрывала active и linkActive  
		
				__________________ 
		
		
		
		
		
			"Только на Бога не может быть обиды - если смерть пошлет, значит, жизни пришел предел, на то рождался,- а за все остальное на Земле есть и должен быть спрос!." Чингиз Торекулович Айтматов. Последний раз редактировалось jeky; 28.01.2009 в 19:11.  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Аманд 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			У нас сторнирование журналов спецификации написано...
		
	 
![]() Начинаем с простого вопроса, а на деле оказывается... ![]() Пожалуйста, формулируйте вопрос в целом, с указанием причин Ваших действий! Это крик души, а теперь по делу: чем ваше сторнирование журналов спецификаций отличается от функции приёмка, в которой можно укзазать направление операции? Хм, при разборке автоматически ставите аналитику и себестоимость? Тогда уж опишите, как и для чего вы используете журнал спецификаций.  | 
| 
	
 |