Но следует признать, что мы не учли главного. Мы начали работу в СССР в рамках последнего пятилетнего плана. И в своих целевых установках не учли происходящие перемены. Мы не могли понять, что коммерческие цели часто берут верх над техническим здравым смыслом и что это закономерно. Однажды мы делали сообщение по ВИКу в одном из программистских КБ. Сообщение встретили гробовым молчанием, а потом один из слушателей сказал: «Если мы возьмем эту систему, то через полгода нас всех уволят. Работы у нас не будет». Мы тогда поняли, что судьба нашей работы как промышленного проекта плачевна. Оказалось, что все мужчины-программисты встретили ВИК в штыки, как мускулистые землекопы встречают хороший экскаватор. И только благодаря поддержке руководства института нам удалось провести 20-летний эксперимент и убедиться в правильности нашего выбора. Ни в одном программном бухгалтерском комплексе новые отчетные формы не делались с такой скоростью, как в среде ВИК. Совсем неспроста наш программный комплекс в одно время оказался лучшим в Академии наук. Результаты нашего длительного эксперимента дают нам надежду, что его результаты могут оказаться интересными и сегодня. В этой книге мы старались в популярной форме изложить те простые идеи, которые сделали ВИК на практике «системой выживания» прикладных управленческих задач.
Наша работа не была бы успешной без активного и доброжелательного участия коллектива бухгалтерии. Мы выражаем искреннюю благодарность ее работникам, и особенно главному бухгалтеру Елене Николаевне Бизюк, которая не только проявила заинтересованность в наших результатах, но была постановщиком большинства задач. Мы благодарим сотрудников нашей группы Рыбину Татьяну Александровну, Парини Ирину Евгеньевну, чей труд был важным вкладом в наш успех.
Хочется поблагодарить всех, кто так или иначе причастны к появлению этой книги, в том числе руководство института которое было временами очень требовательно к нам, но всегда оказывало необходимую поддержку,
Часть первая. Что такое ВИК и зачем он нужен
Оболочка основа системы
Оболочка это операционная среда, предназначенная для работы конечных пользователей и программистов. Оболочка постоянно поддерживает на экране информацию об АРМ в форме классического оглавления. В дальнейшем будем называть эту информацию структурой АРМ или просто структурой. Структура больше всего напоминает книжное оглавление. Приведем пример того, что видит диспетчер автобазы на экране своего АРМ.
1.Справочники
1.1.Список автомобилей
1.2. Список организаций клиентов
1.2.1. Магазины
1.2.1.1. «Магнит»
1.2.1.2. «Шанс»
1. 2.2. Кафе
1.2.2.1. «Лакомка»
1.2.2.2. «Зеленый пеликан»
1.3. Список поставщиков
1.3.1. Молокозавод
1.3.2. Хлебозавод
2. Регистрация заявок
3. Формирование накладных и счетов-фактур
Для работы обычно используется структура в сокращенном виде, когда на экране в полном составе присутствуют список разделов только актуального уровня и имена всех разделов-предшественников. Так в нашем примере будет выглядеть структура в сокращенном виде, когда диспетчер просматривает подпункты раздела «1.2.1. Магазины»:
1.2.2.2. «Зеленый пеликан»
1.3. Список поставщиков
1.3.1. Молокозавод
1.3.2. Хлебозавод
2. Регистрация заявок
3. Формирование накладных и счетов-фактур
Для работы обычно используется структура в сокращенном виде, когда на экране в полном составе присутствуют список разделов только актуального уровня и имена всех разделов-предшественников. Так в нашем примере будет выглядеть структура в сокращенном виде, когда диспетчер просматривает подпункты раздела «1.2.1. Магазины»:
1.Справочники
1.2. Список организаций клиентов
1. 2.1. Магазины
1.2.1.1. «Магнит»
1.2.1.2. «Шанс»
На рис. 1 показан экран диспетчерского пункта в момент просмотра магазинов.
Строка (пункт) структуры, кроме того, что имеет наименование, может содержать некий набор объектов и функций, привязанных к этому наименованию. Сама оболочка не конкретизирует этот набор, а лишь позволяет его создавать и пользоваться им. Сделано это крайне просто. В каждом пункте имеется свой текстовый файл, который может быть открыт специальным текстовым редактором, встроенным в оболочку. В этом текстовом файле и могут быть описаны объекты и функции, связанные с данным пунктом. Для работы с объектами пункта в оболочке имеются две основные операции, которые делают эту оболочку открытой и удобной для широкого использования. Первая операция нажатием клавиши F3 можно открыть и отредактировать текстовый файл пункта. Вторая операция нажатием клавиши Enter запустить программу, имя которой находится в первой строке текстового файла пункта. Таким образом, объектом или функцией пункта может быть внешняя по отношению к оболочке программа, которая запускается в пункт нажатием Enter, а название и параметры этой программы могут быть записаны в строках файла данного пункта.
Рис. 1. Простмотр магазинов
Приведем пример развития программы. Допустим, что у нас имеются стандартная программа для подготовки накладных и счетов-фактур и стандартная программа PrintText. exe для вывода текстового файла на принтер, имя которого надо указать первым параметром программы. Добавим к структуре нашего примера два новых пункта.