| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Здравствуйте, уважаемые! 
		
		
		
		
		
		
		
	Как-то на форуме встречала топик, в котором предлагалось бить смертным боем тех, кто в коде пишет что-то наподобие Код: if Item."Item Category code"='ГОТОВЫЕ' then.... Вот и возник вопрос, а как писать-то? Ведь написать нужно так, чтобы в случае изменения кода(например, Готовые зачем-то заменили на ГОТ) все продолжало работать. Пожалуйста, поделитесь опытом.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Конкретно тот кусок кода, который Вы привели - сам по себе "переводу" не подлежит.  
		
		
		
		
		
		
		
	А вот если смотреть на ситуацию в целом, и если б Вы описали, для чего Вам это нужно - то возможно - можно придумать вариант без хардкода.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
-при создании товара- в зависимости от выбранной КодТоварной Категории заполняются поля определенными значениями. -при выгрузке в Клиент-Банк у меня все завязано на названия журналов, при любом изменении-все летит. -в любом отчете(который мы пишем) по товару многочисленные проверки по группе -с измерениями та же песня.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Создаете поле в настроечной таблице (раздел выбирайте сами, в зависимости от того, как именно хотите использовать поле). В данном случае будет ссылка на Категории Товара. После этого в коде можно будет писать так : 
		
		
		
		
		
		
		
	ТоварНастройка.GET; ТоварНастройка.TESTFIELD(НашеПоле); // по желанию IF Item."Item Category code"= ТоварНастройка.НашеПоле THEN....  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от ruselhope
			 
 
			Здравствуйте, уважаемые! 
		
	Как-то на форуме встречала топик, в котором предлагалось бить смертным боем тех, кто в коде пишет что-то наподобие Код: if Item."Item Category code"='ГОТОВЫЕ' then.... Вот и возник вопрос, а как писать-то? Ведь написать нужно так, чтобы в случае изменения кода(например, Готовые зачем-то заменили на ГОТ) все продолжало работать. Пожалуйста, поделитесь опытом.   Уважайте других, которым вполне возможно прийдется разбираться в вашем коде. Почитайте правила оформления
		 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			А какая разница, после компиляции все равно заглавные будут.
		
	 
 
		 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Добавляете в настройки соответсвующего раздела поле со ссылкой на соответсвующий справочник- в данном случае, на справочник Товар Категория - а в коде сравниваете не с конкретним значением, а со значением поля из настроек. 
		
		
		
		
		
		
		
	У меня все именно так сделано - дополнительные настройки сгрупированны по тематике и вынесены в настройки соответсвующего модуля.  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Таких ситуаций у меня возникает довольно много, например, 
-при создании товара- в зависимости от выбранной КодТоварной Категории заполняются поля определенными значениями. Правда придется целую таблицу потратить (а они дороги)  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Всё просто - добавляете в настройки соответсвующего раздела поле со ссылкой на соответсвующий справочник (в данном случае, на справочник Товар Категория), а в коде сравниваете не с конкретним значением, а со значением поля из настроек. 
		
		
		
		
		
		
		
	У меня все именно так сделано - дополнительные настройки сгрупированны по тематике и вынесены в настройки соответсвующего модуля.  
		 | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			grif,Sitizen - Народ вам что делать нечего?  
		
		
		
		
		
		
		
	  Решили все ответить одно и то же? Займитесь лучше делом-изучайте 5 навижин. ruselhope-а вам посоветую изучить программирование . Ни в одной уважаемой системе значение полей не прописывается в коде. И не важно Навижин-это или что либо другое. Как делать правильно-в Навижине столько примеров. Откройте глаза-и смотрите на Наивжин. Для чего там сделаны - setup таблицы например? Где прописаны серии номеров для заказов? Вообщем смотрите.  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Детский сад   
		
		
		
		
		
		
		
	  Галин, ну ты то уж тоже... прям и ответить нельзя... даже и не знаю, что теперь делать  
		 | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			randrews- я сама решаю как мне и на что реагировать  
		
		
		
		
		
		
		
	   Если я отреагировала так, значит на то были веские причины.   sitizen - наверно сделать выводы? ![]() balashov - да только для партнеров пока. в России выйдет только вроде через год.  | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
  А, когда запомнят, поработают с годик, то будем им передавать навыки - как учить новичков ![]() Помню кто-то спросил на форуме - в каких случаях ставят CALCFIELDS, а в каких SETFILTER (в контексте, что эти функции несут похожий смысл). Там, может, и уместно просить человека посмотреть хелп. Но здесь человек хотел узнать - какие есть способы бороться с хардкодом. Узнать различные способы борьбы с этим явлением. По-моему, нормальный вопрос.  | 
| 
	
 | 
| 
			
			 | 
		#19 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			randrews-зря вы так. Я новичков не мочу.  
		
		
		
		
		
		
		
	   Посмотрите мои ответы, данные и новичкам в большом количестве тоже.Просто вопрос очень общий. Если у вас есть время написать здесь полный ответ-и описать правила архитектуры и программирования. Отлично, так и сделайте. У меня лично нет. Я дала конкретный совет-посмотрите Setup таблицы и там все поймете. Человеку же и с другими вещами разбираться после. Также?   Я просто даю удочку ловить рыбу, а не рыбу, если человек голоден.   Есть такая притча.
		 | 
| 
	
 | 
| 
			
			 | 
		#20 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			randrews, а где Вы увидели "мочить"?  
		
		
		
		
		
		
		
	Между прочим, Галка, единственная из всех, высказала УНИВЕРСАЛЬНУЮ мысль, подходящую к любой затруднительной ситуации, с которой только может столкнуться новичок, а Вы это за наезд сочли... Грустно ![]() Конечно, идея "вместо хардкода по значению поля - вынести это в настройку товаров" - ценная, но далеко не универсальная. В следующий раз - у ruselhope возникнет другая проблема, и "настройка товаров" - уже не поможет ![]() Зато НАВЕРНЯКА поможет мысль (если ей проникнуться как следует), что почти все, что может понадобиться в работе - УЖЕ реализовано в САМОМ Navision - и осталось только открыть форму/таблицу/отчет - и посмотреть, как это сделано там.   Когда мне на второй же неделе знакомства с Navision (до того - и не подозревала о его существовании вообще - на собеседовании в первый раз само слово услышала) - пришлось делать динамические-плавающие контролы - я ТОЛЬКО этим и спаслась тогда. И спасалась еще не раз   В условиях полного отсуствия документации - очень даже мощный метод (и главное, опять-таки - универсальный   ), чтобы "понять, как это сделать правильно". ЗЫ: замечу к своему стыду, что никакую документацию я так никогда и не прочла...    Пару-тройку раз делала над собой усилие прочесть хотя бы "Основы" - и каждый раз засыпала на третьей-четвертой странице... Так что совет, данный Галиной - ОЧЕНЬ даже правильный. Если действительно "открыть глаза - и смотреть на Navision" - можно понять, что "почти все уже придумано до нас", и ломать голову над "велосипедом" (aka "как сделать так, чтоб при переименовании записи все не рушилось?") - совершенно необязательно... достаточно "открыть глаза"  
		 | 
| 
	
 |