Продолжаем сводить с ума!
Это продолжение моей статьи «Как свести с ума тестировщика». Для тех кто не читал предыдущую статью, повторяю – я пишу статью для начинающих программистов. Я не хочу ни кого обидеть, просто хочу, чтобы пользователи и программисты, занимающиеся поддержкой, не встречали такие ляпы в чужой работе.
- Описание
- Подробнее
Описание
Коллекция пополнилась 15 отличнейшими экземплярами. Не всех авторов сих чудачеств я знаю лично, некоторые просто увидела в чужих конфигурациях, про некоторые рассказали, как анекдот.
1. В регистре сведений необходимо применять достаточную периодичность. Если курс валюты меняется раз в день, то часы и минуты когда произошло изменение знать не нужно!
2. Иногда не нужна возможность вводить отрицательные значения в реквизиты документов и другие места. ОЧЕНЬ НЕ НУЖНА.
3. Называй объекты по разному. Если ввести вместо кириллической о латинскую o, то конфигуратор конечно скажет что названия разные, но другие программисты кодировки не видят… Еще недавно видела справочник и документ одинаково названные (была мысль, что показалось – ан, нет), и одинаково названные справочники в подсистемах… ну в общем – мрак.
4. Используй регистраторы для внесения большого количества данных в регистры сведений. Провел документ – есть записи, отменил проведение – нет записей. А когда регистратора нет, что делает пользователь – берет и ручками и глазками несчастненькими крыжыт. Выгода налицо.
5. Если в документе есть табличная часть и печатная форма, то логично (ну, пользователю так чаще всего кажется, но мы то знаем!:) чтоб данные на печать выводились из формы документа. Если пользователю там ничего менять нельзя – то просто делаем не доступными к редактированию ответствующие реквизиты. Иногда, ну, так бывает, что программисты используют регистры для заполнения печатной формы. То есть пользователь колдует над документом, что-то там делает, а программист (ну типа так быстрее) задумал, что из регистров запросиком информацию лучше тянуть и в документ не глядит почти. Особенно радуют РАЗНЫЕ запросы. Или ошибки и в одном и другом…
6. Пожалуйста, помни про то, что для проведения по бухгалтерскому и налоговому учету кроме проводок используются еще и регистры. Все движения по одному виду учета (управленческому, бухгалтерскому, налоговому) должны формироваться одним документом. Нельзя чтобы один документ формировал проводки по бух учету, а второй – движения бух регистра. Кто их будет сверять потом, а?
7. Пожалуйста, помни про регистры. Вообще, не забудь, что такое есть и надо бы пользовать. Не храни информацию в документах. За это ты не только 1С Специалиста не сдашь… Есть уйма не выгодных моментов в таком положении вещей. Например, если данные документа используются каким-то отчетом, то при создании нового документа, оперирующего теми же данными, придется переделывать отчет. Формочки красиво рисуешь? Не хочешь базу раздувать? Лучше озаботься четкой логикой системы. Это вообще, не просто красиво. Это честь и главная гордость программиста, которого можно теперь называть архитектором.
8. Не храни статус чего либо как реквизит справочника. Если пользователь присвоит какой либо статус (из документа с красивой формочкой) ошибочно, а потом документик присвоивший статус распроведет, то какой будет статус в справочнике? Правильно, не понятно какой.
9. Если выводишь остатки в отчете, то обычно интересны на конец дня, а не на начало. Ну такие пользователи, не интересно сколько гаек с утра в кладовке было. Вернее не с утра, а в 00-00-00 или около того. Ну а после того как день прошел, работа закончила, вот тогда и интересно сколько там в кладовке осталось. Программисту это странно. Что 00-00-00, что 23-59-59, все равно. Но пользователю не все равно, почему не могу объяснить. Это надо запомнить.
10. Перед тем как обозвать новую переменную или функцию нужно проверить, не использовал ли такую же комбинацию букв кто то другой в недрах конфигурации. Для проверки пользуйся поиском. Не вызывай чужую функцию, и не поломаешь чужую работу в самом неожиданном месте. Случайности бывают, а такие чаще, чем может показаться.
11. Не делайте проверок в процедурах при записи и при проведении. В случае распределенной базы данных маленькая ошибочка может остановить обмен данными большой конторы, ну процедура перепроведения затянется. Еще иногда при записи кто-то что-то создает. И этот кто-то не знает, сколько раз и когда будет вызвана процедура сохранения, ну и создание еще кучи чего-то. Чего-то не нужного.
12. Иногда база обновляется по несколько раз в день. Но есть хорошее правило – не обновляться перед выходными (люди иногда работают и не найденные ошибки могут не дать возможность закрыть баланс вышедшему в субботу главбуху и это может не понравиться, а вам нужны хорошие отношения).
13. Еще видела – чтобы создать документ, нужно зайти в форме документа в реквизит создать другой документ, ну а там, что (точно! как вы догадались) в реквизите еще третий документ. В общем 3 документа. Яйцо в утке, утка в зайце, заяц в шоке.
14. ,Если из документа создаем другой документ (надеюсь, не при записи:) то желательно в обоих документах где-то ссылочку сохранить, они ж родичи:) В общем, очень часто нужно видеть дерево взаимосвязи между документами, созданными один на основании другого. И проверка нужна, с запретом на создание 5 одинаковых на основании. А то одна хозяйка зайдет, суп посолит, потом вторая, третья… И обед уже не обед.
15. Если вы используете в коде наименования справочника (чего лучше конечно не делать:), то по логике их нужно закрывать к ручному изменению, потому что из-за неправильного формата и лишнего пробела может что-то поломаться. Но лучше конечно придумать какой то другой способ организации информации.
Пока все, дорогие читатели.