О программе INVOICEv97vv08
+
Предисловие
Преимущества программы:
1.Вся бумажная цепочка документов (счет на предоплату/счет-фактура/приходно-кассовый ордер/накладная/гарантийный талон) и их заполнение переложено на компьютер. Заполнение документов руками сведено к минимуму.
2.Быстрота создания документов. Не важно какое их количество у вас 100 или 100 000 на скорость это не скажется.
3.Быстрый поиск плательщиков/получателей, нужного товара через форму поиска, практически независящий от их количества. Даже если вы не знаете точное их название вы все равно найдете.
4.Сеть.
5.Возможность неоднократного редактирования всей цепочки документов с их последующей печатью в любой момент времени и любом количестве.
6.Сведено к минимуму возможность получения сообщений об ошибках при вводе информации.
7.Оборот денег и оборот склада, поиск документов, должники.
8.Не зависит от разрешения экрана.
9.Простота и доступность интерфейса. Была предпринята попытка создать для пользователя наиболее понятный ему внешний вид. Что он делает руками, то он делает и на экране монитора.
10.Быстрое создание любой другой дополнительной отчетности.
Программа создавалась в фирме Инвойс и для фирмы. У фирмы есть филиал в Новгороде. Профиль фирмы это продажа и обслуживание копировальной и компьютерной техники. У фирмы около 900 клиентов, причем расположенных в разных городах области, более 1000 именований на складе, более 20 сервисных услуг, 100 фирм находящихся на постоянном обслуживание копиров. И что самое ужасное это требования клиентов что-либо изменить в уже полученных документах. Так родилась идея создать набор программ в помощь сотрудникам. Первая и основная база это INVOICE и вторая DEVICES, которая может работать и автономно. DEVICES- это программа диспетчера для сервис-центра. Одним из условий было создание документов с возможностью неоднократного редактирования всей цепочки документов: счет на предоплату, счет-фактура, приходный, накладная и очень гибкой связью, но вместе с тем связью. Необходимо было остановиться на каком-то ключевом документе, но тогда нам пришлось жертвовать гибкой связью (Например, введение местного 5% налога с продаж за наличный расчет). Было решено ввести понятие «ДОКУМЕНТ». Что это значит. Если мы обратимся к вышеперечисленным документам, мы увидим общие позиции как-то: заказчики, предмет (товар, цена, кол-во и т. д.), сумма. Итак «ДОКУМЕНТ» – это набор общих позиций, а то, что мы хотим распечатать или сделать (списать товар, получить наличные, безналичные деньги, отгрузить в долг) зависит от нас. Мы имеем возможность наблюдать всю историю документа: кол-во и сумма отгрузок, оплат, «МЫ ДОЛЖНЫ», «ОНИ ДОЛЖНЫ». Также возможна работа в сети 2 и более мест. Не зависит от разрешения экрана. Протестирована на режимах 640*480 (при наличии SmallFont),800*600,1024*768. Как показала практика пользователь частенько пытается минимизировать окно, «случайно» закрыть панель инструментов, и вместе с тем бывает нужно оперативно воспользоваться стандартными возможностями панели Аксесс. Посему было принято решение, оптимальное на мой взгляд, это полноэкранные формы со своими кнопками и модальные всплывающие информационные окна, с возможностью обратиться к самим таблицам и запросам, использованы только стандартные элементы управления.
+
Структура и работа
О базе. РЕДАКТОР->СКЛАД И КОДЫ
/Коды/:
«Код»- числовой код
«Показывать в прайсе»- если да то этот код будет выведен в прайс-листе
/Склад/:
«PN»- уникальный код товара. Если оставить это поле пустым он создастся автоматически. На более часто используемые товары удобней создавать вам понятные и краткие PN. На пример у вас покупают часто мороженое «эскимо» и пельмени «московские» по 0,5 кг и по 1 кг. Рекомендую создать такие PN: ЭСК, ПЕЛМОС05,ПЕЛМОС1(ЗАПОМНИТЕ ИХ ОНИ НАМ ПОНАДОБЯТСЯ В ДАЛЬНЕЙШЕМ). Два раза щелкнув по полю мышкой попадем в /Историю поставки товара/.
«СКЛАД»- кол-во на складе на текущий момент. Это поле недоступно. Так как значение этого поля находится в постоянном изменение ввиду того что выписываются документы как расходные так и приходные накладные. Но все же если вдруг у вас возникла необходимость поменять это значение дважды щелкните мышкой и введите кол-во, которое соответствует реальному количеству на складе. Вам отведен определенный интервал времени для изменений, т.к. к этому полю обращаются другие компьютеры в сети. Ограничение по времени позволит другим пользователям работать, если вдруг вы стали любоваться видом из окна. Далее произойдет следующее: программа определит приход ли это или расход и запишет эту информацию в дневные обороты. Например: «на складе»=23. Вы вводите 100, след-но 100 это остаток на текущий момент и 77 это приход сегодняшним днем.
«ШТ. В УП.»- укажите кол-во штук в упаковке. Это позволит вам в дальнейшем вводить товар при оформлении документов в штуках и(или) упаковках. Если оставить это поле 0-м, то товар будет вводится в штуках.
«Цена прод.»- цена в $ или Руб. по которой вы хотите отпускать товар.
«Хит»- номер в хит листе, который вы создаете сами. Далее при выборе товара Вы можете более быстрее выбрать, то что вам необходимо.
РЕДАКТОР->УСТАНОВКИ:
«Документ»- № последнего созданного документа.
«Приходный»- № последнего приходного.
«№ счета для прихода нал. Денег», «№ счета для выдачи нал. Денег»- номера бухг счетов для кассы по умолчанию.
«Налог с продаж» – 0,05=5%
«Складской документ»- № последнего приходного документа
ДОКУМЕНТЫ->ДОКУМЕНТЫ РАСХОДНЫЕ:
«NN» – поле в которое вводится дополнительная информация о № документа. Это чисто информационное поле. По умолчанию оно 0.
«КУРС» – курс для документа. По умолчанию он будет равен последнему курсу из таблицы КУРС.
/Поставщики заказчики/
(Заказчики)- определение плательщика и получателя для данного документ, или ввод нового, или корректировка реквизитов существующего и если Вы ранее для него определили товар, который он более часто покупает у вас, вы можете также выбрать и его. В «Строке поиска» вы можете ввести любую часть, которая присутствует в название клиента или в поле «Город». Рекомендую наиболее активных клиентов сохранять в списке. Для этого только щелкните в переключателе «Сохранить строку поиска». Если плательщик и получатель разный, то отожмите нужную кнопку («Плательщик»; «Получатель») и повторите поиск, щелкните по вновь найденному.
/ПРЕДМЕТ/- это тот товар, который вы собираетесь отпускать.
(ДОБАВИТЬ) – поиск и(или) добавление товара находящегося на складе в документ через поисковую форму. «Строка поиска»- любая часть слова которая встречается в наименование товара или PN. «Хит лист»- покажет хит-лист который вы указали ранее в складе. Также можно вводить товар руками. Рекомендую вспомнить о PN, если такой PN существует, то остальные поля заполнятся автоматически. В том случае, если вы вводите несуществующий товар, то придется все заполнять руками. Если в поле PN нажать INSERT, откроется поисковая форма.
«На руки» – это то кол-во товара, которое вы реально отдаете клиенту, или это то кол-во, которое вычтится из склада при списании. Если товар определен как товар в упаковках то, нажав INSERT вы можете его ввести как в упаковках и (или) штуках.
«Кол-во» – это то кол-во, которое будет отражено в счете. NB «На руки» и «Кол-во» может и не совпадать. Это нужно если клиенту товар отгружается в долг, а счет-фактуру он хочет получить с указанием всего количества.
«Цена в $» – цена в $ при изменении этого поля автоматически будет меняться и рублевая цена в зависимости от курса документа.
«В хит»- если Да то этот товар добавится в фирменный хит получателя при списании товара. Это позволит вам в дальнейшем при создании нового документа, когда вы будете выбирать его через форму, более быстро определиться с нужным товаром
(СПИСАТЬ ТОВАР И(ИЛИ) ПОЛУЧИТЬ ДЕНЬГИ)- там где «НА РУКИ» не 0 произойдет списание товара и добавление с присвоением порядкового № в /ОТГРУЗКУ/. Далее вам будет предложено ввести сумму реально полученных денег и № приходного эта информация будет добавлена в /ОПЛАТУ/. Вы можете выбрать нужную вам сумму (по отгрузке, по долгу, если он есть, по предмету) или ввести ее руками. Отгрузок и денег по документу может быть несколько. Сейчас вы сможете распечатать документы, нажав (печать/просмотр). Если вы печатаете или просматриваете документы, то значение поля «В печать» на вкладках /Оплата/ и(или) /Отгрузка/ будет «ПУСТО»(False). Если вы захотите повторить печать вам следует вернуться в нужные вкладки и выбрать нужные документы для печати, щелкнув мышкой по полю «В печать». Рассмотрим ситуацию: Вы отгружаете товар, получив часть денег наличными. Вам нужен счет-фактура, приходный и накладная. Вы заполняете предмет, с указанием реального количества в «На руки», нажимаете (Списать товар и(или) получить деньги), далее на вопрос о деньгах вводите ту сумму которую вы получили. Документ получит статус «Они должны». Потом печатаете документы. Затем, когда вы получите оставшиеся деньги вы должны найти документ, удостовериться, что в поле «На руки» стоят 0( а это и логично, т.к. вы ничего не отдаете, а получаете оставшуюся сумму денег), нажимаете (Списать товар и(или) получить деньги) и вводите ту сумму(можно воспользоваться переключателем «по долгу». Программа автоматически определит какую сумму они вам должны, или ввести руками) и каким образом (нал/безнал ) . Если сумма оплаты совпадет с суммой отгрузки документ получит статус «Никто не должен». Но вы можете ввести сумму и вид оплаты сами щелкнув по вкладке /Оплата/. Вариаций может быть много. Отгрузка в долг до получения безналичных денег. Отгрузка по частям с распечаткой полной счет фактуры и т.д.
(НОВЫЙ ДОКУМЕНТ)-создание нового документа. Вам предложат ввести № документа. Здесь есть одно ограничение. Нельзя иметь одинаковые номера в году. Но если необходимо иметь одинаковые номера в поле NN существующего документа введите некоторую информацию, а затем нажмите (НОВЫЙ ДОКУМЕНТ) и введите нужный номер.
/Оформление гарантии/- Если в отгрузке есть товар, который на складе определен как гарантийный (Гарантия<> 0). Вы можете распечатать и гарантийные талоны. Более того этот товар автоматически будет поставлен на учет в базу DEVICES.
ДОКУМЕНТЫ->ДОКУМЕНТЫ ПРИХОДНЫЕ:
Они похожи на расходные разница только в том что значение поля «На склад» приплюсуется на склад. Если вы начнете в поле PN набирать несуществующий товар Вам будет предложено его ввести на склад, если нет желания- не вводите.
«Кол»-это исключительно информационное поле. Дело в том, что по дороге наши экспедиторы частенько оставляют часть товара в филиале в другом городе. Если оно вас не устраивает- не заполняйте его. (Оприходовать товар) это добавить значение поля «На склад» на склад. Если пройдет все удачно он станет равен 0, а поле «Пришло» то кол-во которое было «На склад». Если неудачно, например возникли неполадки с сетью, или в этот момент происходит списание данного товара кем то, кто работает еще в сети с вами, то программа сообщит вам об этом. Тогда вам нужно будет при восстановление работоспособности повторить операцию (Оприходовать товар).
ДОКУМЕНТЫ->Список расходных документов: позволит вам более быстро найти нужный вам документ для ввода безналичных денег по документам. 2 раза по № -попадешь в документ по №№- в меню поиска.
ДОКУМЕНТЫ->Касса: Это форма позволит Вам вести кассовые операции. Кратко о ней.
Дата – когда пришли/ушли деньги. Если 2 раза щелкнуть мышкой можно установить новую дату по умолчанию.
№ документа – произвольный или номер приходного ордера. Если 2 раза щелкнуть мышкой или кл. INSERT то попадете в список приходных за эту дату и там можно выбрать что вы хотите поместить в кассу.
От кого/Кому – либо выбрать через список либо щелкните 2 раза мышкой либо INSERT. Что позволит Вам выбрать через форму. Прошу обратить внимание на строку поиска там в списке есть «сотрудник». Рекомендую ввести всех ваших сотрудников и в поле ГОРОД указать Сотрудник. Тогда вы сможете более быстро создавать операции по выдачи наличных денег вашим сотрудникам.
Сумма - щелкните 2 раза мышкой и вы узнаете обороты и сможете распечатать отчет по кассе за выбранный день.
DEVICES:
АППАРАТЫ И ИХ СЕРВИС ПО ЗАКАЗЧИКАМ:
Это форма аналогична форме из БД INVOICE и более того является присоединенной из этой базы. Вы можете выбрать клиента, который к вам обратился за чем-либо. Например купил у вас аппарат, привез его к вам в ремонт, вызвал техника на обслуживание аппарата и т.д. Выбрав его в списке вы можете изменить его реквизиты, определиться с ответственными лицами с которыми вы будете находиться в контакте или сослаться на них в случае ошибочного вызова вашего сервис-инженера и т.д. Для этого предназначена вкладка /Реквизиты/. Но щелкнув мышкой по списку “Существующие” вы попадете на вкладку /Аппараты/.
/Аппараты/- здесь две формы Верхняя(1) и нижняя(2). В (1)ой- устройства которые находятся у клиента. Вы можете добавлять их сами, и также они могут быть заполнены автоматически, если офис-менеджер работая в БД INVOICE отгрузил и заполнил на них гарантию. Щелкнув по полю «PN» 2 раза мышкой, откроется форма «История» работы с этим аппаратом. В этой форме вы указываете те события, которые произошли с этим аппаратом. Несколько слов о поле «Движение». Это раскрывающийся список, в котором показаны коды диспетчеризации, которые вы можете определить сами. Коды могут быть диспетчеризируемые и недиспетчерезируемые. Например: «приход в ремонт», «вызов специалиста» и т.д. Эти действия должны быть обязательно завершены т.е. мы должны вернуть клиенту аппарат, прислать нашего сервис инженера что бы он осмотрел аппарат на месте и доложил ситуацию. Это и есть диспетчеризируемые коды. Недиспетчерезируемые это «консультация по телефону», «кол-во копий»… Диспетчеризируемые коды не могут быть введены повторно, изменены до тех пор пока они не закроются. Если мы выбрали код «Приход в ремонт» откроется форма «Сохранной записки», которую можно будет распечатать. Во (2)-ой форме показывается история диспетчеризации вся или только не закрытая. Например вы можете сразу определить каких вид работ от вас ожидают клиенты или какие уже были вам сделаны. Эта форма недоступна за исключением поля «Начало». В нем показывается значение поля «Индекс» из формы «История». Щелкнув по нему 2 раза вы попадете в форму «История» и сможете быстро закрыть диспетчеризируемый код нужным кодом, если конечно это необходимо. И тогда данный код будет считаться закрытым, и поле «Завершение» станет равным значению поля «Индекс» из формы «История». Короче говоря если поле «Завершение»- 0 то клиент что-то ждет, иначе мы по нему отработали.
ОЖИДАЮТ ОБСЛУЖИВАНИЯ: Это форма список всех клиентов у кого есть незакрытые диспетчерезируемые коды.
РЕДАКТОР->КОДЫ ДИПЕТЧЕРИЗАЦИИ:
«Название»- название кода. Если он диспечерезируемый вслед за ним нужно ввести код закрытия. Потом вернуться к нему и в поле диспетчеризация выбрать код который вы ввели ниже него.
«Диспетчеризация»- если пуста то код в поле «Название»- недиспетчерезируемый. NB будьте предельно внимательны при заполнение этих кодов. Поле «процедура» лучше не трогать. Если вы их удалите не буде запускаться программа которая в них указана.
Это база работала очень мало, поэтому могут быть всевозможные проблемы. Если Вам не трудно сообщите мне о них или о каких-то ваших пожеланиях я их обязательно учту.
+
Некоторые наблюдения и рекомендации
Требования к системе :
32мб-памать, Р133, MS OFFICE 97 с календарем. Замечено, что вопреки рекомендации Майкрософт, база загружается быстрей не в режиме присоединенных таблиц.
Переход на 2000 ACCESS пока не планируется из-за проблем связанных с
1. …recordsetclone.addnew при св-ве формы AllowAdditions=False
2. неправильный показ информации в подчиненных формах при программном добавлении записи в главной форме.
Но в недалеком будущем это все же произойдет с переходом на ADO.
С радостью приму всю критику в свой адрес. Отвечу на все вопросы, постараюсь учесть все пожелания. Игорь.