Например: "программа" - на "закон", "программист" - на "экономист" (или кто у нас законы пишет...), то по-моему это правда жизни для нас бухгалтеров :frown:
Закон пропорциональности. Чем более программа необходима, тем больше в ней ошибок.
Следствие. Ошибок не содержит лишь совершенно ненужная программа.
Фундаментальный закон теории ошибок. На ошибках учатся.
Следствие 1. Программист,написавший программу, становится ученым.
Следствие 2. Чем больше программист делает ошибок, тем быстрее он делается ученым.
Следствие 3. Крупный ученый-программист никогда не пишет правильные программы.
Замечание. На то он и ученый.
Указание начинающему программисту. Если вы с первого раза сумели написать программу, в которой транслятор не обнаружил ни одной ошибки, сообщите об этом системному программисту. Он исправит ошибки в трансляторе.
Закон необходимости ошибок. Программист может обнаружить ошибку только в чужой программе.
Следствие. Ошибке не все равно, кто ее обнаружит.
Совет начинающему программисту. Никогда не исправляйте найденные ошибки, ибо это повлечет за собой появление неизвестного числа ненайденных. Лучше опишите их в сопроводительной документации как особенность программы.
Определение. Будем называть языком ошибок правила, в обход которых пишутся программы.
Язык ошибок
Ошибки могут следовать друг за другом.
От перестановки двух эквивалентных ошибок результат не меняется
(коммутативность эквивалентных ошибок ).
Две последовательные ошибки можно об`единить в одну, более сильную.
Одинаковые ошибки необязятельно делать каждый раз, достаточно сделать одну, а затем обрашаться к ней по мере необходимости из любого места программы.
Ошибки могут образовывать циклы. Наиболее устойчивый из них - бесконечный.
Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок).
Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются.
Свойство четности ошибок. Если написанная программа сработала правильно, то это значит, что во время ее работы выполнилось четное число ошибок или программист не понял задание.
Формулировка вышеприведенного свойства, предназначенная для политиков. Ошибка, повторенная дважды, перестает быть ошибкой.
Взаимодействие ошибок с базовой операционной системой.
Во время исполнения ошибки имеют наивысший приоритет. Прервать исполнение ошибки может только другая, более активная ошибка.
Запросы операционной системы к ошибкам ошибками могут игнорироваться.
Запросы ошибок к операционной системе игнорироваться не могут.
При работе с файлами ошибки могут пользоваться файловой системой базовой ОС и ее ошибками.
На ЭВМ с параллельной архитектурой может выполняться несколько ошибок одновременно.
Системные программы
Системные программы облегчают процесс написания прикладных программ и их ошибок.
Определение. Тестирование - это процесс нахождения ошибок в
тесте. Хороший тест должен содержать ошибки, компенсирующие их нехватку в тестируемой программе.
Языковый редактор, призванный уберечь программиста от синтаксических ошибок, позволяет вносить в программу весьма хитроумные ошибки, которые не удается обнаружить ни транслятором, ни отладчиком.
Обычный текстовый редактор таких возможностей не предоставляет.
Программа-транслятор, предназначенная для перевода программ с языка высокого уровня на машинный язык, при переводе порождает ошибки.
Ошибки, которые содержались в исходном описании, переводятся безошибочно.
Заключительный совет тем, кто до него добрался. До начала работы над проектом следует тщательно продумать все необходимые ошибки и связи между ними. Это значительно упростит работу над ошибками в самом проекте.
Еще немного про сервис, которым мы будем пользоваться.
Аналогичный API ФНС не бесплатный, поэтому в качестве источника данных был выбран API сервера DaData.ru. Он по сути ретранслятор API ФНС. Данные которые мы получаем от ДаДаты, их сервер берет у ФНС и, полагаю, не бесплатно.
Когда-то (давно-давно) у меня была длинная переписка с менеджером ДаДаты на тему бесплатного использования сервера (она у меня сохранена целиком) в моей разработке. В финале мне дали разрешение (которое я считаю официальным) на использование моего личного кода авторизации в качестве общего. Тем не менее, настоятельно прошу вас для работы (если вы будете использовать мою обработку) зарегистрировать свой собственный код авторизации (это очень быстро и абсолютно бесплатно), ввести его на закладке "Настрока" и пользоваться им.
А если вы купите у ДаДаты еще и платную подписку, я смогу сделать в вашей конфигурации и более сложный сервис для справочника Контрагенты: в списке справочника "статус" контрагента будет подсвечен тем или иным способом и вы сразу будете его видеть, например при создании документов отгрузки/поступления. Это будет полезная опция в рамках требования ФНС "должной осмотрительности" при выборе контрагентов. Я не имею с ДаДаты никаких откатов с ваших денег!
Еще один момент, который меня беспокоит: обособленные подразделения и филиалы.
Дело в следующем: если вы выполните поиск только по ИНН (или ОГРН - это равнозначные запросы), т.е. без указания КПП, то получите весь зоопарк филиалов фирмы. Мне интересно знать, как вы оцениваете сервис ДаДата в части получения данных об филиалах и обособленных подразделениях?
Если у вас нет своих филиалов, посмотрите на примере ИНН 7801140482 - эту контору летом этого года фирма 1С отжало у прежних владельцев и теперь она 100% принадлежит ей.
Обратите внимание, что там есть и закрытый филиал.
Как работает? - Это только полные неадекваты не поймут.
Вводите ИНН или ОГРН и жмете кнопку "Найти".
В окне сообщений выводится список сведений и реквизитов из базы ФНС.
На самом деле, этот функционал у ФНС платный.
Поэтому используется бесплатный сервис от DaData.ru
Для его использования требуется регистрация. Она бесплатная.
При первом поиске выберите способ авторизации на закладке "Настройка" - прочтите пожалуйста там описание этого сервиса. мне важно, чтобы вы приняли правильное решение в выборе способа авторизации.
Публикую свою новую (на самом деле, старую - ей уже несколько лет тому как) обработку для поиска реквизитов контрагента по ИНН (КПП, ОГРН)
Скачать можно на странице Доп.Возможностей - https://kvest1c.narod.ru/dop_vosm.htm
Если распакуете архив в папку ExtForms в папке базы, то в типовых конфигурациях она появится в меню Сервис-Дополнительные возможности ... т.е. в списке внешних отчетов и обработок.
Запускать можно в любой конфигурации (в т.ч. пустой) из мню Файл-Открыть и выбираете файл из скачанного архива.
Т Е О Р И Я О Ш И Б О К
Ошибки так же неисчерпаемы, как и атом.
Аксиома. В любой программе есть ошибки.
Закон пропорциональности. Чем более программа необходима, тем больше в ней ошибок.
Следствие. Ошибок не содержит лишь совершенно ненужная программа.
Фундаментальный закон теории ошибок. На ошибках учатся.
Следствие 1. Программист,написавший программу, становится ученым.
Следствие 2. Чем больше программист делает ошибок, тем быстрее он делается ученым.
Следствие 3. Крупный ученый-программист никогда не пишет правильные программы.
Замечание. На то он и ученый.
Указание начинающему программисту. Если вы с первого раза сумели написать программу, в которой транслятор не обнаружил ни одной ошибки, сообщите об этом системному программисту. Он исправит ошибки в трансляторе.
Закон необходимости ошибок. Программист может обнаружить ошибку только в чужой программе.
Следствие. Ошибке не все равно, кто ее обнаружит.
Совет начинающему программисту. Никогда не исправляйте найденные ошибки, ибо это повлечет за собой появление неизвестного числа ненайденных. Лучше опишите их в сопроводительной документации как особенность программы.
Определение. Будем называть языком ошибок правила, в обход которых пишутся программы.
Язык ошибок
Ошибки могут следовать друг за другом.
От перестановки двух эквивалентных ошибок результат не меняется
(коммутативность эквивалентных ошибок ).
Две последовательные ошибки можно об`единить в одну, более сильную.
Одинаковые ошибки необязятельно делать каждый раз, достаточно сделать одну, а затем обрашаться к ней по мере необходимости из любого места программы.
Ошибки могут образовывать циклы. Наиболее устойчивый из них - бесконечный.
Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок).
Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются.
Свойство четности ошибок. Если написанная программа сработала правильно, то это значит, что во время ее работы выполнилось четное число ошибок или программист не понял задание.
Формулировка вышеприведенного свойства, предназначенная для политиков. Ошибка, повторенная дважды, перестает быть ошибкой.
Взаимодействие ошибок с базовой операционной системой.
Во время исполнения ошибки имеют наивысший приоритет. Прервать исполнение ошибки может только другая, более активная ошибка.
Запросы операционной системы к ошибкам ошибками могут игнорироваться.
Запросы ошибок к операционной системе игнорироваться не могут.
При работе с файлами ошибки могут пользоваться файловой системой базовой ОС и ее ошибками.
На ЭВМ с параллельной архитектурой может выполняться несколько ошибок одновременно.
Системные программы
Системные программы облегчают процесс написания прикладных программ и их ошибок.
Определение. Тестирование - это процесс нахождения ошибок в
тесте. Хороший тест должен содержать ошибки, компенсирующие их нехватку в тестируемой программе.
Языковый редактор, призванный уберечь программиста от синтаксических ошибок, позволяет вносить в программу весьма хитроумные ошибки, которые не удается обнаружить ни транслятором, ни отладчиком.
Обычный текстовый редактор таких возможностей не предоставляет.
Программа-транслятор, предназначенная для перевода программ с языка высокого уровня на машинный язык, при переводе порождает ошибки.
Ошибки, которые содержались в исходном описании, переводятся безошибочно.
Заключительный совет тем, кто до него добрался. До начала работы над проектом следует тщательно продумать все необходимые ошибки и связи между ними. Это значительно упростит работу над ошибками в самом проекте.