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