Программный комплекс SOLARIS

О программном комплексе SOLARIS

К оглавлению

Программный комплекс Solaris предназначен для ведения компьютеризированного учета в торговых предприятиях, оптовых и розничных. Главная специализация - фармацевтика (аптеки и оптовый склад). Программа ведет количественный и Внешний вид Solaris суммовой учет товаров на складе и в торговом зале, на нескольких складах или в торговых пунктах предприятия. Программа Solaris изначально разрабатывалась для установки на складах и в торговом зале аптеки, поэтому все характерные особенности учета в фармацевтическом бизнесе в программу "вшиты" изначально, то есть заложены в структуры баз данных программы и заложены в методику обработки информации.

Программа Solaris позволяет:

  • осуществлять торговлю со склада и оформлять все необходимые торговые документы (Накладные, счет-фактуры, счета на оплату, протоколы согласования цен, листы регистрации товаров, приходные кассовые ордера, реестры, приложения к накладной и др.);
  • осуществлять продажи в торговом зале (аптека). В данном случае в ТЗ устанавливается (или устанавливаются) компьютер(ы). Существует возможность присоединения к кассовым аппаратам импортного и отечественного производства в режиме фискального регистратора. Каждый чек сохраняется в базе данных с полной детализацией по товару, с информацией о дате и времени продажи, о покупателе (при необходимости), о виде чека (дисконт, например), об осуществленной скидке. Со временем допускается ужатие данных, при котором теряется почасовая детализация.
  • торговый учет в пунктах, не имеющих компьютера, с помощью инвентаризаций. В данном случае программа обладает необходимыми навыками для ускорения и упрощения этого процесса.
  • Осуществлять торговый учет в пунктах, магазинах, аптеках с помощью касс, работающих в режиме off-line., Такие кассы очень часто умеют работать со сканером штрих-кодов. Данный режим позволяет ставить в торговые залы недорогие нетерминальные кассовые аппараты и осуществлять с их помощью учет товаров. (с 05.2000).
  • Осуществлять учет в пунктах с компьютером. На складах устанавливаются модули Solaris, которые работают автономно и обмениваются информацией с центральным компьютером или между собой через дискеты, по модему или с помощью других средств обмена данными.
  • Осуществлять внутренние перемещения между складами, пунктами и др. юридическими лицами предприятия.
  • получать на основании проведенных документов необходимую информацию по складскому учету товаров (ведомости реализации, приходов товаров, оборотные ведомости (детальные и суммовые), журналы продаж и книга покупок, картотека и номенклатурные остатки, товарный отчет, выписки по складу, выписки из карточек складского учета товаров (движение);
  • Генерировать ценники, стеллажные карточки и прайс-лист.
  • получать полные и точные данные в количественном и суммовом виде для подготовки отчетности в контрольные и налоговые службы. При этом учитывается НДС и 5% налог с продаж. Учет цен можно осуществлять по принципу "Налоги в цене", или по принципу "Налоги отдельно от цены", или по принципу "НДС в т.ч., 5% - отдельно", исходя из особенностей учета на предприятии;
  • получать данные типа "поддержки принятия решений" (аналитическая информация для менеджеров и руководителей) - суммовые отчеты с графиками и информация по скорости продаж товаров с возможностью использования ее в заявках);
  • осуществлять заявки на основе данных по остаткам товаров и потребности предприятия на основании рассчитанных скоростей продаж на выбранные товары;
  • Учитывать информацию по взаиморасчетам с поставщиками товаров и с покупателями, в случае оптовой торговли. На каждого контрагента ведется карточка с указанием всех накладных и выплат. Для поставщиков ведется параллельный вывод финансового и товарного остатков и разницы в них для расчетов по факту продажи. Для покупателей многие формы Solarisа могут различать движение и остатки по факту отгрузки и факту оплаты с фильтрацией товаров по указанному покупателю.
  • Осуществлять обмен данными с программными комплексами 1С.
  • SOLARIS осуществляет все свои работы в сетевом режиме, то есть в режиме одновременного доступа к данным нескольких клиентов с нескольких машин.
  • Полное разделение доступа для всех пользователей программы. Пользователь может войти в программу только после того, как его введут в базу данных как пользователя со своим именем и паролем. Все пользователи разделены на группы. Для групп задаются правила, в которых указывается, что можно им делать, что нельзя.
  • Программный комплекс обладает возможностью кодирования данных (пароли) в таблицах (во всех или на выбор) с целью предотвращения неавторизованного входа в них на уровне таблиц.
  • Программный комплекс имеет в своем составе функции проверки целостности (логической и физической) информации, резервного копирования данных, проверки и восстановления данных, испорченных вследствии аппаратных сбоев компьютера, отключения питания, или зависания операционной системы.
  • Для фармацевтических фирм загрузка Государственного Реестра лекарственных средств с его полной интеграцией с базой данных пользователя.(с 21.07.2000)
  • Импорт приходной накладной, с его полной интеграцией с базой данных пользователя.(с 01.11.2001), который позволяет существенно ускорить ввод прихода. Возможен при наличии электронной версии накладной от поставщика, которая представляет собой файл в формате dbf,db, txt или xls, содержащий состав документа. Названия полей неважны, важно, чтобы пользователь знал их содержание.
  • Загрузка справочника забракованных серий (с 01.07.2002) и его полная интеграция с базой данных. Справочник дает возможность быстро находить с его помощью забракованные серии в накладной или в картотеке оприходованных товаров, что значительно ускоряет работу оператора во время оприходования товаров, а также уменьшает риск поставить на приход товары с забракованными серия

Одной из особенностей программного комплекса SOLARIS является его возможность смешанного учета товаров: С одной стороны, с помощью ведения картотеки товаров осуществляется жесткий контроль за сериями, протоколами анализов и др. необходимыми и не очень необходимыми товарами, с другой стороны, существует номенклатурный справочник, позволяющий снимать аналитические данные по определенному номенклатурному коду или по группе товаров. С одной стороны мы можем абсолютно точно определить, когда и кому продан товар данной серии (партии). Уже в момент продажи мы знаем такие параметры товара, как закупочная стоимость, поставщик, производитель и т.д. Мы можем заводить в торговом зале одновременно несколько партий одного товара, скажем "Аспирин 0.5 таб. .10", каждая из которых будет продаваться по своей цене. С другой стороны, с помощью номенклатурного справочника мы сможем узнать, сколько "Аспирин 0.5 таб. .10" мы продаем за месяц всего, не различая серий. Программа ведет одновременный учет остатков в нескольких разрезах (регистрах):

  • Общий номенклатурный остаток по предприятию в целом
  • Общий номенклатурный остаток с учетом отгрузки (отгруженные накладные) по предприятию
  • Общий номенклатурный остаток по каждому складу (юридическому лицу) отдельно
  • Общий номенклатурный остаток с учетом отгрузки (отгруженные накладные) отдельно по складам
  • Остаток по каждой карточке отдельно.

Кроме того, что ведется учет актуального остатка, имеется возможность поднять остатки на определенную дату, определенной группы. Применяются фильтры: склады, основания в накладных, контрагенты, ставка НДС, ставка 5% налогов, статус по отгрузке, даты или диапазоны, группы по кодам, фильтра документов по пользователям, осуществившим их, положительным и отрицательным остаткам, сериям, карточкам, производителям, срокам хранения и др.

Внешний вид программы "жестко зашит" в коды и не редактируется. Редактируется только внешний вид рабочих таблиц. Однако все печатные формы легко редактируются, и на их основе можно создавать новые формы печати. Настройки печатных форм для конкретного предприятия обычно играют самую важную роль при установке программы.

Для более подробной информации по методике ведения учета товаров см.Здесь

Программный комплекс разработан и впервые установлен в конце 1998 года и состоит на обслуживании нескольких десятков аптек, магазинов и оптовых (фармацевтика, продукты питания, стройматериалы) предприятий г.Саратова и Саратовской области.

Программа работает в средах Windows 95-98-NT-2000-Millenium ( ;) ). Под управлением MS-DOS не работает, под Linux пока не работает тоже (пока) ;)

Требования к системе

Описание

Загрузка

Программа SOLARIS существует как проект и как работающая программа с 1998 года. Программа стоит в нескольких десятках предприятий города Саратова и Саратовской области а также за их пределами. Среди наших клиентов - аптеки, мелкооптовые предприятия, розничные магазины. .

Продукт находится в постоянной доработке. Выполняется работа под заказ клиента. При установке программа сдается "под ключ", то есть в процесс и стоимость продажи включена первоначальная установка и настройка. В дальнейшем заключается договор на абонентское обслуживание. Дается пожизненная гарантия на правильную работу программы.

С вопросами и предложениями обращайтесь: borzov@solr.ru, http://solr.ru

Оглавление


Загрузка комплекса SOLARIS

Загрузка SOLARIS:

Возможны несколько вариантов загрузки программы SOLARIS:

  • Полная инсталляция (~17МБ). Сюда входит программа с демонстрационными базами данных, файл описания solaris.chm, который является копией с данной страницы, и файл bdeinst.cab - инсталляция BDE.

  • Дополнительно (входит в полную инсталляцию):

    • Обновление программы Solaris - последняя версия ( только программа) - файл solaris.7z.exe (~4MB)
    • Обновление программы SCash - последняя версия ( только программа) - файл scash.7z.exe (~3.5MB)
    • Описание (~3.3МБ) программы
    • Библиотека BDE (~3.4МБ) - движок для работы с базой данных. Можно загрузить инсталляцию непостредственно с www.borland.com, или найти ее на дисках от BORLAND. Возможно, она уже стоит в системе, и тогда программа SOLARIS не запросит обновления.

Программа совместима со всеми операционными системами MS Windows, начиная с Win2000. Любой новый компьютер будет пригоден для работы.

С вопросами и предложениями обращайтесь borzov@solr.ru

http://www.solr.ru

С наилучшими пожеланиями !

bvsoft


Главное окно программы

Главное окно программы содержит меню со ссылками на все доступные в ней формы. Оно является основным элементом управления. Имеется настраиваемая панель кнопок, которую можно убрать с экрана, а можно вывести почти все необходимые элементы меню.

Меню программы может содержать или не содержать некоторых элементов, в зависимости от ограничений рабочих мест. При полном доступе все действия в программе доступны с помощью меню. Внизу главного окна смотрите подсказку по меню.

Панель кнопок используется как дубликат меню для ускорения доступа к наиболее часто используемым программам. Панель кнопок можно настраивать и размещать на экране как удобно.

Список окон внизу главного окна позволяет переключаться мышью между окнами. Здесь же отображаются дубликаты всплывающих подсказок по меню и кнопкам, а также пользователь, от чьего имени был осуществлен вход в систему.

С помощью двойного клика мышкой в рабочей области главного окна можно поменять ее цвет.


Торговля со склада

Торговля со склада, оформление приходов.

Товарные документы (накладные) оформляются с помощью формы "Накладная".

С помощью данной формы оформляются приходные и расходные накладные, а также редактируются чеки, оформленные в торговом зале. Из этой формы распечатывается свод документов

формы печати из накладной

При вводе приходной накладной программа создает карточки на каждую позицию товара, а пользователь вводит реквизиты карточек, такие как серия, номер сертификата, номер протокола анализа, производитель и т.д. Каждой карточке присваивается уникальный номер, который никогда не повторяется для вновь прибывших товаров, но одинаков для карточек, создаваемых при внутренних перемещениях, что позволяет отслеживать движение определенной партии при перебросах между складами.

При вводе расходной накладной покупатель выбирает товар из номенклатурного справочника или вводит номер необходимой карточки. Все реквизиты программа выбирает по картотеке и они не редактируются.

В накладной необходимо:

  • Указать склад, участвующий в накладной (в приходах это поле "кому", в расходах - "от кого"). Будет произведено добавление или перерасчет остатков на выбранном складе.
  • Указать основание в накладной. Основание выбирается из списка оснований, который можно редактировать.
  • Указать контрагента (в расходных накладных к-агента можно не указывать из списка, но можно вписать вручную - в данном случае считается, что к-агент - частное лицо, в чеках к-агент часто вообще не указывается. Все ограничения на отсутствие контрагента в расходной накладной настраиваются администратором базы). В приходных накладных контрагента (поставщика) указать нужно обязательно.
  • При нажатии кнопки "создать новый документ" программа сгенерирует новый номер для накладной с текущей датой. Автоматическая генерация номеров предполагает их обновление ежедневно, ежемесячно, ежеквартально, раз в год, в зависимости от настроек системы.
  • В приходной накладной в поле "код документа" (рядом с полями "дата документа" и "номер документа") вводится номер накладной поставщика. Если необходимо проверить, не была ли введена ранее накладная с этим же номером, можно воспользоваться кнопкой (рядом с полем ввода номера документа) "проверить данный номер на наличие в базе".
В накладной можно:
  • В поле "Код документа" указать код документа поставщика, или вести вручную параллельную номерацию накладных, если не устраивает номерация внутренняя.
  • Указывать номер счет-фактуры или генерировать его программно. При этом генерация возможна с обновлениями по правилам таким же, как и в накладной. Если счет-фактура не указана, то считается, что накладная без счет-фактуры. Впоследствии можно фильтровать накладные со счет-фактурами и без них.
  • Заполнить поле "Через кого" из списка контрагентов.
  • При необходимости можно вписать дополнительную информацию в строки, находящиеся справа от полей "От кого", "Кому", "Основание".
  • Оставлять за накладной статус "Не отгружена", в данном случае накладная сохраняется в списке накладных, но остаток по указанному товару не генерируется, а также заводится остаток в поле "забронировано". При выписывании накладной можно видеть
  • Указывать срок оплаты накладной, чтобы впоследствии учитывать его при взаиморасчетах.
  • Производить групповые скидки/наценки в накладной. В приходной накладной можно произвести наценку на товары в процентах от цены производителя и от закупочной цены. В расходной можно произвести также доп. наценку/скидку от базовой продажной цены, указанной в карточке.

После сохранения накладной генерируются актуальные остатки на товары. Накладную можно открыть заново, указав дату, номер и склад и нажав кнопку "Открыть" или найдя ее в списке накладных. После открытия ее можно или отредактировать, или удалить (для этого необходимо удалить все товары и нажать кнопку "сохранить", удалить можно также ч/з список накладных). Остатки после изменения пересчитываются.

Подробнее.


Импорт накладных

Импорт накладных в системе Solaris

Импорт накладных от поставщиков является важным элементом процедуры оприходования товаров, сокращающим время ввода накладной в десятки раз. Поставщики обычно отправляют электронные версии накладных посредством почты или специальных программ. Солярис обладает способностью принять эти файлы или с помощью скриптов, или с помощью системы ручной настройки импорта, не требующей вмешательства программиста. Для того, чтобы можно было принять накладную ручной системой импорта, необходимо доставить на локальный компьютер файл накладной. Если воспользоваться скриптом, то, строго говоря, можно прописать какой угодно интерфейс.

Импорт накладной осуществляется 4 этапами:

  1. Получение файла. Обычно для доставки файла используется почта. Письма могут приходить в обычную почтовую программу, откуда они выкладываются или оператором вручную, или почтовой программой самостоятельно, если она умеет это делать. Для автоматизации этого процесса можно пользоваться программой MailProcessor, которая разложит полученные по почте от поставщиков файлы в определенные в ее настройках каталоги, по отдельным подкаталогам для каждого из поставщиков, а также дополнительно по подкаталогам, соответствующим датам отгрузки. В этом случае все действия по получению файла сведутся к нажатию "доставить почту" на соответствующем значке в системной рабочей области Windows.
  2. Собственно импорт файла во внутренний формат. Здесь происходит интерпретация данных в файле и перекачка их во внутренний формат, после чего будет проведена окончательная адаптация файла.
  3. Сопоставление элементов справочников принимаемой таблицы и собственной базы. Иными словами - расстановка кодов товаров, производителей, стран, сертифицирующих органов.
  4. После сопоставления элементов справочников происходит копирование данных непосредственно в накладную, где она проходит дополнительную обработку, если это нужно.

Дальше будут проводиться мероприятия по расценке товаров и генерации печатных форм, но это уже к процедуре импорта не относится.

Этап 1: Перенос данных во внутренний формат

На этом этапе возможны несколько вариантов импорта:

Меню импорта накладных

  • Прием данных в формате Solaris: если поставщик пользуется также программой Solaris, то он может произвести передачу накладных во внутреннем формате (таблица определенной структуры заворачивается в zip-пакет). Данный файл принимается с помощью меню импорта "импорт приходных накладных <- Solaris" к кнопке "Импорт накладной". При выборе этого пункта меню программа запросит местонахождение файла .zip. После этого оператор перейдет сразу в окошко "импорт накладной".

  • Прием данных с помощью скриптов импорта. Такой способ удобен тем, что скрипт адаптирует данные с накладными самостоятельно, предоставляя пользователю возможность выбрать или нужный файл, или каталог, где лежат нужные файлы, или сразу накладную из списка накладных. В любом случае скрипт предоставляет интуитивно понятный интерфейс для чтения данных из файла. Все установленные скрипты доступны в меню к кнопке "импорт накладных" в форме "Приходный документ", каждый скрипт - отдельным пунктом меню. После отработки скрипта оператор окажется в окне "импорт накладной".

    Заметка по настройке: Для реализации задачи используются скрипты в формате fastscript-pascal. Файлы скриптов описываются на одном 4 из языков программирования: Pascal, C++, Java, Basic. В своем арсенале система обработки скриптов соляриса имеет множество встроенных функций. . Для изучения доступных функций можно воспользоваться пунктом меню "Администратор/Редактор скриптов". Несколько готовых плагинов можно найти по адресу http://www.solr.ru/download/solaris/scripts/import_invoices/. Файл скрипта подключается к системе через настройки программы (меню "Администратор/Установки", закладка "Импорт-экспорт):
    Настройка скриптов импорта накладных
    В таблице "скрипты импорта накладных" необходимо указать имя варианта, которое высветится в меню к кнопке "импорт накладных", а также полный путь к файлу-скрипту (либо неполный путь с подкаталогом, если скрипт хранится в подкаталоге scripts рабочей директории программы, либо в подкаталоге scripts базы данных). Настройки применяются ко всем рабочим местам, поэтому, для того, чтобы файл скрипта был доступен всем пользователям, необходимо разместить его на общедоступных каталогах. Например в каталоге базы данных solaris.

  • Прием данных из системы Solex: запускается пунктом меню "Импорт из Solex" к кнопке "Импорт накладных". При выборе этого меню откроется окно "список накладных" программы Solex (для этого необходимо наличие на компьютере клиентской программы Solex для покупателей, программа будет взаимодействовать с базой Solex через нее). Нужную накладную нужно выбрать из списка накладных, полученых через Solex. Далее оператор попадает в окно "импорт накладной". Преимущество этой системы перед всеми остальными будет в том, что:
    • Импорт накладных будет производиться из списка накладных в solex, при этом система гарантирует доставку новых документов в случае, если поставщик их разместил там.
    • Не нужно производить никаких интеграций с данными поставщика. Все эти настройки производятся специалистами, обслуживающими систему. Таким образом, если поставщик присутствует в системе и подает туда свои накладные, то не нужно заботиться о том, в каком виде он их подаст, это все уже будет отрегулировано.
    • система Solex на основе своей базы знаний будет расставлять коды справочников на большинство строк автоматически. Оператору же нужно будет произвести досогласование малой части, стремящееся к нулю. Также удобством является отсутствие необходимости заботиться о собственно получении этого документа, поскольку он доставляется системой Solex.
    • При прохождении накладной через систему Solex возможны дополнительные сервисы, такие как проверка забракованных серий в данном документе, согласно подписке на забракованные серии в системе солекс для данной организации.

  • Самый общий вариант, не требующий никаких специальных настроек: импорт через Общую форму импорта накладных. Данный вариант рассчитан на чтение простой таблицы в формате DB, DBF, TXT с различными разделителями, CSV, XLS в виде простой таблицы. При импорте из такого файла оператор проходит через выбор драйвера импорта (если стандартный не подойдет), корректировку кодовой страницы (если потребуется) и сопоставление полей (с опциями сохранения вариантов для последующих обработок). После отработки скрипта оператор окажется в окне "импорт накладной".

    Подробнее об приеме накладных через "Общую форму импорта"
  • Прием с помощью меню "автоматический импорт накладной". Данный вариант является наиболее удобным, для его исполнения достаточно выбрать поставщика в приходной накладной и исполнить меню "автоматический импорт накладной" к кнопке "импорт накладных" (если нажать просто кнопку "импорт накладных", а не стрелочку рядом с ней, вызывающую меню импорта, то будет исполнен выполненный последний раз пункт меню, что дает возможность исполнять одно и то же меню просто нажатием кнопки "импорт накладной"). Для того, чтобы сработал автоматический импорт, необходимо в списке контрагентов напротив выбранного нами поставщика указать его скрипт либо вариант сопоставления полей:

    Настройка параметров импорта накладных для данного поставщика

    В поле "скрипт" необходимо указать полный путь к файлу-скрипту (либо неполный путь с подкаталогом, если скрипт хранится в подкаталоге scripts рабочей директории программы, либо в подкаталоге scripts базы данных). Настройки применяются ко всем рабочим местам, поэтому, для того, чтобы файл скрипта был доступен всем пользователям, необходимо разместить его на общедоступных каталогах. Например в каталоге базы данных solaris.

    Настройка параметров импорта накладных для данного поставщика

    Другой вариант - указать вариант настроек полей для ручного импорта. в этом случае сработает вариант импорта "общий", но при сопоставлении полей по-умолчанию будет указан выбранный вариант, что избавит пользователя от лишних нажиманий..

Форма "Импорт накладной"

Согласование кодов справочников

В данной форме происходит регистрация кодов справочников, то есть сопоставление наименований (товары, производители. страны, серт.органы) с собственными. Просто так добавлять в собственный справочник позиции, не проведя ручной их обработки, нельзя. В этом случае мы будем просто неоправданно раздувать собственный номенклатурный перечень, к тому же, наименования, предлагаемые поставщиком, не всегда могут устроить предприятие, принимающее накладную. При сопоставлении полей программа пользуется собственным алгоритмом распознавания наименований, а также базой знаний (всевозможные версии написания одного и того же препарата), которую она пополняет во время работы оператора над сведением справочников.

Таким образом, без этого диалога не обойдется ни один импорт ни одного из вариантов. Сведение справочников придется выполнить!

Для старта процедуры согласования необходимо последовательно выполнить меню регистрации к кнопке "анализ наименований" соответственно по каждому справочнику или выполнить пункт меню "анализ всех справочников последовательно".

Программа попытается автоматически согласовать наименования с собственными на основе алгоритма нормализации наименований и базы знаний. Если она не может определить товар, то происходит запрос в форме:

Для того, чтобы программа предложила правильные варианты в нижней таблице. необходимо в белом поле ввода выше этой таблицы ввести часть наименования этого товара, или несколько частей через "%", который обозначает любое количество любых символов между этими частями. Выбор быстрый частей возможен с помощью мышки и кликаний ею (правыми или левыми кнопками, двойные клики, правильную функциональность легко изучить экспериментально) в наименовании товара оригинальном, приведенном в верхней левой части диалогового окна. Если Мы не находим никаких подходящих вариантов, то мы можем добавить новый элемент в наш справочник (кнопка "Создать").

Следует иметь ввиду, что несогласованные коды справочников влекут за собой то, что они не будут указаны в результирующей накладной. А отсутствие кода товаров приведет к тому, что строчка будет вообще пропущена. Обычно эти вопросы неактуальны при импорте накладных, обычно нет причин не согласовывать все элементы справочников.

По окончании регистрации кодов накладную можно принимать кнопкой "прием данных в накладную". И здесь нужно знать еще о нескольких полезных настройках:

Очень часто поставщики не указывают цену производителя, если она равна цене закупки. Чтобы программа понимала это и выводила цену производителя ненулевыю для таких строк, используется галочка "Если цена произв.=0, то сделать = цене закупки. Другая галочка "НДС для продажи установить = Цене закупки" используется, если мы не указываем поле "НДС прод" при интеграции,а хотим просто взять его из другой ставки: "НДС по факту". И, наконец, у некоторых поставщиков, если в накладной не указана, скажем, серия. то можно взять ее значение из предыдущей строки.

Согласование справочников других типов осуществляется формами с аналогичной функциональностью.


Методика создания возвратов от покупателей

Возвраты от покупателей

Под правильным оформлением возврата от покупателя понимается методика проведения возврата, которая позволяет впоследствии отследить закупочную стоимость товара и поставщика.

Осуществление возврата специальными чеками в торговом зале.

Далее описана схема осуществления возврата приходной накладной:

Возвратными накладными являются накладные (как приходы, так и расходы) с основаниями, коды которых будут начинаться на "В" (русская В). Такие накладные обрабатываются программой специальным образом - во-первых, они попадают в карточки контрагентов - расходная - к поставщику, приходная - к покупателю, во-вторых, программа отслеживает соответствие цен и контрагентов, а для прихода от покупателя - воспринимает такую накладную также, как и приходную по перебросу, т.е. все карточки должны дублировать по номерам и по содержимому те карточки, с которых был сделан возврат, а также в программе должна быть установлена связь приходной строчки с расходной, с которой она была возвращена. По этой связи программа отследит, кто был поставщик данного товара, и какая была закупочноая стоимость. Если этого не произойдет, программа будет выдавать предупреждения о некорректных данных, как в перебросах. Если номера карточек будут уникальными (не будут равны тем, с которых они вернулись), то в форме проверка перебросов они проявятся как ошибочными наряду со такими же неправильными перебросами.

Если нужно, чтобы возвратная накладная воспринималась программой как обычный приход со всеми вытекающими отсюда последствиями, то нужно использовать для этого основание, код которого не начинается на "В" (например: код:"11", наименование: "Возврат от покупателя").

Для того, чтобы правильно оформить возврат от покупателя, нужно

  • Создать приходную накладную, указать основание "Возврат".
  • Склад здесь неважен.
  • Указать покупателя в поле "от кого".
  • Нажать кнопку Кнопка 'журнал продаж'. Откроется журнал продаж по данному контрагенту. Если нужно, можно сменить фильтр по датам. Далее с помощью ENTER нужно будет выбрать те строчки, с которых производится возврат. Программа создаст карточку - дубликат указанной.
  • ВСЕ!

Если Вам не повезло, то можно сделать сверку возвратов от покупателей в специальной форме. Форма 'сверка возвратов от покупателей'

Форма 'сверка возвратов от покупателей 2'

Здесь будет необходимо в тех строчках, в которых к приходу не найден соответствующий расход, найти его и сопоставить. Делается это так:

  • Встать на нужную строчку
  • Нажать кнопку Кнопка 'закрепить' Появится журнал продаж по указанному контрагенту за определенный период. После того, как найдете необходимый товар, нажмите ENTER.
  • Если строка станет одного из указанных цветов: Рабочие цвета при проверке возвратов, то, скорее всего необходимо провести проверку, правильно ли Вы все сделали и, в случае необходимости - перерегистрацию. Если строка окрасилась в стандартный цвет (черный), то все в порядке, и впредь на данную строчку будет найден поставщик (и покупатель ;>).
  • Если наблюдается несоответствие номеров карточек, то это исправляется в проверках номеров карточек программой автоматически.


Методика создания возвратов поставщикам

Возвраты поставщикам

Под правильным оформлением возврата поставщику понимается такое оформление возвратной накладной, при котором в накладную попадают карточки, пришедшие именно от данного поставщика, а также цены, которые указаны в возвратной накладной, соответствуют ценам прихода.

Можно сделать все отслежки вручную, однако для этого можно воспользоваться специальной методикой.

В расходной накладной можно найти кнопку кнопка . Если при расходе указать основание "ВОЗВРАТ" (имеется ввиду любое основание с кодом, начинающимся на "В" - русская В), а также указать контрагента - поставщика, которому оформляется возврат, то после нажатия указанной кнопки программа откроет картотеку товаров, отфильтрованную по складу, указанному в накладной, по поставщику, указанному в накладной. После этого можно будет с помощью кнопки ENTER выбрать нужные карточки для возврата. Программа отследит, чтобы возвращалось товара не более, чем осталось, а также правильно расставит цены возврата.

Проверить правильность оформления возвратов задним числом можно очень просто: Выведите ведомость реализации, отфильтрованную по накладным с возвратными основаниями, сделав максимальную детализацию вывода. Если в данной форма наценка положительная, то строки не выделяются никак (черный шрифт), если наценка отрицательная, то шрифт будет красным, если нулевая, то шрифт будет синим. Таким образом правильно, когда шрифт синий. Соответствие контрагентов можно проверить, сверив колонки поставщик и контрагент в таблице - они должны быть равны.


Методика создания возвратов от покупателей

Внутренние перемещения (перебросы)

Накладные-перебросы или накладные-перемещения служат для перемещения товаров между складам. Переход товара со склада на склад осуществляется парой накладных: сначала расходная накладная списывает со склада-источника товар с основанием "внутреннее перемещение" или "переброс" (или любое другое, код которого начинается на "П"), потом программа генерирует приходную накладную на склад-приемник. Карточки в этой накладной будут являться вторичными, то есть сгенерированными из первичных или других вторичных карточек. Первичными являются карточки, сгенерированные в накладных, приходующих товар непосредственно от поставщика. Вторичные карточки имеют те же номера, что и первичные. Приходная накладная со вторичными карточками имеет внутреннюю связь с расходом, с которого поступил приход-переброс.

Приходная накладная по складу-приемнику будет передана в базу, обслуживающую этот склад (аптечный пункт, магазин). Цены прихода в этой накладной могут быть равными или ценам закупки, или ценам продажи (то есть учетным ценам), это определяется политикой учета в организации и настройками программы.

Накладные на переоценку организованы по той же схеме, что и перебросы: сначала расходом списывается товар с первичных карточек, ценой указывается новая цена после переоценки, и программа генерирует приходную накладную со вторичными карточками и уже новыми ценами.

Алгоритм создания переброса достаточно прост:

  • Создать расходную накладную с основанием перебросного типа ("внутреннее перемещение", "переброс в аптечный пункт", "переоценка") со склада-источника в поле "от кого" с указанием склада-приемника в поле "кому". Набрать товар в накладную. В случае изменения цен продажи - указать новую цену в поле "цена".
  • После сохранения расходной накладной программа запросит создание пары-приходной накладной. В ней ничего редактировать не нужно, просто нужно сохранить накладную.
  • В случае, если мы редактируем ранее созданную накладную, то делать это нужно в расходной накладной. После сохранения расходной накладной программа предложит форму для согласования расходной накладной с соответствующей приходной. Здесь достаточно нажать кнопку "исправить все".
  • Если необходимо удалить накладную-переброс. То нужно вручную удалить расходный документ ,а также вручную удалить приходный документ. Сделать это можно в списке накладных (во всплывающем меню пункт "удалить документ").


Торговый зал

Работа в Торговом зале

Работа в ТЗ осуществляется с помощью отдельного модуля SCash, который отличается от модуля SOLARIS отсутствием многих функций ненужных в торговом зале и наличием формы "Розница", из которой осуществляется продажа товара в торговом зале, а также более удобным интерфейсом главной формы для работы в торговом зале.

Здесь Вы сможете:

  • Быстро набрать чек (из номенклатурного справочника, через номер карточк, который можно предварительно набить "пистолетом" на коробках, или через штрих-код, набитый производителем, или установленный программой). Подробнее смотрите в разделе Алгоритмы поиска и выбора товаров в чек
  • Осуществить расчет скидок
  • Отсчитать сдачу
  • при сохрании чека его сумма автоматически пробивается в кассовой машине, конечно при наличии связи с ККМ. В настоящий момент в режиме фискального регистратора программа может общаться с Samsung-ER250RF, АМС-100Ф, ЕКР-3102Ф. Если у Вас другая касса и она может общаться с компьютером, то мы готовы подключить и ее. (Примечание: на 2001 год режим фискального регистратора для кассовых аппаратов запрещен, то есть не производится регистрация новых точек в таком режиме, старые кассы, уже установленные в таком режиме, не запрещаются. Однако существуют аппараты, которые так и называются "фискальные регистраторы", у них нет клавиатуры, то есть они подразумевают только работу с компьютера. Они не запрещены. Программа может работать и с ними).
  • При продаже товаров ведется резервный журнал, из которого можно восстанавливать информацию о продажах и изменениях.

Можно вести учет в разделенных базах данных. Для этого в основной базе данных заводятся данные по выделенному складу (пункту, точке), как по всем остальным. После того как сгенерированы приходы и расходы с данного склада (пункта, ТЗ), можно передавать данные на выделенную базу. Передаются все списки (контрагентов, производителей, оснований, товаров, пользователей). Все эти списки должны быть в полном соответствии. То есть во всех выделенных базах данных списки должны полностью соответствовать. Это несложно при централизованной организации баз данных (1 главная, все остальные выделенные базы). Вместе со списками передаются накладные по данному пункту (складу, ТЗ).

Передача данных о продажах может происходить через локальную сеть, через модем или в виде файла-архива через любой другой способ передачи данных (дискета, ZIP ...). С помощью механизма передачи данных можно организовать сколько угодно выделеннных складов или организовать, к примеру, передачу данных из складской программы в офисную программу. При этому данные будут добавляться по мере надобности, уже набранные данные не меняются, что дает пользователю в офисе делать не только анализ, но и какие-то дополнительные действия. Можно использовать этот механизм для того, чтобы не хранить в базах данных на складах информацию за слишком большой период. После передачи данных на офис базу можно очищать (упаковка, например).


Торговый зал - руководство пользователя

Руководство пользователя ТЗ

Для работы с торговым залом разработан модуль SCASH , который включает в себя все необходимые для этой работы функции.

При вызове программы сразу же открывается окно "Розница", в котором будет осуществляться набор чека и его отпуск.

Работа в окне РОЗНИЦА может быть осуществлена следующим образом:

  • Выбираем товар в чек. Для этого используем один из описанных в разделе Алгоритмы поиска и выбора товаров в чек способ
  • Количество товара, выбранного в чеке, можно поменять в таблице чека в поле "КОЛ-ВО". Программа может быть настроена так, что нельзя два раза выбрать одну карточку в чек. В этом случае нужно выбрать нужную карточку в чеке и увеличить там количество..
  • В поле СУММА будет изображаться сумма по чеку, рядом есть поле ввода реального количества денег, полученных от покупателя. Чтобы туда попасть, нужно нажать F12 . После ввода суммы Вы увидите сумму сдачи. Возврат производится повторным нажатием F12 .

  • Если осуществляется отпуск по дисконтной карте, то необходимо мышкой включить флажок "ДИСКОНТ", или если "БЕЗНАЛ" - в зависимости от настроек программы. В случае дисконта программа переключится на окошко ввода номера дисконтной карты Если в программе установлена скидка на дисконтные карты, то программа произведет скидку на весь чек и в соответствующем поле, видном на изображении, нарисует процент и размер этой скидки. Аналогично выбираются другие типы скидок Все данные о произведенных типах оплат и размерах скидок будут сохранены, и впоследствии можно будет отследить сумму скидок и процент, произведенные в чеке.
  • Сохранение чека производится нажатием кнопки F3

    Если к компьютеру подключен кассовый аппарат, то чек будет сохранен и в кассе. Отлючается касса с помощью пункта меню [image]. Надо выбрать этот пункт меню и сменится флажок. Наличие флажка означает, что касса отключена, и при сохранении чека использоваться не будет. Есть еще один пункт меню "подтверждение на пробитие чека". Если там выставлен флажок, то программа будет запрашивать подтверждение на пробитие чека в кассовом аппарате каждый раз с помощью диалогового окна. Если флажок снят, то программа будет взаимодействовать с кассовым аппаратом сразу после нажатия F3.

    Если сохранение чека прошло нормально, то программа очистит данное окно, подготовив его для ввода нового чека.

    Новые драйверы для кассовых аппаратов предполагают, что перед тем как будет пробит чек в кассовом аппарате, нужно будет на его клавиатуре нажать определенный набор клавиш. В этом случае программа будет выводить окно ожидания, которое закроется после того, как Вы нажмете необходимый набор клавиш. Если этого не сделать, а нажать "ESCAPE" на клавиатуре компьютера или кнопку отмены в окне ожидания, то программа остановит сохранение чека.

  • Отмена всего чека и стирание всех данных может быть произведена 2 способами.
    • С помощью кнопки DELETE удалить все строчки из чека
    • Нажав Ctrl+F3, Вы отмените весь чек.
  • Товарный чек можно распечатать, нажав кнопку с изображением принтера. При этом следует помнить, что принтер должен быть подключен локально или по сети.

Дополнительные функции

  • F5 - Выручка. Здесь появится диалоговое окно "Итого по кассе" с выручками по кассе, в сумме, с детализацией по пользователям, и, если нужно, по датам. Для того, чтобы поменять диапазон дат, нужно щелкнуть мышкой на соответствующей дате и в диалоговом окне выбора даты указать нужную. Другой способ - нажать Ctrl+D - появится диалоговое окно смены диапазона.

Отчет можно распечатать обычным способом, нажав кнопку принтера на форме. Закрывается окно стандартным набором Ctrl+F4 или мышкой, как обычно.

  • F7 - Вызвать список чеков. Выводится список чеков. По умолчанию выбирается только текущий день, но с помощью Ctrl+D (или мышки) можно поменять диапазон в запросе. Если пользователь имеет доступ к данным других пользователей, то можно отфильтровать информацию по указанному пользователю, выбрать в его в окошке "пользователь".

    В целом данная форма служит не только для вывода списков чеков, но и для вывода списков всех накладных, как приходных, так и расходных. Чеки в программе сохраняются как накладные с основаниями "наличный расчет" или "дисконтная карта", или "безналичный расчет".

    Если, встав на определенный чек, вызвать всплывающее меню, то там можно будет найти пункт "удалить документ". Если его выбрать,то программа запросит подтверждение удаления чека, на котором находится курсор.

    Другой пункт меню: "открыть данный документ". С его помощью можно будет зайти в сохраненный чек и изменить данные в нем (eсли, конечно, в программе не прописаны запреты на такую операцию для пользователей). Документ будет открыт в форме накладной. Работа схожа по набору кнопок с формой "чек", только возможности гораздо шире. (см. ниже)

    Данный список тоже распечатывается

  • Alt+F7 - Вызвать список чеков -возвратов от покупателей. Выводится тот же самый список накладных, но это уже приходные накладные. Список фильтруется по основаниям типа "возврат от покупателя".
  • F9 - Вызвать журнал продаж - информация по продажам товаров за период. Здесь отдельной строкой выводится каждая строчка в чеках, выбранных за указанный период. Справочник можно сортировать, выбрав на закладке "общие" данной формы соответствующий пункт в поле "сортировка". С помощью закладок "склады", "основания" и т.д. можно усилить фильтр в журнале продаж. Также можно изменять диапазон дат одним из описанных ниже способов.

    Если встать на одну из строк и нажать DELETE, то программа предложит удалить данную продажу из чека, в котором она проведена. Остается только подтвердить, нажав ENTER, или отказаться - ESC.

  • Alt+F9 - Вызвать журнал возвратов от покупателей. Функционирует аналогично журналу продаж.
  • Alt+F3 - Просмотр резервного (контрольного) журнала. Если программа настроена на ведение резервного журнала, то каждый чек будет сохранен в резервном журнале - отдельной таблице. Резервный журнал хранится собственный на каждом рабочем месте и хранит в себе информацию о каждом чеке, пробитом на данном рабочем месте, независимо от пользователей. Резервный журнал обновляется каждый месяц. Старые данные сохраняются в архиве резервных журналов, откуда их тоже можно поднять. Необходимый журнал выбирается кликаньем мышки в списке журналов в данном окне. Поле "journal" соответствует текущему журналу. В резервном журнале сохраняется информация о том, сколько, по какой цене, когда, во сколько и какого товара было продано. Данная информация не изменяется и не корректируется. Даже если удалить чек, информация в резервном журнале не изменится.

Работа с Номенклатурным справочником товаров:

Форма, вызываемая из чека с помощью кнопки F6 изображает справочник товаров (номенклатурный). Данный справочник хранит в себе все наименования товаров, используемые в базе данных без разделения по партиям (сериям, карточкам). Разделение можно увидеть после нажатия ENTER, если производится выбор в чек, или с помощью кнопки F12. В обоих случаях появятся окошки, раскрывающие выбранное наименование по всем имеющимся в наличии партиям (сериям, карточкам). В этих окошках можно будет увидеть номер серии, точную цену, срок годности, дату и номер приходной накладной, поставщика а также другие параметры.

Новые товары в справочнике создаются, скорее всего, во время оприходования товаров, что не является задачей торгового зала, и, хотя эта функция доступна и в данном модуле, но обычно она отключается для операторов торгового зала и здесь рассматриваться не будет.

В справочнике товаров можно менять фильтр по остаткам товаров. С помощью мышки в поле "фильтр остатков" можно выбрать пункт из имеющихся ("все", "непроданные", "отрицательные" и "нулевые"). Удобно для переключения "все"/"непроданные" использовать клавишу F4.

В поле "сортировка" можно указывать разные варианты сортировки справочника. Делается это с помощью мыши. Рекомендуется выбор сортировки по наименованию. Если ее использовать, то очень удобно искать товары в справочнике, набирая наименование на клавиатуре. При этом курсор должен стоят в таблице на поле "наименование".

Другой способ быстро находить товары в справочнике - F3. Появится вот такое окно, где нужно будет набрать текст из наименования. После нажатия ENTER программа покажет список всех товаров, в которых в любом месте наименования найден указанный текст. Здесь НЕ важен регистр букв. Обнаружив в списке найденных товаров указанный, нужно встать на него с помощью мышки или стрелок клавиатуры. В справочнике товаров курсор будет переходить на соответствующую запись. Если теперь нажать:

  • ESCAPE, то закроется данное окно и Вы окажетесь на товаре, который искали в справочнике.
  • ENTER, Вы также окажетесь на товаре в справочнике, только окошко поиска не закроется.

С помощью всплывающего меню можно посмотреть движение товара (пункт "движение товара"), в котором будет отражено полное движение товара с указанным кодом. Для того, чтобы попасть на нужный код, нажимать правую кнопку на соответствующей строчке в списке товаров :-)

Движение по коду

Внимание! Если Вы выбираете товар в чек, видите, что товар есть в остатке, а после нажатия "ENTER" получаете сообщение, что "ТОВАР НЕ НАЙДЕН" или примерно такого содержания, то это значит, что на некоторые партии по какой-то причине выставлена карточка с номером "0". Эта ситуация будет, скорее всего, исправляться оператором, осуществляющим приход, поэтому сообщите ему.

Внимание! Если Вы выбираете товар в чек, видите, что товар есть в остатке, а после нажатия "ENTER" в окошке выбора видите другой суммарный остаток, то это значит, что некоторые карточки имеют отрицательный остаток. В этом случае обратитесь к лицу, ответственному за корректность ведения данных в программе.

Работа с главным окном программы:

  • Главное окно программы имеет МЕНЮ и КНОПКИ.
  • Меню вызывается с помощью мышки или нажатием ALT Далее - с помощью все той же мышки или стрелок на клавиатуре выбирается необходимый пункт меню.
  • Доступны следующие пункты меню
    • Окошко "продажа в розницу". Оно появляется автоматически при загрузке программы, однако его можно вызвать и отсюда, если оно закрылось.
    • Форма "Накладная". Здесь производится набор накладной. Нам будет нужно для просмотра уже сохраненных чеков.
    • "Возврат" - форма для оформления возврата от покупателя. Работа в этой форме осуществляется также, как и в чеке - F3 - сохранение чека, F6 - вызов журнала продаж. Здесь вместо номенклатурного справочника вызывается журнал продаж, в котором нужно будет выбрать искомую продажу и нажать на ней "ENTER", выбирая тем самым указанный товар в чек возврата. В диалоговом окошке останется указать количество возврата и снова нажать "ENTER". В данной форме, как же как и в форме "розница" задействуется кассовый аппарат. Отключение - аналогичным способом.
    • Пересчет остатков - данный пункт нужно выбирать, если в программе в справочнике товаров в некоторых наименованиях указан неправильный остаток. Пересчет остатков как раз и занимается исправлением этого. Кроме этого в пересчете остатков программа производит много профилактических действий. Одним словом, пересчет остатков вреден не бывает. Если его не делать, то программа раз в 2 недели будет сама при загрузке предлагать сделать пересчет остатков. Не отказывайтесь - достанет! :)

      После того, как откроется окошко "пересчет остатков", необходимо нажать кнопку "ПЕРЕСЧИТАТЬ". Программа может после пересчета выдать какое-нибудь сообщение. Наиболее распространенное "некоторые продажи остались несписанными". Это говорит о том, что у Вас есть отрицательные остатки по номенклатурному справочнику. За трактовкой сообщений, которые оно выдает, обращайтесь к разработчику.

    • Обмен данными с РМ. Данный модуль используется в частных случаях для обмена данными с внешними программами, выступающими в роли складских программ и передающих данные на торговлю в нашу программу. Перед тем, как осуществлять обмен, необходимо произвести настройку программы на определенный вариант работы. Это делается обычно разработчиком или обслуживающим персоналом, ответственным за тех. обслуживание баз данных.

  • Обмен данными состоит из 2 частей:

    • Импорт накладных - прием приходных накладных в программу с дискеты или другим способом.

      Алгоритм работы таков:

      1. выбираем закладку Импорт накладных мышкой
      2. Втыкаем дискету (флешку) с данными
      3. нажимаем лупу. Пошел сбор информации. Если здесь будет ошибка, то, скорее всего это не считалась Ваша дискета. В процессе приема данных программа спросит, хотите ли Вы "добавить данные в буфер" или "переписать заново". Имеется ввиду, что информация, имеющаяся в буфере приема накладных, может быть переписана заново, если там все уже обработано, а может и не удаляться, если там, к примеру, есть еще необработанные накладные. Выбирайте на Ваше усмотрение.
      4. После этого мы увидим новые накладные списком сверху (шапки накладных) и соответствующим списком снизу (состав той накладной, на шапке которой стоит курсор). Если к нам попали не совсем новые накладные, то они будут выделены серым цветом. Эти накладные не будут повторно приняты в программу ни при каких обстоятельствах.
      5. В окошке внизу - состав документа, на котором стоит курсор в таблице сверху. Здесь можно отредактировать номер ящика (бокса) - если товар уже существует в справочнике товаров программы, то после приема накладной в программу в нем будет исправлен номер ящика. Если его в справочнике товаров еще нет, то тем более.
      6. Нажав кнопку "прием данных в программу" (кнопка "рука"), мы осуществим оприходование товара - то есть перевод информации в буфере в приходные накладные. Здесь можно осуществить частичный ввод, то есть принять только некоторые из накладных. Для этого необходимо предварительно выбрать их двойным кликом мышки на шапках накладных - таблица сверху. Они выделятся ярким зеленым цветом. Это означает, что они выделены и приниматься будут только они.
    • Экспорт картотеки - передача остатков на офисную программу для их дальнейшей обработки.

      Алгоритм работы:

      1. Нажимаем кнопку "передача данных" (рука). Лупу здесь нажимать было необязательно. Если выставлен флажок "добавлять накладные из буфера", то программа к остаткам добавить накладные, хранящиеся в данные момент в буфере импорта накладных, но еще не обработанные.
      2. ВСЕ!
    • Меню "Установки"

      Здесь производятся настройки программы, профилактические мероприятия, а также непосредственно лечение базы данных. Оператору в ТЗ важно знать некоторые из них:

      • "Лечить таблицы (TUtility)" Здесь программа производит лечение испорченной базы данных. В диалоговом окне нужно будет нажать кнопку "Проверить и восстановить". Важно, чтобы из базы данных вышли все пользователи, если у Вас настроена сетевая работа с программой, иначе не заработает. Здесь программа просканирует базу данных. Если будут замечены ошибки, она выдаст предупреждение и предложит исправить. В случае положительного ответа она вылечит таблицу и продолжит просмотр. Если программа напишет, что "таблица испорчена и должна быть исправлена вручную", то вызывайте мастера.
      • После окончания лечения нажмите "закрыть". Программа предложит провести еще пару проверок - не отказываете ей.
      • "Переиндексировать таблицы" - процедура полезная, но лучше сразу запустить лечение.
      • "Резервные копии базы данных" - база данных полностью копируется в резервную копию. Это нужно, во-первых, для защиты от сбоев, во-вторых, для переноса информации в другое место.
      • В диалоговом окне резервной копии нажать кнопку "создать архив". Программа спросит, куда его положить, и запакует данные.
      • Здесь же можно и распаковать данные из резервной копии поверх текущей базы, но лучше оператору торгового зала самостоятельно этого не делать!
  • Кнопки нажимаются мышью. Их наличие или отсутствие а также расположение можно изменять с помощью пункта меню "окно/настройка/настройка панели".


Алгоритмы выбора и поиска товаров в торговом зале

Алгоритмы поиска и выбора товаров в чек

Здесь предлагаются примеры (в картинках) поиска товаров и его выбора в чек. Скриншоты рассчитаны на экран пользователя 1024x768, если нужно больше или меньше, то операторы могут на месте индивидуально для себя настроить размеры и положения экрана, а также вид таблицы (увеличить или уменьшить шрифты, расставить, как им удобно, колонки). Или это должен сделать специалист службы техподдержки.

  • Вариант выбора через справочник товаров (используется окно "товары")
    • Указание расфасованного количества
  • Вариант выбора по набору части наименования непосредственно в чеке
  • Выбор по сканеру
  • Выбор по коду карточки (или по штрихкоду)
  • Выбор по коду товара
  • Выбор по серии
  • Выбор по цене

Классический способ набора товаров вручную, самый медленный и трудоемкий, но самый, пожалуй, надежный.

Из чека переходим в справочник товаров (F6), там поле "наименование" должно быть первым слева полем, чтобы курсор встал сразу на него. Далее набираем первые несколько букв искомого товара, пока не окажемся на нужном. На картинке видим, как оператор набрал "макроп" и оказался на нужном Макропене

Справочник товаров с набранным куском текста

Далее нажимаем ENTER, попадаем в окно выбора из карточек:

Выбор из карточек

На картинке видим две карточки в наличии. Оператор должен определиться, какую из них он отпускает (по серии, например), встать на нужную строку, в поле "выбрать" указать кол-во, нажать ENTER. Если кол-во = 1, то можно его не указывать, главное - стоять на нужной строке. Если строка одна или нам нужна первая, и если нам нужна одна упаковка, то мы окажемся как раз на ней, и тогда мы ограничимся одним ENTER, а если нужно другое количество, то мы без лишних кнопок просто указываем кол-во и жмем ENTER.

После выбора товара и нажатия ENTER он попадет в чек, а мы окажемся в окне "товары", где продолжим набор чека поиском следующего товара.

Замечание: Таким способом поиска мы можем найти товар только по первым его буквам. Если нам нужен искомый кусок текста, находящийся где-то в середине наименования, то этот способ нас не устроит. Здесь нужно помнить, есть другие варианты поиска в таблице:

  • Все таблицы в программе обладают возможностью самого универсального (но и самого медленного) поиска (Ctrl+F или вызов через всплывающее меню). Поскольку это самый универсальный и самый медленный вариант поиска, операторы пользуются им в исключительных случаях.

  • Справочник товаров имеет специализированное окно поиска по части наименования, куда более удобное именно для этой задачи. Вызывается это окно по кнопке F3 (оператор должен находиться в справочнике товаров). Далее оператор набирает любую часть наименования, нажимает ENTER и видит список наименований, которые имеют данный текст в своем составе. Те из них, которые не имеются в наличии, будут выделены серым цветом, остальные - стандартным. Курсор сразу окажется в таблице с этими товарами, и переход на ней синхронно переводит курсор в справочнике товаров на нужную нам позицию. Далее мы или по ENTER (без закрытия окна поиска) или ESCAPE (с закрытием окна поиска) покидаем данное окно и оказываемся в справочнике товаров на искомой позиции. Данный вариант набора, естественно, не является наиболее быстрым, но он универсален.

Если нужно продать товар в расфасованном виде, то в варианте выборе его через справочник это будет выглядеть так:

Переходим в справочник товаров (F6). Нужно выбрать Пирогенал 25 МКГ АМП. 1 МЛ №10. Нужно выбрать №2.

Для продажи в расфасованном виде нужно, чтобы расфасовка в справочнике товаров была указана. В данном случае лучше всего подходит число "10".

Жмем ENTER, попадаем в окно выбора карточек. Поле "кол-во расфасованное" должно находиться как можно ближе к полю "выбрать", чтобы производить меньше действий во время отпуска товаров, например, как изображено на картинке. Изначально курсор ввода окажется на колонке "выбрать", но нам нужно выбирать не целое число, а расфасованное, поэтому нажимаем стрелочку вправо, далее вводим, например, 2 (то есть имеем ввиду 2/10):

Указываем расфас. к-во

Далее жмем ENTER и видим на экране:

Выбрано дробное кол-во

То есть программа вписала в поле "выбрать" значение 0.2. При работе с расфасованными нам необходимо помнить, что желательно, чтобы при делении цены на нужное кол-во мы получали более менее целые значения, чтобы не было проблем с суммированием в чеке или суммированием всех чеков по итогам дня. Также нужно понимать, что программа не всегда может перевести точно рациональную дробь в десятичную (к примеру 1/3 = 0.(3) ), поэтому программа будет округлять дробь до 6 знаков и при последующих списаниях снимать остаток до целого.

Также можно обратить внимание на то, что при простых дроблениях можно было и не пользоваться расфасовкой, а просто указать 0.2. Часто возможность дробления является нежелательной, или нежелательным является ввод вручную десятичной дроби, тогда в первом случае мы должны позаботиться о невозможности редактирования поля "фасовка" в справочнике товаров, а во втором - в настройках программы на закладке "Розница" поставить галочку на "запретить дроби в количествах".

Чтобы завершить ввод в окне выбора карточек, мы просто нажимаем ENTER. Далее оказываемся снова в справочнике товаров. Обратный переход в чек после окончания выбора всех товаров - F6. Получаем картинку:

Результат выбора расфасованного товара

В случае выбора расфасовки через поиск товара по набору части его наименования из чека мы в результате набора окажемся все равно в окне выбора из карточек, откуда все повторяется.

Во всех других вариантах выбора, а также при коррекции введенного количества мы должны непосредственно в чеке переместиться в поле "кол-во расфас" в нужной строке и вбить нужное количество. Программа самостоятельно пересчитает количество целых единиц и суммы.

Поиск товара через набор части наименования

Самый удобный из ручных поисков (может оказаться при определенных условиях не самым быстрым по скорости работы программы, то есть поиску, но самый быстрый по набору, а также достаточно универсальный по алгоритму поиска, потому что ищет любые вхождения набранного слова в наименовании.

Оператор, находясь в чеке на поле "наименование" (неважно какой строки, новой или на одной из набранных), начинает набирать кусок из наименования, который он помнит

набор наименования в чеке

После нажатия ENTER оператор окажется в окне выбора из карточек, только в этом случае он увидит варианты из всех товаров, которые имеют данный текст частью своего наименования:

ВЫбор из карточек

Далее выбор по обычной схеме, и после нажатия ENTER оператор окажется снова в чеке. Таким образом необходимость использования справочника товаров отпадает, или, по крайней мере, остается только для случаев более детального просмотра или поиска.

Выбор по сканеру

Данный метод работы используется тогда, когда на предприятии организовывается учет штрихкодов товаров. Штрихкоды могут быть собственные или заводские. В любом случае оператор, находясь в чеке, берет в руки упаковку, сканирует ее штрихкод, после чего программа или сразу выберет найденный товар в чек, или, если используются заводские штрихкоды, и сейчас в наличии имеются товары с разными ценами, сериями, а то и наименованиями, но выбранным штрихкодом, то программа переведет оператора опять же в окно выбора карточек, где приведет все имеющиеся в наличии на складе альтернативы с указанным штрихкодом. Если используются собственного производства штрихкоды, то таких ситуаций практически не бывает, в крайне редких случаях, которые даже и описывать не хочется :).

Если дважды просканировать один и тот же товар, то программа просто увеличит его количество в соответствующей строке.

Выбор по коду карточки (или по штрихкоду)

При таком варианте поиска товара оператор встает на поле "карточка" или "штрихкод" и набирает нужное значение. В случае со штрихкодом. когда он генерируется равным номеру карточки, разницы в работе никакой нет. Штрихкод часто (если используется префикс, как на картинке, или если он заводской) имеет большое значение, и такой вариант используется лишь для поиска товара в случае, когда по каким-либо причинам сканер не берет штрихкод с упаковки.

поиск по штрихкоду вручную

поиск по карточке

Работа через поле "карточка" может использоваться для ускоренного поиска товаров, без лишних выборов их по справочнику товаров. Этот способ использовался для продажи еще до того, как в нашей великой стране начали повсеместно вводиться сканеры штрихкодов, поэтому является несколько архаичным в свете возможности работы со сканерами. Его идея построена на том, что номер карточки не превышает в размере 6-7 разрядов, и если его нанести пистолетом на каждую упаковку, то при выборе упаковки и указании номера карточки в программе данным способом это может оказаться куда быстрее, чем выборы товара по наименованию. Однако алгоритм работы полностью повторяет автоматизацию по штрихкоду, поэтому сканеры очень быстро вытесняют такой способ работы. Однако он может быть использован как альтернативный на случай затруднений, когда используются собственные штрихкоды, которые, как правило, повторяют номера карточек или линейно от них зависят.

После нажатия ENTER оператор получит сразу искомую строку с нужным товаром, а также окажется в поле "количество", где уточнит количество упаковок. После нажатия ENTER в этом поле программа, как обычно в таких случаях, переключится на новую строку, перейдя в 1-е поле в таблице.

Выбор по коду товара

Все работает аналогично ручному выбору по любому другому полю. Нужно в чеке перейти на поле "код", там набрать интересующий код, дальше программа перейдет в режим работы, обычный для ручных наборов в чеке.

Выбор по серии

Выбор по серии работает аналогично ручному набору в остальных полях: за исключением того, что оператор всегда видит серию на коробке, что делает этот способ предпочтительным при проблемах с поиском данного товара другими способами. Нужно взять упаковку, считать глазами серию, а руками ввести ее в поле "серия". Все остальное происходит так же, как и при других вариантах набора вручную непосредственно из чека.

Выбор по цене

Данный вариант выбора интересен тем, что цену на товар оператор или знает, видя упаковку, или может помнить точно или примерно. В этом случае он встает в поле "цена" в чеке, набирает цену , нажимает ENTER. После этого программа переведет в режим выбора из карточек, где приведет все имеющиеся в наличии товары с указанной ценой. При этом ,если указать целое число, без запятых и точек, а также копеек, например 20, то программа выдаст на рассмотрение все карточки с ценами от 20.00 до 20.99. Если мы хотим указать цену точно, то указываем ее с копейками, (20.10).

Поиск по цене

Все описанные способы предоставляют богатые возможности для быстрого и качественного поиска отпускаемых товаров, что является одной из главных целей для АРМ-ов в розничных торговых точках.


Именные накопительные скидки

Система именных накопительных скидок

Задачей такой системы является осуществление организации именных дисконтных карт с учетом чеков, отпущеных с их использованием, а также ведение скидок с накоплением. При этом дисконтная система должна действовать в рамках всего предприятия, то есть, покупатель, явившись в любой аптечный пункт предприятия, имеет возможность получить с помощью своей именной карты скидку, соответствующую суммам, накопленным им за весь срок действия дисконтной карты.

Как это работает:

  • Каждый элемент справочника контрагентов имеет пометку "клиент дисконтной системы". То есть, клиенты дисконтной системы вводятся в справочник контрагентов. На каждого из них заводится некий идентифицирующий штрихкод, а также текущая ставка (процент скидки).
  • С помощью передачи справочников контрагентов в аптечные пункты стандартным обменным пакетом происходит передача данных о клиентах дисконтной системы (имена, штрихкоды и текущие проценты скидки).
  • Из аптечных пунктов в центральную базу стекается информация о выручках. В их числе и продажи клиентам-дисконтникам.
  • В центральной базе происходит пересчет сумм проданных товаров для каждого клиента системы, в результате чего пересчитываются текущие проценты накопительных скидок. Шкала пересчета процентов определяется в центральной базе.
  • При последующей отправке стандартного пакета обмена изменения в справочниках, в том числе и в процентах скидок, передаются в аптечные пункты.

Как организовать выдачу карточек

  • Для начала необходимо зарезервировать под карты некий диапазон штрихкодов. Нужно при этом обеспечить, чтобы эти штрихкоды не пересеклись с товарными, иначе программа не сможет идентифицировать карту покупателя. Например, можно завести правило, когда все штрихкоды. начинающиеся с цифры "2", являются штрихкодами для агентов дисконтной программы, а все штрихкоды для товаров начинаются с "0" или "1". Далее начинаем номерацию: 200000000001, 200000000002, ... 200000000101.... и тд. Далее заказываются карточки с выбранным диапазоном.
  • В справочнике контрагентов создаются новые записи с пометкой "клиент дисконтной программы". Именами можно ставить любые номера, например коды их собственные (программа, если не указать имя, так и сделает).

    • Клиенты дисконтной системы в справочнике контрагентов

  • Карточки порциями выдаются в торговые залы для распространения. Также выдаются анкеты для заполнения клиентами.
  • Когда фармацевт принимает решение выдать карту покупателю, он выдает ему анкету для заполнения, сканирует карту. В окне "розница" видит информацию о пользователе, в данный момент пока номер этой карты. Ставит номер карты на анкете, вручает ее пользователю (с поздравлениями обязательно и наилучшими пожеланиями).
  • Оператор, отвечающий за ввод анкет в базу данных, находит в справочнике контрагентов соответствующего номеру карты на анкете и вводит его ФИО и другие анкетные данные. Процесс регистрации окончен.

Отпуск по дисконтной карте

Покупатель предъявляет фармацевту свою карту, фармацевт сканирует ее штрихкод, программа идентифицирует его по списку контрагентов и фиксирует это в чеке розницы, применив текущую скидку. Данные при продаже фиксируются (создается накладная с указанным покупателем). Впоследствии эта отметка будет использоваться при пересчете скидок. Чек помечается основанием "Накопительный дисконт", которое должно быть предварительно сопоставлено в программе с кнопкой "Накопительный дисконт" в чеке. При срабатывании штрихкода с дисконтной карты сработает кнопка "Накопительный дисконт".

Чек розницы с выбранным дисконтником

Альтернативный способ обслуживания накопительной дисконтной карты: нажать кнопку "Накопительный дисконт" (Д1) (Alt+N), появится диалоговое окно, где можно будет набрать часть штрихкодв для поиска, номер покупателя, или часть имени покупателя, после чего в таблице окна появится список клиентов, подходящих к данным условиям, из которого будет выбран нужный

Выбор по штрихкоду

Выбор по наименованию

Анализ продаж и пересчет процентов скидок

Анализ продаж осуществляется или в полностью автоматическом режиме с помощью скрипта автоматизации, или с помощью окна формы "анализ накопительных скидок" (меню "Операции"). В данном окне осуществляются также и настройки параметров работы системы.

Окно "анализ накопительных скидок"

В верхней части отображается список клиентов дисконтной программы (контрагенты в справочнике контрагентов, помеченные как "клиент дисконтной программы"). Для каждого из них выведена сумма продаж, осуществленных с помощью этой карты, текущий процент, а также новый процент, который должен соответствовать данному объему покупок.

В нижней части отображаются все покупки данного клиента. Наряду с реальными покупками можно внести дополнительные суммы. Это могут быть или некоторые корректирующие величины, или суммы выручек, внесенных из некоторых баз, которые не передают свои выручки непосредственно в центральную.

Настроечная шкала с границами процентов наценок вводится на закладке "параметры расчетов":

Шкала границ скидок

В ней вводится таблица, где нужно указать сумму покупок, начиная с которой клиент будет получать указанный процент скидок.

Кнопка "сохранить изменения в % скидок" запустит функцию пересчета. Можно также запустить функцию пересчета в автоматическом режиме. Подробности можно посмотреть здесь.


Именные накопительные скидки

Настройка автоматических пересчетов процентов в накопительных скидках

Автоматические пересчеты удобнее всего организовать с помощью функции встроенного скрипта DiscountPercentsRebuild. Сделать это можно так:

Создаем задачу в "назначенных заданиях" Windows. Выставляем любой временной интервал, допустим раз в сутки, и наиболее подходящее время (если сервер работает круглосуточно, то, очевидно, лучше ночью. В задаче описываем командную строку:

c:\solaris\solaris.exe -password 1 -script c:\solaris\scripts\my_auto.pas

где my_auto.pas - скрипт с описанием этой функции:

begin
RebuildDiscountPercents; // пересчет
Application.Terminate; // завершить работу приложения
end.


Организация системы накопительных скидок в независимых аптеках

Организация системы накопительных скидок в аптеках, работающих независимо друг от друга (не связанных одной общей базой

Если центральная база аптеки или магазина и база аптечного пункта (торговой точки) связаны между собой, то есть в аптечный пункт поступают накладные, оформленные в центральной базе, а оттуда в основную базу регулярно передаются выручки, то система расчета накопительных скидок уже настроена (данные о накоплениях приходят автоматически с выручками, а текущие проценты скидок поступают в составе стандартного пакета обмена из центральной базы в торговую точку).

Но существует другая ситуация: данные из аптечных пунктов поступают с запозданием, или же сеть аптек (магазинов) вообще никак не связана логически между собой на уровне баз. В этом случае также возможна работа этих точек в общей системе накопления скидок. При этом покупатели идентифицируются по штрихкодам, присвоенным их карточкам. Для организации такой системы необходимо использовать несколько скриптов обмена, использующих встроенные функции: ExportDiscountPercentsSummary, ExportDiscountPercentsORGs, ImportDiscountPercentsSummaryFromDir, IMportDiscountPercentsOrgsFromDir.

Примеры скриптов обмена:

ExportDiscountSummary.pas - скрипт, формирующий отчет об отпущенных суммах покупателям, являющимся клиентами дисконтной программы программы. Устанавливается в торговой точке. Скрипт формирует файл в прописанном каталоге, после этого файл должен быть отправлен в офис с помощью почтовой программы, программы Solex или каким другим способом. В качестве настроек скрипт использует несколько констант, прописанных в его заголовке:

const OutputDir = 'c:\mail\out\'; // путь, по которому в результате выполнения скрипта формируется файл disc_org_summ.zip.

const Storage = 770; // Номер склада (пункта, точки), информация по которому передается.

const SaveAsStorage = 1; // Номер данного склада в центральной базе, если 0, то совпадает с Storage (номера контрагентов могут не совпадать, если базы не связаны

const PeriodDays = 7; // Период в днях, за который снимается данный отчет

const withDialog = true; // Запрашивать ли период у пользователя в виде диалога. Если нет, то используется PeriodDays.

Данный скрипт может быть прописан как периодическая процедура или как отдельный пользовательский пункт меню (меню "администратор/редактор пользовательского меню)..

ImportDiscountSummary.pas - этот скрипт устанавливается в центральной базе, он принимает файл disc_org_summ.zip, сформированный описанным выше. При работе используются следующие константы:

// DirName должно быть определено одним из следующих способов:

1)
const DirName = 'c:\mail\in\'; // на случай жесткого запуска по таймеру

2)
var DirName :string; // Имя базового каталога, в котором происходит поиск, если настроено через сканирование каталогов

Скрипт может быть прописан в настройках "сканирование каталогов", где он улавливает по поступивший файл и автоматичски его принимает. Идентификация клиентов дисконтной системы производитя по номерам их штрихкодов.

Вариант 1:

ExportOrgs.pas - передача справочника клиентов дисконтной программы с их текущими значениями скидок.

Используется константа:

const OutputDir = 'c:\mail\out\'; // Каталог экспорта

Данный скрипт генерирует файл-стандартный пакет 'arcsklad.zip', который может быть принят стандартной процедурой импорта данных и центральной базы, если данный пункт связан с ней, или файл 'percents_org.zip', если программы не имеют никакой связи. Определяется это параметром StandardFile в функции ExportDiscountPercentOrgs. Данный скрипт формирует второй тип файлов, для приема которых в аптечном пункте требуется скрипт, описанный ниже. Прописать данный скрипт можно или в пользовательском меню, или как автоматическую регулярную процедуру.

Скрипт собирает значения полей в справочнике контрагентов в поле "Код альтернативный 1", которое используется для указания подкаталога в каталоге OutputDir, ассоциируемого с аптечным пунктом, и всем контрагентам, являющимся клиентами дисконтной программы и имеющим значения в альт.коде, раскладывает в их подкаталоги указанный файл обмена.

Вариант 2:

ExportOrgs.1.pas - передача справочника клиентов дисконтной программы с их текущими значениями скидок.

Используется константа:

const OutputDirs = 'c:\mail\out\АП1;c:\mail\out\АП2;c:\mail\out\АП3'; // список каталогов, куда будет складываться результирующий файл

Отличается от предыдущего варианта тем, что раскладывает файлы строго про каталогам, прописанным в OutputDirs

ImportOrgs.pas - прием справочника клиентов дисконтной программы, идентификация по штрихкоду. Если штрихкод не найден, то клиент добавляется.

Используется константа:

// DirName должно быть определено одним из следующих способов

1)
const DirName = 'c:\mail\in\'; // на случай жесткого запуска по таймеру

2)
var DirName :string; // Имя базового каталога, в котором происходит поиск, если настроено через сканирование каталогов

const DoCheckPercents = true; // принять и проценты скидок также. Если False, то будут приниматься наименования, без значений процентов.

Данный скрипт должен быть подключен к системе через настройки сканирования каталогов, которые обеспечивают его срабатывание сразу после появления нужного файла в указанном каталоге.


Пересчет остатков в базе данных

Данная функция производит ревизию остатков товаров на складах в общем и в отдельности, в картотеке, производит некоторые проверки и исправляет некоторые логические ошибки в базах данных в случае их существования. Данная процедура полезна вообще, так как она устраняет некоторые логические ошибки в базе автоматически, а также исправляет остатки в программе (по номенклатуре в общем, по номенклатуре по складам, по карточкам). При загрузки программа проверяет, когда был в последний раз сделан пересчет остатков, и если это было давно, то предложит сделать это прямо сейчас. пересчет остатков

Текущие остатки товаров ведутся в нескольких контекстах:

  • Остаток по номенклатуре по всему предприятию
  • Остаток по номенклатуре для отдельного склада
  • Остаток по картотеке (каждая карточка имеет свой остаток)
  • Количество товаров в неотгруженных накладных (поле "зарезервировано" в списке товаров).
  • Количество товаров на неоплаченных счетах (поле "забронировано" в списке товаров).
Иногда остаток может быть некорректен (вследствии ошибок при изменении остатков, некорректного завершения работы). В этом случае необходимо произвести пересчет остатков. При довольно больших базах данных он может затянуться на несколько минут, однако пересчет остатков не ограничивает продолжение работы в локальной сети.

Пересчет остатков проходит в несколько этапов. Запуск производится кнопкой "пересчитать", после чего кнопки ставятся недоступны. Пересчет можно считать оконченным, когда кнопки снова станут доступны.

Если программа во время пересчета остатков встречает продажи, в которых не указана карточка, с которой товар продан, то производится попытка найти первую (или самую дешевую, или самую дорогую, в зависимости от настроек программы) непроданную карточку по данному номенклатурному коду, и товар закрепляется за данной карточкой в заданном количестве. Если удается списать с одной карточки, то продажа данного товара разбивается на несколько строки с указанием подходящего количества в них для каждой карточки отдельно. Если не удается найти свободных (непроданных) карточек, то товары остаются непроданными (отрицательные остатки по номенклатурному справочнику в одном отдельно взятом складе), и программа сообщает об этом оператору. Смотрите отрицательные остатки!


Инвентаризация

Торговый учет в пунктах без компьютера

Торговый учет в пунктах без компьютера организуется инвентаризационными ведомостями:

Вид инвентарной ведомости

Данная форма поможет при проведении инвентаризации на складе. Изначально программа расчитывает остатки по картотеке, которые будут проверены и откорректированы, если имеются отклонения (для коррекции существует специальная колонка в табличке -"остаток реально"). В результате будет всегда видна сумма отклонения общая, а также собственно недостачи и излишки. После проведения инвентаризации по отклонениям в остатках можно удобно сгенерировать приходную накладную на излишки и/или расходную на списание.

Данная форма - незаменима, если Вы имеете склад, торговый зал или пункт, не имеющий компьютера. Тогда остатки по данному складу в Вашей базе данных будут генерироваться таким образом: (остаток на предыдущую инвентаризацию) + (количество переброшенного на склад товара) - (количество переброшенного со склада товара). Реального остатка по складу мы иметь не будем, пока не проведем инвентаризацию на складе, не сравним текущие остатки в компьютере с реальными остатками и разницу между ними (реально < расчетного) не оформим как расход с данного склада в продажу. Облегчить эту работу поможет данная форма. В ней в одной из колонок будет показан расчетный остаток, который не корректируется оператором, а колонка "остаток реально" изначально тоже будет иметь расчетный остаток, или нулевой остаток (по желанию оператора - дело вкуса). Задача оператора в колонку "реально" поставить текущий реальный остаток, если он не совпадает с тем, что там указано по умолчанию. В конце работы оператор получит сумму остатка расчетного, реального, а также составляющие его разницы - сумму реализации склада и сумму излишков на складе, если таковые имеются. Если по товару имеется недостача, то рекомендуется перед окончательным оформлением инвентаризации оформить эту недостачу в виде отдельной накладной, дабы она не вошла в общую реализацию. Последний этап - автоматически сгенерируется расходная накладная, которой можно дать основание, скажем, "реализация за отчетный период", а также, при необходимости, приходная накладная на излишки.

Практика показывает, что при количестве строк в данной форме ~1500-1700 двое операторов могут по распечатке с указанными там остатками внести это все в компьютер примерно за 30 минут. Если набить руку, то за это время они успеют еще и разок проверить. Таким образом, можно добиться неплохих результатов по складскому учету на складе, не имеющем своего компьютера. Действительно кропотливым трудом останется проведение самой инвентаризации на складе. Однако здесь компьютер может помочь только качеством распечатки, которая, кстати, в данном случае может быть сделана или из формы "картотека" или непосредственно в форме "Инвентаризациия".

По каждому складу результаты инвентаризации после окончания работы можно тут же стереть. Если этого не сделать, то таблица будет автоматически сохранена вплоть до проведения следующей инвентаризации.

Ну и, в общем, любую таблицу в программе можно сохранить во внешнем файле.

Важные переключатели:

  • Склад - собственно склад, на котором проводится инвентаризация.
  • Рассчитать на.. - дата, на которую мы хотим произвести расчет остатков - бывает, что инвентаризация не окончена, а в базу данных склада уже вводятся изменения следующими днями. Это допустимо, но требуется указывать в этом случае дату расчета остатков.
  • Показывать только непроданные - в таблице будут видны только строчки, где расчетный остаток или реальный остаток ненулевые.
  • Показывать излишки - будут показаны только товары, на которые остаток реальный указан больше, чем остаток расчетный - это происходит или при ошибке заполнения остатков или при реальном излишке. Такие товары хочется видеть отдельно.
  • Сортировка - различные способы сортировки товара в таблице. Удобнее всего пользоваться сортировкой по наименованию, если Ваш товар на систематизирован по группам, иначе удобно сортировать по коду. Важно отметить, что сортировку желательно сохранять до конца инвентаризации, поскольку это облегчит перенос информации с распечатки с указанными там реальными остатками в таблицу в программе - Вам достаточно построчно внести корретировки, изредка проверяя, не сбились ли Вы со строки.

Внизу экрана есть кнопка, временно отключающая автоматический пересчет сумм, поскольку эта операция при большом числе строк будет затягиваться, раздражать и мешать работе.

Также существуют кнопки: "оформить новую ведомость" - удаление данной полностью и формирование новой ведомости; "пересчитать остатки в ведомости" - пересчитать остаток расчетный в ведомости без удаления в ней остальной информации (удобно, если Вы начали вносить реальные остатки, а нужно произвести корректировки); кнопка очистки, то есть удаления данной ведомости; кнопка печати; кнопка "сформировать накладные", то есть - сгенерировать итоговые накладные.

Помните! Результатом инвентаризации будет введение в базу данных итоговых расходных (а может и приходных) накладных, характиризующих выручку на складе, и соответственно изменяющих текущий остаток на складе на реальный остаток, указанный при инвентаризации.

Сначала генерируется инвентаризационная ведомость с остатком по компьютеру (все движение, исключая продажи в пункте).

Запрос номера ведомости Параметры генерации новой ведомости

После этого данная ведомость распечатывается в виде пустографки или другой удобной формы. В распечатку персоналом вручную вносятся реальные остатки в пункте или на складе. После этого остатки вносятся в поле "Остаток реально". Поскольку сортировка на бумаге и в программе будет совпадать, то ввод остатков с листа обычно не занимает много времени. Программа сразу же генерирует разницу остатков компьютерного и реального, которая и составляет сумму выручки, и при наличии - сумму излишков. После окончания ввода данных и проверок программа генерирует накладные (расходные и приходные), которые и являются результатом инвентаризации.

Запрос на генерацию накладной

Для дополнительного контроля инвентарные ведомости можно, при желании, хранить в базе данных после их использования. Для этого необходимо новым ведомостям присваивать новые номера, оставляя старые нетронутыми.

Обратите внимание, что: нельзя редактировать накладные задним числом, а также списки товаров после создания инвентарной ведомости. Если это все же необходимо, то сгенерируйте ведомость заново. Если Вы ходите сохранить при этом колонку "остаток реально", то нажмите кнопку "пересчитать остатки в ведомости". Но при этом проследите, за правильностью выполнения операции сравнением сумм до и после пересчета. Если редактировать список товаров, (изменять наименование, кодировку товаров), то изменения не отразятся в ведомости, потому что ведомость хранит полный снимок базы на момент генерации, в том числе и наименования товаров. Если этого не учесть и сгенерировать на основании данной ведомости накладные, то можете столкнуться с неожиданными списаниями "несуществующих" товаров, или списаниями в "минус".


Обмен данными

Обмен данными между компонентами системы (склад - АП, склад - магазин, склад - ТЗ)

Обмен данными между центральной базой и аптечным пунктом организуется с помощью скриптов обмена обмена, включаемых в главное меню программы. Скрипт передачи данных формирует данные для обмена, выкладывает их в определенный системой каталог. Скрипт приема данных принимает данные из определенного системой каталога. Доставка файлов осуществляется почтовой программой.

Вот пример реализации обмена данными между центральной базой и аптечными пунктами:

  • Центральная база:

    • На одном из компьютеров устанавливается система MailProcessor. Она постоянно включена и прописывает свой значок MP в системной рабочей области. В центральной базе она недоступна пользователям и осуществляет доставку почты самостоятельно. Пользователь лишь должен сгенерировать нужный файл с помощью скрипта передачи данных.

      • Типичное меню обмена

    • Для передачи данных оператор вызывает специальный пункт меню программы "обмен/Передача накладных".

      • Генерация данных из офиса

      При этом у пользователя будет запрошена начальная дата передаваемых данных, а также склад-аптечный пункт, который участвует в обмене. После нажатия "старт" данные будут сгенерированы. После этого они будут подхвачены программой MailProcessor и отправлены автоматически.

    • Прием данных осуществляется автоматически в определенное системой время. Однако можно запустить процесс вручную, выбрав пункт меню "Прием выручек из аптечных пунктов". Система запустит импорт всех выручек, поступивших за время с последнего приема.

  • Аптечный пункт:

    • В системе устанавливается программа MailProcessor, которая осуществляет доставку файлов. При нажатии правой кнопкой мыши на значке MailProcessor в панели задач Windows всплывает меню, в котором выбирается пункт "доставить почту". Программа подключается к Internet, отправляет сформированные выручки, а также принимает накладные из центральной базы. Программа торгового зала при этом автоматически принимает данные в базу.

      • Меню доставки почты

    • Формирование отчетов из аптечного пункта происходит аналогичным образом, в меню "обмен" вызывается пункт "передача выручек в офис". После запроса даты, с которой нужно брать отчет по выручкам, данные будут сформированы и отправлены в программу MailProcessor, которая при очередной доставке почты отправит их в офис.:


Обмен данными

Обмен данными Solaris-Solaris

Окно обмена данными solaris-solaris используется для ручной передачи и приема данных с дополнительными настройками, а также для сверок сумм документов между двумя базами, доступными в локальной сети, или между базой и файлом обмена. Данная форма доступна из меню "Интеграции/Обмен Solaris-Solaris":

Окно обмена типа 'Solaris-Solaris'

При обмене по локальной сети необходимо, чтобы был указан "алиас" для базы данных вынесенного склада, то есть, чтобы эта база данных была доступна через BDE.

Настройка рабочей области

Также можно указать опцию "файл", тогда обмен пойдет через файл .ZIP, в который программа будет запаковывать базы данных для обмена и соответственно распаковывать после обмена. Для работы с ZIP-архивом НЕ требуется инсталляция программ, работающих с ZIP, программа использует встроенный упаковщик. Однако, можно применить любой другой внешний упаковщик, используя для этого страницу настроек программы SOLARIS

При отображении списков накладных в окне обмена программа задействует следующие цвета:

  • Неотгруженные (пропускаются) - этим цветом обозначаются накладные, которые не отгружены. Они приниматься и передаваться не будут. Так, если Вы хотите сохранить накладную, но не хотите, чтобы она была задействована при продаже товара, или не хотите, чтобы она была передана в базу данных торгового зала раньше времени, используйте флажок отгрузки накладной (см. 'Накладная')
  • Пересеклись номера у данных накладных (а также, дата и склад), однако не совпадают суммы накладных. Данные накладные не будут обрабатываться. Исправления нужно производить в обеих базах данных вручную. Это сделано в целях дополнительной защиты базы от изменения извне.
  • Будут пропущены - данные накладные не будут приниматься. Эта расцветка ,в основном, используется, если опции . Если направление обмена одностороннее, то список накладных, которые не входят в параметры данного обмена, будет выделен указанным цветом.
  • Выделено - если двойным щелчком мыши или с помощью всплывающего меню выделить некоторые накладные из списка, то при обмене программа спросит, нужно ли принимать весь список или только выделенные. С помощью данной опции Вы сможете делать выборочную передачу (или прием) данных.

Данные могут передаваться как для одного склада, так и для нескольких складов одновременно в случае обмена между мультискладскими базами данных (Иногда имеет смысл вести в выделенной базе данных несколько складов).

Дополнительные опции:

  • 'Не отслеживать различия в основаниях'. 'Не отслеживать различия в отгрузке' - Если существуют накладные с одинаковыми датой, номером, и складом, но разными основаниями, контрагентами, флагом отгрузки или суммами, то программы выведет их в списках снизу и сверху и выделит специальным цветом. Если в базах данных делаются манипуляции с основанием накладной или флагом отгрузки после ее передачи, то нежелательно, чтобы они все попадали в такой список. Для этого и существуют данные опции.
  • 'Не отгруженные накладные - принимать' - данная опция позволяет также принимать неотгруженные накладные.
  • 'Не отслеживать связанные перебросы' - Ускоряется процедура обмена данными, однако если одновременно передаются две накладные со связанными перебросами (все перебросы идут парами -приходная и расходная накладные, которые связаны внутри базы данных, и по этой связи программа отслеживает поставщика и закупочную стоимость в переброшенных карточках), то при наличии флажка не будет сохранена их связь. Это нужно будет делать дополнительными процедурами после обмена данными. Реализовано исключительно для ускорения работы в случаях, когда не предполагается наличие таких накладных.
См. также 'Загрузка чеков торгового зала'


Загрузка выручки из ТЗ

Прием выручки из торгового зала

Выручку из торгового зала можно принимать и обычным обменом, однако в этом случае сохраняется каждый чек, причем в виде накладной, и в скором времени база данных будет перегружена большим количеством расходных документов. Этого можно избежать с помощью процедуры приема выручки из ТЗ. (Можно использовать и первый вариант, а со временем запускать процедуру мягкой упаковки).

С использованием данной процедуры все чеки будут упакованы в наименее возможное количество. Упаковываться будут только чеки с основанием "наличный расчет", точнее, с основанием, которое помечено в настройках программы как основание по умолчанию. Основания "дисконтная карта" и "льготные" будут приняты как есть, то есть без упаковки. Все другие расходные накладные во внимание не берутся, то есть их нужно "прокачивать" обычной процедурой обмена.

При упаковке будет сохранена детализация по дням, контрагенту, пользователю (кассиру, фармацевту), размеру скидки и т.д. Будет потеряна только детализация по времени продаж, то есть Вы не сможете снять отчет по суммам продаж со степенью детализации "час". Однако это всегда можно будет сделать из программы Торгового зала, так как рассматриваемая процедура предполагает наличие 2-х баз данных.

Для того, чтобы процедура заработала, необходимо указать рабочую область "алиас", которая создана для базы данных торгового зала, а также имя склада, из которого принимаются данные. Хотя имя склада и необязательно, если Вы обмениваетесь постоянно с одним и тем же модулем, однако это может быть полезно, если обмен происходит с несколькими торговыми залами или пунктами одновременно. В этом случае для каждого склада будет сохранена настройка по "алиасу", то есть нужно будет только переключить склады. И не забудьте указать временной интервал для принимаемых данных. Так как здесь производится суммирование информации, то, в отличие от обычной процедуры обмена, здесь не производится проверка, принималась ли информация за этот период ранее, или нет. То есть, будьте внимательны - принимайте выручку за день не более чем один раз.


OFF-LINE режим

Торговый учет с кассой в off-line режиме

Каждая ККМ обладает своей методикой работы и своими возможностями. Поэтому алгоритмы работы могут иногда существенно отличаться. Иногда кассы могут работать полностью автономно (то есть хранят коды и количества проданых товаров в своей памяти, а потом соединяются с компьютером сеансом в конце смены или в конце недели) - OFF-LINE, иногда они поддерживают режим, когда коды лежат на компьютере (один на несколько касс и стоит не в ТЗ, а в подсобных помещениях, а касса при сама обращается в ПК с запросами кодов и отчетами по их продажам - ON-LINE (или активный ON-LINE). Третий режим - фискального регистратора рассмотрен выше (и вся методика по нему).

В данный момент (21.07.2000) программа умеет работать в режиме фискального регистратора с Samsung ER250RF (и 4615 тоже), АМС-100Ф, ЭКР-3102Ф.

В режиме OFF-LINE - с Samsung, Fujitsu, AMC. В ON-LINE подключается ЭКР-3102Ф. Программа всегда готова "прицепиться" и к Вашим кассам, если в них заложена такая возможность.

Главное окно OFF-LINE режима

Подробнее


Пересчет остатков в базе данных

Прайс-лист

Данная форма доступна из меню "операции", требуется оптовикам для формирования прайс-листа, а также аптекам для передачи данных об остатках и ценах в аптечные справки. После открытия формы "прайс-лист" оператор увидит перечень, сформированный им в предыдущем сенса работы. После указания нужных опций (фильтр складов на закладке "склады", фильтр производителей на закладке "производители", фильтр поставщика (или поставщиков) на закладке "поставщики", фильтр "основания приходов" на соответствующей закладке", дополнительные фильтры: по срокам хранения, по периоду приходов, по наличию номеров протоколов анализов и/или сертификатов, и/или идентификационных номеров , по статусу приходов (отгруженные, не отгруженные), а также методы сортировки и фильтрации повторов в картотеке) оператор нажимает кнопку "создать прайс заново" (лупа), формируется прайс. Далее прайс может быть подвержен переоценке кнопкой "пересчитать цены", с использованием стандартного для накладных диалога расценок. После этого прайс или печатается или экспортируется (кнопка "Экспорт", при нажатии которой выпадает меню, где доступны способы "общий", "Solex", а также любые настраиваемые варианты, например такой


Путевые листы

Путевые листы используются для учета маршрутных листов для экспедиторов. Ведутся как документы со своей собственной нумерацией, датой и дополнительной информацией. Для регистрации экспедиторов ведется справочник "экспедиторы". Строками в документе "путевой лист" являются накладные с информацией по их суммам, упаковкам ,а также с выделением дополнительных групп. Для удобства выбора накладных в путевой лист введена ассоциация расходных документов со штрихкодами на базе их собственных уникальных ключей и предикатов.

Для систематизации оформленных путевых листов ведется реестр "путевые листы", подобно реестру накладных или платежных документов.


Путевой лист

Документ "путевой лист"

Путевой лист имеет структуру документа, строками которого являются ссылки на расходные накладные: номенклатурный справочник

Документы имеют свою нумерацию, даты, ссылки на списки экспедиторов. Для выбора накладных в путевой лист используется или ручной выбор с помощью кнопок F6 и Ins, или выбор с помощью сканера. Сканер накладную определяет по штрихкоду, распечатанному на накладной, аналогично тому, как распознаются товары при выборе их в накладную, и выбирает ее в путевой лист. После создания строки можно отредактировать вручную количество мест.

В дополнение к общей сумме накладной и сумме мест можно вести дополнительный подсчет по группам 1 и 2, куда может войти или определенный товар, или группа товаров, объединенная шаблоном (например боярка, спирт). Для дополнительных групп также можно вывести количество мест. Суммы программа просчитает самостоятельно. Сами группы определяются в настройках программы на закладке "путевые листы".


Реестр "путевые листы"

Реестр служит для систематизации документов "путевые листы".

В реестре отображаются такие важные параметры как дата, номер, экспедитор, общая сумма документов и общая сумма мест. Также доступны фильтры по одному экспедитору и диапазону дат:

Документы в таблице можно искать с помощью сканера. Путевые листы тоже имеют свои штрихкоды, с которыми они могут быть ассоциированы по своему внутреннему коду и предикату, выбранному для документов "путевые листы", аналогично штрихкодами на накладные. Префиксы для штрихкодов вводятся в настройках программы на закладке "штрихкоды".


Заявки

Заявки, общие сведения

Программа Solaris обладает средствами для отработки дефектуры, оформления заказов со стороны покупателя, а также сбора заявок, их обработки и отслеживания статуса их исполнения со стороны поставщика или центрального склада сети магазинов или аптек.

Средство для выявления дефектуры - форма "дефектура, заявка на центральный склад", используется для выявления дефектуры (дефицита, нехватки) товаров на складах предприятия, пользуясь данными о минимальном количестве или рассчитанными скоростями продаж. Скорости продаж рассчитываются на основе данных об остатках на складах (в торговом зале магазина, аптеки) и чеках в торговом зале или расходных накладных. Выявленная дефектура может быть передана напрямую в центральный склад для обработки, оформлена как заявка на центральный склад или определенному поставщику, после чего передана соответственно, или перенаправлена как дефектура в сводный прайс-лист, где она распределяется по предложениям от поставщиков при оформлении заявок во время автоматического заказа или используется при принятии решения во время ручного набора заявок по сводному прайс-листу.

Каждая заявка может быть набрана как документ, далее все заявки отслеживаются списком заявок где ведется учет их по факту распределения по имеющимся в наличии карточкам, по факту исполнения (оформления накладных) и, наконец, по факту отгрузки этих накладных. Такая система дает возможность вести учет набранных заявок со стороны покупателя, с другой стороны, со стороны центрального склада и поставщика, вести учет списка заявок.

На стороне поставщика существует возможность импортировать товар в заявку из таблицы - заявки, переданной от покупателей в одном из известных форматов. При этом задействуются встроенные средства сопоставления кодов, аналогично тому, как это работает в импорте накладных.

См.

  • Дефектура, заявка на центральный склад
  • Расчет скорости продаж
  • Список заявок
  • Заявка
  • Заказанные товары
  • Импорт заявки от покупателя
  • Передача новых заявок на центральный склад
  • Общие настройки заявок


Заявки

Дефектура, заказ товаров на центральном складе

Данная форма позволяет анализировать остатки товаров на складах и на основе рассчитанной ранее скорости продаж делать отчет по дефектуре, а также заявку на центральный склад. Рассчитанную дефектуру можно экспортировать в систему заказов или просто распечатать, заявку же на центральный склад можно передать разными способами в программу центрального склада. Если таковой является программа Solaris, то там она будет учтена и обработана вплоть до автоматической генерации расходных накладных-перебросов.

Если заявка производится, например, из торгового зала на склад, то анализируются остатки на этом складе (переданные из программы центрального склада), и, исходя из скорости продаж и остатка в ТЗ, программа сама предложит нужное кол-во товара из расчета на несколько предварительно указанных оператором торговых дней, или же, исходя из минимального количества для данной товарной позиции. Поскольку скорость продаж рассчитывается в торговых днях, значит и заявка будет браться с расчетом на торговые дни. Если предприятие торгует в розницу, и работа осуществляется без выходных и праздников, то понятие "торговый день" совпадает с понятием "календарный день". Понятие "торговый день для каждой торговой позиции" рассчитывается персонально для каждой позиции, поэтому, если она не присутствовала на складе, участвующем в расчете скорости продаж, то эти дни учтены не будут. Этот механизм дает возможность посчитать среднюю арифметическую скорости продаж только по дням, когда товар присутствовал на складе, исходя из предположения, что он все это время предлагался в продажу. см. Скорость продаж

При расчете дефектуры программа не имеет сведений о предлагаемом товаре, но может передать в систему, имеющую эти сведения, такую как система Solex . Для этого используются скрипты экспорта дефектуры. Суть задачи в том, чтобы сформировать потребность и передать ее в систему заказа.

См.далее


Скорость продаж

Форма расчета скорости продаж

Если Вы обладаете "актуальными продажами" в программе, то есть, если товар списывается тогда, когда он действительно продается, то есть если в торговом зале или на складе, или в магазине стоит компьютер или осуществляется продажа с помощью кассы со штрих-кодами и ежедневным съемом информации по продажам, то можно рассчитать, с какой скоростью продаются товары. Эти данные можно использовать при прогнозировании дальнейших продаж и заявке товаров. Для получения таких данных служит рассматриваемая здесь форма.

Расчет производится обычно за период не слишком маленький, чтобы уменьшить погрешность от одной случайной продажи, но и не слишком большой. чтобы учитывалась сезонность продаж. Практика показывает оптимальные интервалы 90-120 дней. Частота произведения расчетов может быть не чаще раза в неделю-две-три. При расчете дефектуры можно автоматизировать получение скорости продаж, то есть избавиться от постоянного использования этой формы. Но параметры расчетов все навно один раз здесь нужно выставить.

Расчет скорости продаж инициируется кнопкой "произвести перерасчет скорости продаж", после чего результаты сохраняются по кнопке "внести скорость продаж в список товаров. Существуют опции фильтрации и печати списка.

В нижней части таблицы выводятся аналитические сводки, отражающие количество дней, количество торговых дней, количество записей, а также суммы ("отклонение" - количество общее единиц, как разница текущего расчета с предыдущем. "На сумму" - отклонение в сумме). Данные цифры характеризуют отклонение в расчетах за один день в сумме и в сумме единиц. Меньшие отклонения говорят о маленькой погрешности при расчете скорости продаж, большие отклонения говорят о больших погрешностях, что означает, что необходимо как минимум увеличить период расчетов.

Коэффициент продаж рассчитывается следующим образом

  • Выбирается склад (склады), которые участвуют в продажах
  • Выбирается временной интервал, который рассматривается при расчете.
  • Программа рассчитывает количество торговых дней предприятия (торговыми днями будем считать те дни, когда по фирме прошла хотя бы одна накладная (приходная или расходная).
  • На каждую позицию в номенклатурном справочнике рассчитывается количество собственных торговых дней, то есть количество дней, когда товар лежал на складе, или проходил через него.
  • Количество продаж за указанный период делится на количество торговых дней и получается скорость продаж.

На настроечных закладках можно выбрать

  • основания расходных накладных, которые мы должны считать продажами
  • склад, участвующий в расчетах
  • место хранения результата (общее хранилище или специальное поле "скорость продаж", которое специально зарезервировано для данного склада в справочнике товаров).
  • "Рассчитать движение за ___ дней" - указывается количество дней, участвующих в расчете
  • "конечная дата - отступить от сегодня" __ дней. Обычно выбирается один день, чтобы сегодняшний незаконченный день не участвовал в расчетах.
  • Минимальный значимый остаток" - количество единиц, которое нужно считать ненулевым. Возможно, остатки 1 штука не стоит считать остатками, отличными от нуля. Это может сильно повлиять на расчет количества торговых дней.
  • Формула расчета скорости продаж: "считать в календарных днях" и "считать в торговых днях". Настойчиво рекомендуем использовать расчет в торговых днях, он не зависит от периода общего, для каждого товара просчитываются собственные торговые дни. Расчет календарных дней просто делит количество проданное на указанный период.
  • Рассчитать потребность __ дней - данная опция не влияет на расчеты, она нужна для отображения колонки "потребность на период".
  • Фильтр складов - можно указать сразу несколько складов. При этом в поле "склад" на закладке "общие" ничего не нужно выбирать, иначе фильтр складов будет заблокирован.


Заявки

Реестр заявок

Отображает список всех заявок с отображением их состояния по распределению товаров по картотеке и по оформлению товаров в накладных.

К каждому отображенному заказу выводится сумма товаров, распределенных и НЕ распределенных по карточкам, сумма отписанных и НЕ отписанных в расходных накладных. Внизу формы отображаются сводки под общей сумме и по указанным группам.

На закладке "общие" доступны фильтры:

  • Фильтр по заказчику - контрагент (склад, магазин, аптека, аптечный пункт), осуществивший заказ)
  • Фильтр по периоду полей "дата" в заявке - с.. и по..
  • Фильтр по пользователю, оформившему заявку
  • Фильтр по факту распределения по приходу - "все", "нераспределенные", "закрепленные".
  • Фильтр по исполнению "все", "активные", закрытые". Доступен также фильтр по дате закрытия(исполнения).
  • Фильтр по срокам исполнения, указанным в заявках.

В панели кнопок доступны операции

  • "создать новую заявку",
  • "отредактировать данную",
  • "удалить заявку",
  • "ввести дату исполнения заказа" - для выделенных заявок (выделение осуществляется аналогично накладной - или двойным кликом, или с помощью всплывающего меню)
  • "Ввести дату исполнения всем заявкам с нулевым остатком" - автоматически дата исполнения заявки не проставляется в момент оформления по ней всех отображенных товаров. Это необходимо делать с помощью данной кнопки время от времени. Тогда начнет работать фильтр по дате исполнения заказов.
  • "Оформить накладную по данной заявке" - оформление накладной по всем не оформленным товарам в данной заявке
  • "Отправка заявок" - возможность создавать скрипты экспорта заявок. Список редактируется в настройках программы на закладке "Заявки".
  • "Печать справочника"


Заявки

Заявка

Форма "заявка" предназначена для оформления документов-заявок. Все заявки, набранные здесь, попадают в реестр заявок, где отслеживается их состояние. Заявка может быть принята по справочнику товаров, по картотеке, или импортирована из внешнего файла или из другой базы Solaris (из торгового зала, удаленного пункта/магазина/склада.

Документ-заявка обладает такими атрибутами, как дата, номер, срок исполнения, дата исполнения, заказчик.. Возможно введение в шапку документов дополнительных полей. Дата исполнения вносится вручную или автоматически, если считается, что заявка исполнена, то есть, отгружен по ней весь заказанный товар, или не требуется больше отработки по ней. Количество отгруженных товаров можно видеть в колонке "отписано в накладных", а также в сводных суммах внизу формы: "оформлено в накладных". Перед тем как товар будет отгружен в накладных, нужно его распределить по приходам, по карточкам, имеющихся в наличии. Этот факт порождает статус заявки "распределено по приходам" (колонка "заказано в карточке" и суммы в нижней части формы - "распределено по приходам"). Сначала товар привязывается к имеющимся в наличии на складах карточкам, и только потом может быть отправлен в накладную.

Заявки распечатываются и сохраняются в реестре заявок. В зависимости от статуса заявок и отписанных в них товарах можно отфильтровать реестр заявок или отчет по заказанным товарам.

См. подробнее


Заявки

Заказанные товары

Данный отчет отображает состояние товаров, выбранных в заявках.

К каждому отображенному заказу выводится сумма товаров, распределенных и НЕ распределенных по карточкам, сумма отписанных и НЕ отписанных в расходных накладных. Внизу формы отображаются сводки под общей сумме и по указанным группам.

На закладке "общие" доступны настройки вывода:

  • Фильтр по заказчику - контрагент (склад, магазин, аптека, аптечный пункт), осуществивший заказ)
  • Фильтр по периоду полей "дата" в заявке - с.. и по..
  • Фильтр по пользователю, оформившему заявку
  • Фильтр по факту распределения по приходу - "все", "нераспределенные", "закрепленные".
  • Фильтр по исполнению "все", "активные", закрытые". Доступен также фильтр по дате закрытия(исполнения).
  • Фильтр по срокам исполнения, указанным в заявках.
  • Степень детализации отчета - по коду, по коду и ценам, полная.

На закладке "отображать остатки со складов" доступна фильтрация по списку складов, к карточкам которых прикреплены заказы.


Заявки

Импорт заявки от покупателя

С помощью импорта заявки мы можем принять любой файл любого формата, в котором будут отображены как минимум поля, означающие Наименование и количество, и которые будут означать заказ.

Можно принять файл .db, .dbf, .txt и .csv с любыми разделителями, .xls по общей форме имопрта, аналогично импорту приходной накладной. При этом программа запросит различные параметры, позволяющие корректно прочесть файл, а также списки соответствий полей друг другу. После проведения этих процедур файл будет принят.

Также можно принять заявку из системы Solex. Для этого на машине должен быть установлен модуль solexw.exe.

Можно создавать сколько угодно собственных процедур импорта заявки, используя скрипты импорта. Оформляется список скриптов в настройках программы на закладке "заявки".

После того как файл заявки принят в буфер обмена (в таблицу данной формы), необходимо будет проставить соответствия товаров в данной таблице и в справочнике нашей базы, и провести аналогичную операцию для производителей. Для этой цели служит кнопка "регистрация кодов". После выполнения этой операции товары, которым расставлены коды нашего справочника, будут приняты в новый заказ.

Кроме процедуры сохранения заявки доступна кнопка прямого сохранения накладной, если мы не хотим отрабатывать эту заявку через реестр заявок, а просто оформляем расходную накладную.

Пример: импорт заявки из системы Фармнет

Пример: импорт заявки из аптеки Бонум


Дефектура, набираемая вручную

Из справочника товаров заполняется таблица "дефектура, набранная вручную" (Для этого необходимо встать на нужную позицию и нажать F7 в соответствии с всплывающим меню в справочнике). При этом оператор получит диалоговое окошке, в котором будет предложено выбрать нужное количество. Получить список набранных за период товаров можно в пункте меню "Заявки/Дефектура, набранная вручную".

Дефектура, набранная вручную

Для настройки просмотра заказанных позиций используется закладка "настройки":

Из данного отчета можно сгенерировать стандартную заявку, которая будет отправлена в центральную базу для обработки. Для этого используется кнопка "сохранить в стандартной заявке".


Заявки

Передача заявок на центральный склад

В данном пункте меню не формируется никакой формы, лишь спрашивается подтверждение пользователя, и в указанном в общих настройках программы каталоге (Администратор/установки, закладка "заявки", поле "каталог экспорта для стандартного пакета заявок в офис") сохраняется стандартный пакет экспорта, в который вложены все заявки, созданные с предыдущего сеанса отправки. Данная процедура используется при обмене реестрами заявок между заказчиками -магазинами, аптечными пунктами, складами и центральным складом, находящимися в едином номенклатурном пространстве. Непосредственно транспортировка заявки и ее импорт производятся отдельными настройками и скриптами, например системой обмена файлами, встроенной в Solex. Далее заявки могут приняты специальными скриптами импорта, подробнее см. здесь.


Импорт заявок от магазинов/аптечных пунктов в центральной базе

Предлагаемый здесь вариант работы используется в системах Центральная база <-> Аптечный пункт/магазин/торговая точка для автоматизации заказов, формируемых на местах и пересылаемых в центральную базу. Импортированные заявки попадают в список заявок, где и обрабатываются.

Для функционирования этой системы потребуется канал для передачи файлов-пакетов заявок. Например, это может быть система Solex с ее методикой обмена файлами.

После того, как файл-пакет заявок поступил на локальный диск, его обрабатывает скрипт импорта заявок. Скрипт этот может быть прописан или в настройках сканирования каталогов, или как отдельный пункт меню. Скрипт использует стандартную функцию, прописанную в FastReport: ImportPreqs. Все остальное зависит от деталей реализации. Вот простой пример такого скрипта:

файл office_import_preq.pas

// Скрипт импорта заявок, переданных через стандартные файлы заявок

// DirName должно быть определено одним из следующих способов
const DirName = 'c:\mail\in\'; // на случай жесткого запуска по таймеру
//var DirName :string; // Имя базового каталога, в котором происходит поиск, если настроено через сканирование каталогов

procedure import_preqs;
var
FList :TSTringList;
i :integer;
SRV :variant;
begin
FList := TStringlist.create;
try
GetFileList(DirName,FList,'exportpreq*.zip',true,true);

for i := 0 to FList.count-1 do
begin
try
ImportPreqs(FList[i]);
deletefile(fList[i]);
except
try
createhinte(ExceptMessage,'Ошибка импорта');

SRV := CreateOleObject('SOLEX.XPRSRV');
SRV.Connectwp('Пользователь','1');
SRV.CreateNotify(ExceptMessage);

except
createhinte(ExceptMessage,'Сохранение уведомления в solex');
end;

end;
end;

CreateHint('Обработано файлов: '+inttostr(FList.Count));
finally
FList.free
end;
end;

begin
import_preqs;
end.


Список контрагентов

Запросы на создание новых элементов справочников

Данная функциональность используется, когда отдельной точке-складу, находящейся в выделенной базе, обменивающейся с основной базой пакетами данных, требуется разрешить приходовать накладные самостоятельно, при этом запрещено плодить собственные элементы справочников. В этом случае оператор должен запрашивать создание элементов справочников в офисе. Обычно операторы это делают или с помощью электронной почты, или элементарно звонком. А оператор в центральной базе создает необходимые элементы справочников и производит стандартные процедуры обмена с другими торговыми базами.

Логика работы, интерфейс

Организация обмена данными

Первым шагом в автоматизации этого процесса является система запросов кодов товаров. Логика работы такая:

  • Оператор на складе-точке производит импорт накладной. В момент согласования кодов справочников оператор, встретив новый товар, не имеет возможности добавить код (определяется в конфигурации рабочих мест), но имеет кнопку "запросить новый". При нажатии этой кнопки нужное наименование поместится в справочник "Запросы на создание новых элементов справочников" в меню "Операции". Данную накладную оператор не сможет принять до тех пор, пока не получит ответов на свои запросы. В указанном пункте меню можно просматривать элементы, созданные таким образом. Изначально в этих наименованиях не будут заполнены поля "присвоен код", "наименование присвоенное" и "обработано". Это означает, что данные запросы еще не обработаны. Далее запрос передается в центральную базу указанным ниже способом.

    запросы на новые коды товаров

  • В центральной базе настроен специальный скрипт, принимающий новые запросы и уведомляющий оперторов об их поступлении. Оператор открывает ту же самую форму "запросы на создание новых элементов справочника товаров" и нажимает кнопку "Регистрация кодов". При этом запустится процедура регистрации кодов, и там оператор или найдет соответствие с уже существующими, или добавит новые. После этого оператор исполняет процедуру передачи ответов (описано ниже), и склады-точки получают новые коды а также ответы в своих запросах в виде указанных кодов товаров и новых наименований. Также будут заполнены поля "Обработано", где будут указаны дата и время обработки этих строк в центральной базе.

    Отработанные запросы

    Справочник "Запросы на создание..." можно фильтровать по зарегистрированным или не зарегистрированным записям, а также по последним нескольким дням регистрации.

Организация обмена

Предлагаемый обмен данными строится на встроенных функциях скриптера ExportGoodsDemand, ImportGoodsDemand, ExportGoodsDemandAnswer. С помощью данных функций определяются скрипты формирования запросов, приема запросов, формирования ответов на запросы и приема ответов на запросы. Данные функции генерируют или получают файлы-пакеты goodsdemand.zip, которые должны быть переданы каким-либо способом на принимающий компьютер (например с помощью встроенной почты Solex). Вот примеры таких скриптов:

Файл ExportGoodsDemand.pas (устанавливается в программе склада-точки, прописывается созданном для этих целей в пользовательском меню "Передача запросов на создание новых элементов справочников") :

{
скрипт формирует пакет запросов на создание новых элементов справочников в центральную базу
После того, как файл будет сформирован в указанном каталоге, он будет подхвачен системой Solex и передан в центральную базу
}

const ExportPath = 'c:\mail\out'; // Каталог экспорта
begin
  ExportGoodsDemand(ExportPath);
  createHintI('Данные сформированы');

end.

Файл ImportGoodsDemand.pas (устанавливается в программе центрального склада как скрипт на сканирование каталога, указанного в нем, и срабатывает, таким образом, автоматически при появлении файла в указанном каталоге).

{
 скрипт принимает в центральную базу пакет запросов на создание новых элементов справочников.
 Предполагается, что файл прислан системой Solex и выложен в указанном каталоге (в любом его подкаталоге).
}

const ImportPath = 'c:\mail\in'; // Каталог импорта

var RecCount :integer;
begin

  RecCount := ImportGoodsDemand(ImportPath,false);
  createHintI('Поступило  '+inttostr(RecCount)+' записей','Запросы на создание кодов товаров',iif(reccount=0,30,0));

end.

Файл ExportGoodsDemandAnswer.pas (устанавливается в центральной базе в пользовательском меню "передача ответов на запросы кодов"). В данном случае прописывается ответ для одного из пунктов

{
    скрипт формирует пакет ответов на запросы на создание новых элементов справочников

}

const ExportPath = 'c:\mail\out'; // Каталог экспорта

      ExportStorage = 1; //  номер склада, для которого эта информация

      LastDAys = 3; // послать отчет по последним LastDays дням

begin
  ExportGoodsDemandAnswer(ExportPath,ExportStorage,date-lastdays);
  createHintI('Данные сформированы');

end.

Файл ImportGoodsDemandAnswer.pas (устанавливается в базе склада-точки. Прописывает как скрипт на сканирование каталогов. Поэтому отрабатывает автоматически).

{
   скрипт принимает отчеты по запросам на создание новых элементов справочников

}

const ImportPath = 'c:\mail\in'; //  Каталог импорта

var RecCount :integer;
begin

  RecCount := ImportGoodsDemand(ImportPath,true);
  createHintI('Поступило '+inttostr(RecCount)+' записей','Запросы на создание кодов товаров',iif(reccount=0,30,0));

end.


Номенклатурный справочник

Организация товаров в программе Solaris

Справочник товаров представляет номенклатурный перечень товаров, пронумерованный с помощью специального кода и имеет вид: номенклатурный справочник

Справочник содержит полный ассортимент товаров, используемых на предприятии. Каждая позиция в номенклатуре товаров имеет свой строковый код (до 10 символов), который не только однозначно идентифицирует товар, но и дает возможность объединять товары в группы по совпадению их начальных букв их кодов:

  • ЛЕК01 - Лекарство 1 группы ЛЕК
  • ЛЕКВВ01 - Лекарство 1 группы ВВ подгруппы 01
  • ЛЕКВВ02 - Лекарство 2 группы ВВ подгруппы 02
  • ЛЕК02 - Лекарство 2 группы ЛЕК

Можно таким образом создавать подгруппы товаров большой степени вложенности (до 10 уровней вложенности). По группам товаров можно фильтровать запросы там, где предусмотрен фильтр по коду (значит, там предусмотрен фильтр и по группе товаров или просто по шаблону).

  • КОД ТОВАРА - строка из 10-ти символов (буквы или числа). Первые несколько символов в коде могут повторяться для определенных групп товаров. Например: 01C1 и 01С2 - принадлежат к одной группе 01. Параллельно заводится группа 01. Название группы и товаров - на Ваше усмотрение. Можно также сделать 01С101 и 01С102 - два кода, принадлежащие группе 01 и ее подгруппе С1. Степень вложенности ограничивается только размерностью кода товаров -10. Даже если Вы не создадите группы 01 и 01С1, то все равно сможете фильтровать товары в запросах по шаблону 01% или 01С1%. Также можно создавать коды с одинаковыми символами где-нибудь в кодах товаров, напр. 01*1, 01*2, 0346*34, *АСМ и т.д. - такое разделение товаров дает возможность фильтровать коды по символу "*".
  • Наименование товара: строка из 200 символов. В номенклатурном справочнике каждое наименование будет стоять один раз, что, конечно, необязательно, но рекомендуется. Стоит добиваться того, чтобы наименования в справочнике не повторялись - для этого обычно нет предпосылок.
  • Остаток по номенклатуре - доступно только для чтения - организуется программой при оформлении документов (приходных и расходных). Все остатки формируются на основании документов. Чеки в ТЗ тоже являются расходными документами и хранятся в виде накладных с упрощенным набором.
  • Имеются такие поля, как Единицы измерений, емкость места, ставка НДС по умолчанию, артикул (для альтернативной кодировки), минимально допустимое количество, минимальная цена, макс. цена, код ОКДП, принадлежность к обязательному ассортименту и другие.

При оприходовании товаров они выбираются из данного справочника, после чего на каждый оприходованный товар заводится уникальный номер карточки. Номенклатура не характеризует поставщика товара, его цену или его серию, оно лишь содержит номенклатурный перечень (наименование, принадлежность к группам, ставка НДС, единицы измерения). В номенклатурном перечне отображается также одна из текущих продажных цен на имеющиеся в наличии карточки (то есть цена указывается при оприходовании товара в накладной, а не в списке товара), минимальный из сроков хранения по имеющимся в наличии карточкам, а также несколько дополнительных кодов типа ОКДП или артикула (в роли которого может быть штрих-код), позволяющих идентифицировать товар аналогично его коду.

При просмотре данный перечень можно сортировать по нескольким параметрам и фильтровать по нескольким признакам. Из данной формы есть доступ к группам товаров, которые помогут перемещаться по списку при организации групп товаров (рекомендуется). Встав на нужную позицию и нажав правую кнопку мыши, можно выйти на аналитические формы, такие как "движение товара" и "картотека" ( с фильтрацией по выбранному коду).

При редактировании товара имейте ввиду, что изменение наименования, единиц измерения естественно изменит их во всех накладных, где этот код присутствует (что недействительно для таких параметров товара, как НДС, цена или серия, или срок годности, поскольку они принадлежат карточке, а не списку товаров, а НДС используются как справочные при создании новой карточки, то есть при оприходовании товаров).

Новый товар следует создавать, если появилось новое наименование, но никак не при изменении цен или других атрибутов карточки, поскольку это будет излишней и совсем ненужной работой и переполнит список товаров продублированными кодами. Помните - серия и карточка со всеми реквизитами заводятся не в номенклатурном справочнике, а в карточке при оприходовании накладной!

Создание кода или изменение атрибутов кода:

Форма для изменения атрибутов кода и для создания нового

Сокращенный вид формы:

Сокращенная форма для изменения атрибутов кода и для создания нового

Всплывающее меню в форме 'Список товаров' С помощью всплывающего меню или соответствующих горячих клавиш можно выполнять операции удаления, вставки, редактирования, смены фильтра остатков (все >< ненулевые), вызов движения товара по номенклатурному справочнику, вызов картотеки товаров, альтернативный вызов вызов картотеки по данному коду (F12), альтернативного поиска в таблице (F3), а также настройки флагов расцветок.

Альтернативный поиск организовывается следующим способом: Расширенный поиск в списке товаров Обычно окно поиска вызывается с помощью горячей клавиши F3. Далее в соответствующей поле вводится искомый текст. Это может быть слово или часть слова из любого места в наименовании товара. После этого нажимается ENTER и в основной части окна поиска появляется полный список товаров, в которых встретился данный текст. Регистр букв роли не играет. Курсор сразу же переходит в таблицу с данным списком, и при переходе в ней со строчки на строчку соответствующий перескок будет осуществлен в списке товаров, из которого вызывалось данное окно. После этого можно нажать либо ENTER для перехода в список товаров без закрытия окна поиска, либо ESC для такого же перехода, но с закрытием окна. Если необходимо перейти снова в поле ввода текста, нажмите TAB. Такой поиск дает широкие возможности в перемещении по списку, в дополнение к поиску по CTRL+F, а также к поиску с помощью непосредственного ввода символов с клавиатуры по начальным буквам в наименовании (в данном случае курсор должен быть на том поле, в котором идет поиск). Поиск с помощью непосредственного ввода с клавиатуры доступен в некоторых таблицах. Его наличие можно определить по индикатору ввода, обычно в правом верхнем углу таблицы, который отражает, какие символы были введены с клавиатуры.

Из справочника товаров заполняется таблица "дефектура, набранная вручную" (см. меню программы "Заявки/Дефектура, набранная вручную". Для этого необходимо встать на нужную позицию и нажать F7 (в соответствии с всплывающим меню в справочнике). При этом оператор получит диалоговое окошке, в котором будет предложено выбрать нужное количество.

Запрос количества для ручной дефектуры

См. также описание работы с дефектурой, набираемой вручную


Список накладных

Список документов (накладных) позволяет просматривать список приходных и расходных накладных. Список можно фильтровать в соответствии с установками на панели управления данной формы: Список накладных

  • - Фильтр складов - фильтруется склад, участвовавший в данной накладной "кому"- в приходах и "кто"- в расходах.
  • - Фильтр контрагентов - аналочично фильтруется контрагент
  • - Расходные\приходные документы - переключатель списков приходных\расходных накладных
  • - Фильтр пользователя - фильтруется пользователь, оформивший данную накладную. Если в программу вошли с уровнем доступа ниже, чем "администратор", то в списке будут доступны только пункты "Все пользователи"/"данный пользователь"
  • - Фильтр оснований позволяет отфильтровать накладные, проведенные с определенным основаниями
  • - Не показывать перебросы - данный переключатель позволяет исключить из списка накладных накладные с основаниями типа "Переброс" (код "П.."), независимо от фильтрации по основаниям, указанной выше.
  • - Фильтр по наценке/скидке - используется для фильтрации накладных, у которых была указана дополнительная наценка или скидка на товар в шапке накладной ( или при продаже в розницу), являющаяся отклонением от базовой продажной цены, указанным в процентах.
  • - Фильтр датами с.. по .. - фильтруется список по датам (включительно).
  • - фильтр по отгрузке - фильтруются накладные по признаку "Отгружено"/ "неотгружено". Признак отгрузки выставлятся при редактировании накладной в ее шапке и влияет на формирование остатков - неотгруженные накладные сохранябтся в базах данных, но не отражаются в остатках.
  • - Закупочная цена в перебросах - если данный флажок не помечен, то закупочная цена в перебросах будет ценой, по которой данный товар переброшен, иначе будет программа отследит движение товара через все перебросы (или возвраты, или переоценки) и укажет цену от поставщика (необходимо учитывать, что если при перебросах допущены ошибки, то между перемещениями товара теряется связь, и ее необходимо будет восстанавливать - что делается в специальных формах администрации).
  • - Наценка в расходных накладных - по умолчанию наценка не рассчитывается. Чтобы увидеть наценку, необходимо включить данный флажок. Имейте ввиду, что отслежка закупочных цен в перебросах влияет на данный пункт.
  • - Код - можно отфильтровать список накладных по составу документов с фильтрацией одного лишь товара или группы товаров в них. Группы товаров объединяются по схожести их кодов в начальных буквах: "ЛЕК01" Актовегин "ЛЕК02" Аспирин - начинаются на "ЛЕК", что дает возможность объединить их в группу, скажем, "Лекарственных средств".
  • - Сортировка - сортируем список накладных по разным признакам

После настройки параметров запроса необходимо нажать кнопку Открыть.

Каждую из накладных можно открыть, встав на нее и нажав кнопку открыть накладную Существует возможность печати списка накладных, естественно с возможностью настройки печати, а также стандартная для всех форм процедура экспорта таблицы во внешние таблицы.

Список накладных может выводиться как по отгрузке, так и по факту оплаты. Для этого нужно, чтобы накладные оплачивались в карточках контрагентов (поставщиков или покупателей, в зависимости от типа накладной). Возможна частичная оплата. В таком случае при соответствующих настройках в списке накладных появится список оплаченных накладных с указанием дат первой и последней оплат. Если накладная оплачена не полностью, то в списке будет отображена только часть накладной, которая оплачена.


Картотека товаров

Форма 'Картотека' служит для запроса картотеки по складу(складам,пунктам), как в количественном, так и в суммовом выражении.

С помощью картотеки Вы сможете получить полную информацию по товару, когда-либо оприходованному в данной программе. Картотека на товар заводится при занесении товара в приходную накладную.При этом на каждый товар автоматически заводится новый номер карточки (при перебросах товара со склада на склад новый номер карточки не генерируется - здесь он дублируется). Некоторые из атрибутов товара хранятся в номенклатуре товаров, некоторые в картотеке товаров, все зависит от того, как часто изменяется данный параметр от партии к партии товаров. Каждый товар в номенклатуре определяется 10-значной строкой - код товара, в картотеке на каждый товар заводится его код карточки (число). Такие параметры, как наименование, единицы измерения, НДС, хранятся в номенклатуре, то есть при изменении наименования товара или его ставки НДС все его карточки изменят свои наименования. Такие атрибуты, как цена закупки, цена продажи, цена производителя, производитель, поставщик, срок годности и др. относятся к карточке и, таким образом, для каждой карточки свои. Двойное ведение кодировки по номенклатуре и по картотеке позволяет с одной стороны, видеть общее движение товара с детализацией как по номенклатуре, так и по картотеке, что важно с одной стороны, для анализа продаж товара,с другой стороны, для жесткого учета товара на складах. Для каждой партии товара, то есть для каждой карточки, ведется свой остаток. Остаток также можно поднимать на определенную дату.

Прежде чем нажать кнопку "Открыть" (лампочка), можно с помощью переключателей на форме отфильтровать и отсортировать информацию нужным образом:

  • Фильтр склада - активно, если программа работает в режиме одного склада (см."Установки").Фильтруется картотека на определенном складе.
  • Фильтр поставщика - фильтруется товар данного поставщика. Если товар пришел по перебросу со склада, то необходимо иметь ввиду значение переключателя "отследить закупочную цену в перебросах" - Если флажок не установлен, то поставщиком по перебросу будет склад, отпустивший товар, и ценой закупки будет цена, по которой была оформлена перебросная накладная (ценовая политика при перебросах определяется самим предприятием).
  • Фильтр по товару - фильтрация карточек для одного номенклатурного кода или для группы товаров (см. группы товаров).
  • Фильтр по статусу накладных- фильтр картотеки из отгруженных и неотгруженных приходных накладных.
  • Остатки - все, непроданные, отрицательные, нулевые - фильтр остатков по каждой карточке отдельно.
  • Карточки и серии - фильтрация по номеру карточки и номеру серии. Если товар перебрасывался, то Вы увидите несколько строчек с товаром одной серии и по одной карточке. Первая из них будет -приход от поставщика, остальные должны прийти по перебросу.
  • НДС - фильтр товара по ставке НДС.
  • Сроки хранения - фильтр по срокам хранения товара указанным в карточках. Если срок хранения не указан, то данный товар не будет рассматриваться, то есть его срок хранения неограничен.
  • Приходы от.. до.. - фильтр по приходным накладным, оформленным за определенный период. Очень удобно для анализа ликвидности товара.
  • Сортировка - признак сортировки товара (код, наименование, номер карточки, дата прихода и т.д.)
  • Рассчет на.. - поднять остатки не текущие, а на определенное число. Это дает возможность увидеть остатки по картотеке на любую дату по прошествии любого времени.
  • кнопка вызова панели с выкладками по НДС и НП (с изображением в виде Российского флага)- появится окно с полными выкладками по НДС и НП.
  • и т.д.

Внизу окна Вы увидите суммы приходов и остатков по запрошенному товару:

  • кол-во единиц товара
  • сумма в продажных ценах
  • Сумма в закупке и процент наценки от цен закупки
  • и т.д.
Для данной формы можно составить распечатку и, как обычно, отредактировать данную распечатку в соответствии с потребностью.


Остатки товаров по номенклатурному справочнику

Данная форма служит для запроса остатков по складу(складам,пунктам), как в количественном, так и в суммовом выражении, но, в отличие от картотеки, учет ведется без разделения по картотекам, каждый код суммируется в остатке, в сумме, и выводится средняя цена как частное от этих величин. В суммовом выражении данные не отличаются от данных в картотеке номенклатурные остатки товаров

Информацию, как обычно, можно рассматривать как для всего предприятия, так и для отобранных его складов. Можно остатки отдельных складов получить отдельными строками. Данная форма хороша для анализа остатков с целью оптимизации работы. Кроме того, что форма может выдать точную продажную и закупочную стоимости товаров средневзвешенные цены на товары, различные налоги, есть возможность оценить степень загруженности склада и необходимость добора товаров ( на основе рассчитанной в форме "скорость продаж" дневной скорости расхода товаров). Можно получить рекомендации программы по набору отфильтрованного товара, основанные на рассчитанной ей скорости продаж товаров и текущих остатках товаров на складе(ах).

Итоговая таблица, как и другие, легко экспортируется, что позволяет расширить возможности анализа, выходя за рамки программы. Сам результат можно, как обычно, распечатать.


Движение товара

Движение товара (выписка из карточки складского учета)

Простая форма, позволяющая поднять выписку из карточки складского учета определенного товара. Пользователь должен указать номенклатурный код товара, движение которого нужно поднять. Далее можно будет отфильтровать движение по определенному складу, по документам определенного оператора. Можно отфильтровать определенную серию товара или (и) определенную карточку. В ответ Вы получите детальную информацию о движении указанного товара с возможностью входа в соответствующие накладные через всплывающее меню данного окна. Одна из колонок укажет остаток общий по складу в его хронологии. Внешний вид формы 'Движение товара'

Доступ к данной форме существует во многих формах (ищите, в-основном, во всплывающих меню). Авторы предпочитают пользоваться этой формой, вызывая ее непосредственно из списка товаров ;-).

Данная форма исключительно важна при анализе движения, при выяснении причин для формирования текущего остатка по данной позиции товара.

Из данной формы можно попасть прямо в накладную, где прошел данный товар (см. всплывающее меню).

Данный отчет имеет печатную форму.


Журнал отпуска товаров

Журнал отпуска позволяет увидеть расходы товаров (или одного из них) строго в хронологии их оформления. Данная форма бывает полезна для быстрой проверки торговых операций в программе.

Журнал отпуска товаров

Данная форма имеет выход на сводную накладную, сводный отчет о продажах в виде накладной.

Также эта форма используется при возврате товара от покупателя. Если набирать приходную с основанием типа "Возврат", коды таких оснований должны начинаться на "В", то в окне "накладная" будет доступна кнопка Кнопка 'журнал продаж'. С ее помощью оператор получает доступ к журналу продаж по данному контрагенту, из которого с помощью ENTER можно выбрать нужные позиции. При этом программа правильно отследит цены, количество, а главное - создаст в базе данных внутреннюю связь, по которой будет находить поставщика у товара, возвращенного от покупателя.


Ведомость реализации

Ведомость реализации товаров

Данная форма представляет собой форму для выдачи наиболее полной информации по реализации товара, с применением различных степеней детализации и выдачей конечных сумм.

Ведомость реализации товаров

Данная форма позволяет собрать информацию по товарам, фигурирующим в расходных накладных. Используя соответствующие кнопки и закладки, можно отфильтровать товары по периоду, по основаниям, по складу или группе складов, по контрагенту (покупателю), участвовавшему в данной операции, по пользователю, оформившему данную операцию, по поставщику товара, участвовавшего в накладных, по периоду приходов от поставщика, по статусу в смысле отгрузки товара, по ставке НДС. Внизу формы Вы увидите сводки в продажной, закупочной стоимостям. Вы также можете отсортировать товар по одному из признаков: код, наименование, срок годности. Имейте ввиду, что переключатель 'Приходная цена в перебросах' скажется на цене закупки, показываемой в форме, а также на результатах фильтра по поставщику. (см.Расчет закупочной стоимости для переброшенного товара)

Дополнительно в данной форме введена возможность детализации. Вы можете не детализировать информацию, и тогда каждый код встанет одной строчкой в результирующей накладной, цена товара будет опредена как частное общей стоимости товара и общего количества товара. При этом такие поля, как, скажем, карточка, не указываются. Чтобы увидеть карточки, нужно указать детализацию "карточка", и каждая отдельная карточка будет указана отдельной строкой. Аналогично можно поступить и с остальными степенями детализации.

детализация в ведомости реализации товаров

В данной форме Вы можете составить запросы типа:

  • Сколько отгружено товара по накладным с определенным основанием;
  • Сколько товара отписано, но не отгружено;
  • Сколько товара отгружено определенному покупателю
  • Сколько товара отгружено из товара определенного поставщика по его приходам за определенный период;
  • и т.д. и т.п.

Все фильры и условия пересекаются и накладываются друг на друга.

Используя редактор печати а также экспорт таблицы в EXCEL, Вы можете еще более расширить возможности запроса и вырвать информацию из ее первоначального контекста!

Ведомость реализации товаров можно снимать как по отгрузке, так и по оплате ,как в списке накладных. Если выбирается тип 'По факту оплаты', то выводится ведомость реализации с учетом оплаты товара. Накладные с основаниями, в которых не указано, что их сумма должна быть помещена в карточку контрагентов, будут считаться оплаченными тут же, и попадут в ведомость реализации как есть. Те основания, которые должны оплачиваться через картотеку (то есть с галочкой 'помещать в картотеку клиента'), будут попадать сюда только по факту оплаты товара в картотеке клиента.

выбор по факту оплаты или отгрузки


Список контрагентов

Список контрагентов используется для хранения списков складов, поставщиков и покупателей. Один контрагент может быть и тем и другим, и третьим одновременно. Для программы одни все совершенно равноправны, с той лишь разницей, что при выборе контрагента из списков можно фильтровать список по различным признакам контрагентов. Каждый контрагент имеет полный набор реквизитов, необходимых для оформления документов, в частности, набор счетов в банках. Список банков указывается отдельно.

Если контрагент является складом, то он будет фигурировать в списке складов в запросах.

Создавать и редактировать список контрагентов можно из поля выбора контрагента, которое активно используется в программе.

окно выбора контрагента


Список оснований

Список оснований, доступных в данной программе.

Список оснований играет важную роль при формировании приходных и расходных документов. Все движение товара в программе происходит с помощью приходных и расходных накладных с различными основаниями. Основание определяет, является ли документ внутренним документом (переброс или переоценка), или это "внешняя" накладная. Важную роль играет код основания, состоящий из 2 символов, а точнее его первая буква.

Здесь есть несколько предопределенных типов.

  • Первый символ "П" - это внутреннее перемещение (переброс). Перебросы всегда идут парами, то есть к расходной накладной со склада 1 на склад 2 автоматически (или иногда вручную, если они делаются на отдельных складах) генерируется приходная накладная, но она уже будет принадлежать складу 2. Эти две накладные будут иметь внутреннюю связь между собой, и по ней программа будет отслеживать поставщика в карточках, поступивших на склад по перебросу с другого. Часто такое основание используется для операций переоценки в рознице. Сначала расходуется товар со старой ценой со склада 1 на склад 1, потом автоматически генерируется приходная накладная там же, но стоимость продажи меняется (это всего лишь один из вариантов переоценки).
  • Первый символ "В" - это возвраты поставщику или от покупателя. При взаиморасчетах очень важно для списания кредиторской задолжености автоматически. Если это возврат поставщику, то в накладной появляется возможность выбрать товар из картотеки данного поставщика, что исключает выбор "чужого" товара, а также ошибку в цене возврата (если она не преднамеренная, конечно ;) ). При возврате от покупателя можно использовать такой же механизм отслежки отгруженного ему товара, что позволяет программе зафиксировать, с какой накладной производится возврат и впредь находить по этой связи поставщика данного товара и соответственно закупочную стоимость.
  • Первый символ "<" или ">" - накладные с данным основанием появляются для выравнивания остатков в базе данных после упаковки - они не являются, собственно, документами в полном смысле этого слова, потому что, содержат обычно исходные остатки товаров на начало периода или расходы-перебросы, необходимые для отслежки перебросов в архиве. Данные документы можно редактировать, однако они появляются и удаляются программой самостоятельно.

Другие специальные виды оснований науке пока неизвестны. То есть остальные основания интерпретируются программой одинаково c учетом настроек в списке оснований:

  • Приходы и расходы - указывается, можно ли данное основание использовать соответственно в приходных или расходных накладных. Переключается двойным нажатием мышью в соответствующей ячейке.
  • Форма оплаты указывается, что данное основание используется как форма оплаты при взаиморасчетах с контрагентами. Данный переключатель рекомендуется задействовать крайне осторожно, предварительно проконсультируясь у разработчиков о последствиях.
  • Вносить в картотеку клиентов - данный флажок необходим, если Вы хотите, чтобы расходные накладные с данным основанием попадали в картотеку покупателей. Это может быть не нужно для накладных с основанием, таким как списание, или наличный расчет, который оплачивается на месте и нет смысла вести его в картотеке.
  • Облагается налогом с продаж - данное основание облагается налогом с продаж, и при выборе данного основания в накладной на весь товар, который принадлежит к группе облагаемых налогом с продаж товаров, будет рассчитан данный налог (например: наличный расчет).
  • Автооплата - если данное основание оплачивается автоматически, но накладная все же нужна в картотеке клиентов, (или это основание используется в приходе, где все накладные попадают в картотеки покупателей, даже накладные на излишки), то при сохранении данного документа автоматически в картотеке контрагента будет проставлека сумма оплаты по нему.
  • Приходы в склад и расходы в склад - используется, если нужно, чтобы накладные с данными основаниями проходили автоматически в картотеку по данному складу (имеются ввиду взаиморасчеты со складами). Некоторые документы могут учитываться в картотеке складов, некоторые - нет. Например, накладные за наличный расчет могут не вписываться в картотеку склада, однако в этом случае будет предполагаться, что вручную запишется выручка, полученная с этих накладных.
  • Расходы - требуется контрагент - включается, если в расходных накладных с данным основанием требуется указывать контрагентов. Обычно используется одновременно с флажком Вносить в картотеку клиентов. Если накладная не попадает ни в какие картотеки по контрагентам, то контрагента можно не указывать, или просто вписать его имя, не внося в список. В данном случае предполагается, что это частное лицо. В приходных накладных указывать поставщика нужно будет обязательно, поскольку они все попадают в картотеки поставщиков. Программа просто не сохранит накладную, если в ней не указан поставщик. Она также откажется делать это в расходных накладных, в которых выставлен указанный флажок, но пропущен контрагент из списка.

Код основания можно поменять. При этом все накладные, в которых встречено данное основание, будет перекодированы корректно. Удалить основание можно только, если на него нет ни одной ссылки ни в одной накладной.


Работа с альтернативными группировками

Работа с альтернативными группировками. Использование групповой расценки товаров.

Альтернативная группировка справочника товаров никак не пересекается с основной группировкой и используется для автоматизации расценок на товары. Каждый элемент справочника товаров может быть отнесен к определенной группе товаров, вложенности групп не предусмотрено. В справочнике альтернативных групп указываются проценты наценки основные или дополнительные для каждого отдельного склада, это используется в при расценке товара. Справочник групп можно вести вручную, указывая проценты наценок для каждого его элемента, или загрузить из внешнего справочника, подготовленного, например в Excel-таблице.

Доступ к справочнику осуществляется через меню "справочники/Альтернативные группы товаров" ( в торговом зале соответственно "отчеты/Альтернативные группы товаров").

Создаются, редактируются и удаляются элементы справочника нажатием или соответствующей кнопки "создать" (ins), "Редактировать" (F2) и "Удалить" (Del), курсор находится в той таблице, в которой нужно произвести данное действие. При создании элементов мы можем использовать процент наценки, который применяется при расценке или переоценке товаров из данной группы, максимальный процент наценки. Если указан персональный процент наценки для определенного склада или отклонение от основной наценки, указанной выше, и в настройках программы установлено "использовать склады в расценках из альтернативных групп", то будут применены эти данные персональные данные для склада, который выбран в накладной.

Также можно загрузить список групп непосредственно из файла-таблицы. Используется стандартный загрузчик, значит могут быть использованы файлы типа *.db, *.dbf, *.txt, *.csv, *.xls. Таблицы должны содержать, как минимум, код группы, наименование, процент наценки основной. Если имеются поля с персонализаций по складам, то они сопоставляются с соответствующими этим складам колонками и добавляются в таблицу детализации расценок. Во всех случаях предполагается наценка от цены закупки.

Можно загрузить или указать вручную максимальные проценты наценок для альтернативных групп, речь идет о максимальном проценте наценки от производителя. Для поддержания поля "макс. процент наценки" в справочнике товаров в соответствии с этими данными в форме "альтернативная группировка товаров" существует кнопка "скорректировать в справочнике товаров максимальные проценты наценок".

Автоматизация расценок

Дла начала в настройках программы на закладке "цены" выставляются опции "использовать расценки из альтернативных групп", а также "использовать склады в расценках из альтернативных групп" на случай разделенного ценообразования для складов/аптечных пунктов/магазинов.

После этого в накладной будет происходить автоматическая расценка товаров, задействованных в альтернативных группах, в случае ,если для них указаны непустые (не путать с нулевыми) значения наценок. Если товары имеют превышение процента наценки от цены производителя , то произойдет автоматическая корректировка цены до максимально возможной.

Также в накладной в меню расценки, подменю "расценка по значениям альтернативных групп" можно произвести разовую расценку всех товаров. Пункт меню не предлагает опций, просто происходит расценка всех товаров, иеющих ссылки на группы.

Для того, чтобы можно было потом произвести расценку всех остальных товаров, в стандартном диалоге расценки добавлена галочка "только для товаров без альт.групп", подразумевающая проведение операции расценки на всех товарах, кроме отмеченных в группах.

При перебросе товара на другой склад, для того, чтобы сменить наценку на товар ,нужно выполнить пункт меню "расценка по значениям альтернативных групп", и тогда применятся расценки для склада, на который отгружается товар.


Список стран

Список стран используется в списке контрагентов, в списке товаров, а также в картотеке оприходованных товаров. В качестве кода страны удобно указывать ее стандартную аббревиатуру из 2-3 букв. Там, где это будет необходимо, будет запрашиваться именно этот список стран.


Список производителей

Список производителей товаров, который используется в картотеке ( то есть при оприходовании товаров). Если на товар указан производитель, то данный товар будет участвовать в аналитических расчетах, связанных с расчетами по товарам определенных производителей или стран, в которых эти производители размещаются.

Также производитель будет указан в печатных формах везде, где это требуется.

Список производителей активно используется в реестре цен. (Для фармацевтических предприятий)


Список сертифицирующих органов

Список сертифицирующих органов (а также выдающих протоколы анализов)

Список сертифицирующих органов, который используется в картотеке, накладной и прочих документах, в которых имеется ссылка на сертифицирующий орган.

список сертифицирующих органов

При заполнении прихода данный список используется для указания сертифицирующего органа. Следует обратить внимание на то, что в сертификате существуют признаки, по которым можно определить, кто выдал данный сертификат или протокол анализа. Для автоматического определения программой сертифицирующего органа программа использует шаблоны, работающие следующим образом:

  • Шаблон указывается в соответствуещем поле в списке сертифицирующих органов.
  • Может быть указано несколько шаблонов через запятую, тогда программа будет распознавать по одному из них.
  • Примеры шаблонов: АБ* или *ВГ или *АБ* или АБ*ГД, где * - любое вхождение в строку.
  • Если указан просто символ *, то это означает, что указанный сертифицирующий орган будет использоваться по-умолчанию, если указан сертификат, но не найден ни один из подходящих шаблонов.


Справочник "Штрихкоды от производителей"

Данный справочник служит хорошим подспорьем для систем, использующих штрихкоды от производителей для учета товаров на предприятии. Справочник штрихкодов позволяет автоматизировать решение таких задач::

Справочник "Штрихкоды от производителей"

  • Использование этого справочника для поиска штрихкода при вводе приходной накладной, когда поставщик не дает в электронном виде штрихкода, и приходится сканировать каждый товар для сохранения штрихкода с целью автоматизации продажи. После выбора товара и производителя (не обязательно, в справочнике можно сохранять штрихкод, не указав производителя) программа при генерации штрихкода, если он не указан при импорте или товар вводится вручную, работает по следующему алгоритму:

    • Проверить справочник штрихкодов от производителей и найти нужный для данного товара и производителя (или товара, если не указан производитель). Если штрихкод найден, то он сохраняется вводимой строке в приходной накладной.
    • Если штрихкод не найден, то проверить справочник товаров на предмет наличия штрихкода по умолчанию для данного товара.
    • Если штрихкод не найден, то сгенерировать штрихкод собственный от номера новой карточки, сгенерированной для данной строки. Правила ввода собственных штрихкодов можно определить в настройках программы на закладке "штрихкоды"

      Настройка штрихкодов

  • Использование справочника штрихкодов для поиска товаров при оприходовании товара.
    • Берем упаковку, сканируем в приходной накладной, и если есть такой штрихкод в базе, то программа вставляет самостоятельно товар и производителя.

Для автоматизации работы со справочником штрихкодов в настройках программы на закладке "штрихкоды" мы можем установить параметры:

  • "Приходы: при указании штрихкода, если товар еще не указан и не найден в справочнике "штрихкоды от производителей": предлагать диалог ввода штрихкода в справочник": при ручном вводе штрихкода производителя, если штрихкод такой нигде не найден, то программа выведет диалог редактирования штрихкода для справочника производителей. дав возможность указать пару "Товар-Производитель", которая будет выбрана в накладную, а также сохранена в справочнике штрихкодов от производителей.
  • "Приходы: при автогенерации нового штрихкода использовать таблицу "штрихкоды от производителей"": :данная опция позволяет включить поиск штрихкода по справочнику штрихкодов от производителей в алгоритм генерации штрихкода в приходной накладной. То есть, после создания новой строки в накладной, если не указан штрихкод, то программа проверяет, нет ли для этого товара постоянного штрихкода. Если нет, то программа, в зависимости от данной опции, может проверить также по справочнику штрихкодов от производителей, нет ли там данной записи на пару "товар-производитель", или на "товар", если не указан производитель. Если пара найдется, то программа возьмет штрихкода оттуда. Если ничего не найдено, то программа сгенерирует собственный штрихкод от карточки.
  • "Приходы: автоматически сохранять штрихкоды в базе "штрихкоды от производителей" при сохранении накладной": данная опция позволяет автоматически пополнять базу штрихкодов от производителей при сохранении накладной. (сохраняться будут только штрихкоды, не сгенерированные автоматически по правилам генерации собственных кодов).

Параметры генерации собственных штрихкодов:

"Префикс генератора штрихкода в товарах": если префикс не указать, то самостоятельные штрихкоды будут равны карточкам товаров. Если указать префикс, например, 16, то программа сгенерирует 12-значный штрихкод 120000000123, где 123 - номер карточки товара. Рекомендуется ставить префиксы для всех видов справочников.

"Префикс штрихкода для распознавания контрагентов": Если указать префикс 13, то при сканировании штрихкода 13000000001234 программа распознает его как штрихкод, привязанный к справочнику контрагентов, а код 1234 - как код контрагента. Эту функциональность программа сможет использовать для быстрого поиска в справочнике контрагентов, например в именных дисконтных картах.

"Префикс штрихкода для распознавания документов "путевые листы": по аналогии с генератором штрихкода в контрагентах программа может ассоциировать штрихкоды с путевыми листами.

"Префикс штрихкода для распознавания приходных накладных: по аналогии с генератором штрихкода в контрагентах программа может ассоциировать штрихкоды с приходными накладными.

"Префикс штрихкода для распознавания приходных накладных: по аналогии с генератором штрихкода в контрагентах программа может ассоциировать штрихкоды с расходными накладными. Например, можно в распечатке накладной сгенерировать ассоциированный с ней штрихкод, и в документе "путевой лист" организовывать быстрый поиск документов по сканеру для выбора их в путевой лист.


Реестр цен производителей

Использование реестра цен производителей (реестр лекарственных средств)

Реестр цен подготавливается в виде таблицы с необходимыми полями. Задача программы - взять эту таблицу (из файлов *.db, *.dbf, *.txt, *.xls),

прием реестра цен

Далее сопоставляются поля принимаемой и принимающей таблиц.

Полученная таблица будет служить буфером для дальнейшей обработки:

Данный файл будет дальше рассматриваться как исходный адаптированный реестр с исходными наименованиями товаров и производителей. Он будет существовать в программе до следующего реестра с целью закачивания из него информации о новых товарах. Он может иметь номенклатуру гораздо больше, чем есть в нашей базе данных - просто она пока не будет обрабатываться. Конечный реестр (-не он) будет содержать только товары, имеющиеся в нашей базе и расставлен по нашей кодировке. Также реестр будет содержать историю по всем предыдущим реестрам с целью корректного отображения информации в "старых" накладных. Здесь предусмотрено поле "код" и поле "код производителя", соответствующее кодировке базы данных клиента. Вся сложность закачки реестра как раз и состоит в правильной "расфасовке" наименований в соответствии с нашей номенклатурой. Здесь у пользователя будет 2 пути

  1. Предприятие заключает договор с фирмой, занимающейся распространением реестра, или какой другой, берущейся расставить в реестре коды товаров и производителей, соответствующие кодам в нашей базе.

  2. Пользователь расставляет коды сам с помощью специальных процедур поиска в списках товаров и производителей, используя и постепенно расширяя глоссарии с возможными формами написания. Здесь мы ставим своей задачей сделать этот процесс максимально удобным и быстрым.

Поиск товара:

поиск производителя:

После выполнения этих процедур мы получаем конечный реестр цен, который "вшит" в программу, и автоматически отслеживается в накладных и картотеках.


Работа со справочником забракованных серий в программе Solaris

Реестр забракованных серий принимается в программу из внешнего файла (DB,DBF,TXT, CSV или Excel), в котором будут прописаны необходимые поля: наименование товара; возможно, форма выпуска; забракованная серия; наименование производителя; возможно, наименование поставщика товаров; возможно, дата забраковки; возможно, номер письма, в котором была указаная забраковка данной серии, или из системы Solex. В первом случае предполагается необходимость согласования реестров цен по наименованиям товаров и производителей со справочниками товаров и производителей в базе данных solaris, Второй случай подразумевает, что справочники уже синхронизированы с помощью нашего сервиса. Справочник забракованных серий

Эта таблица будет принята в базу данных (добавляя к уже имеющимся данным, или заменяя их полностью - на усмотрение пользователей). Если импорт осуществляется из системы Solex, то передаются все актуальные данные, не более, но и не менее. Если прием осуществляется самостоятельно, без системы Solex, то после импорта из файла производят синхронизацию справочников с собственными справочниками товаров, производителей (желательно), и поставщиков (необязательно). Состыковка заключает в себе расстановку в исходном справочнике кодов товаров или производителей, соответствующих по внутреннему справочнику базы данных тем наименованиям, которые указаны в таблице забракованных серий. Процедура проходит аналогично процедуре закачки Государственного Реестра лекарственных средств и импорту накладной - здесь применяется один и тот же механизм поиска с ведением собственной базы знаний и самообучением программы. Если используется система Solex, то синхронизация справочников уже проведена сервером Solex.

Загрузка справочника из внешнего файла

Поиск в справочнике производится следующим образом: вызывается окно поиска: Поиск в справочнике забракованных серий

Здесь можно искать по серии (по части текста или точно), по производителям, по наименованиям. Можно указать код товаров по нашему справочнику товаров (производителей или поставщиков), и программа выдаст все серии, найденные по данному коду. Можно просто указать кусок наименования. В этом случае программа выдаст все строки из справочника, в которых найдено вхождение. Если серия имеет вид, скажем, "123ABC", то трудно определить, какими буквами набрана данная серия, русскими или латинскими, и поэтому операторы могут ввести ее на свое усмотрение. Программа учитывает этот момент, и ведет поиск по двум вариантам - по русскому написанию и по латинскому. Но тем не менее, авторы рекомендуют те буквы латинского алфавита, которые не имеют аналогов в кириллице, не заменять русскими, поскольку транскрипция, принятая оператором, может отличаться от транскрипции, используемой другими операторами, и поиск не сможет опознать такие серии. Мы в данном случае лишь гарантируем правильный поиск по буквам типа ABCDEF.H..K.LMNOP.RSTU..XY., соответственно АВСДЕФ.Н..К.ЛМНОП.РСТУ..ХУ. Другие транскрипции желательно не использовать.

Данная форма также используется при сверке забракованных серий в накладной, в картотеке товаров и в справочнике товаров.

Также в накладной и картотеке есть процедура сверки набранного в документе товара на предмет его наличия в справочнике забракованных серий. Результат поиска забракованных серий по товарам в накладной

На данном рисунке видно, как программа нашла в справочнике несколько позиций. По сути, она ссылается на одну и ту же строку в справочнике забракованных серий: Вот эта строка в справочнике по браку

В накладной программа отыскала эту строку в нескольких строках, однако в некоторых она нашла точное соответствие со справочником товаров и производителей при точном совпадении серий, в других случая было "подозрение" на брак. По таблице цветов, которая указывается там же, где выставляются все цвета в программе (администратор/установки/цвета) можно определить степень точности попадания в брак: Раскладка цветов.

Степень точности нахождения серий в браке повышается при улучшении качества состыковки кодов товаров и кодов производителей. При состыковке кодов очень важно обращать внимание на то, чтобы один и тот же товар или производитель не указывался в справочнике несколько раз. Если это произойдет, то программа увяжет справочник с одним из них, а оператор может сослаться на другой, что приведет к тому, что товар будет не найден. Случай с производителями не так критичен при поиске брака, но необходим в случае загрузки реестра цен. Если случился дублеж, то при редактировании всех справочников существует возможность объединения двух строк в одну, при этом программа отслеживает ссылки и переопределяет их. В списке товаров для объединения достаточно при редактировании товара заменить его код на код товара, с которым он объединяется. В других справочниках существует кнопка "замена кода". Работает аналогично.


Взаиморасчеты с контрагентами

В программе SOLARIS можно вести взаиморасчеты с поставщиками, покупателями, собственными складами. При ведении информации по взаиморасчетам мы можем получить информацию не только о том, сколько товара отгружено покупателю или принято от поставщика, или сколько товара от данного поставщика продано (или осталось). Мы также можем вносить выплаты за отгруженный товар, что даст возможность видеть неоплаченные суммы (а также оплаченные суммы), по поставщикам - баланс между проданным товаром и оплаченными суммами (задолженость по факту продажи), а также получать журналы приходов от поставщиков и журналы продаж, разбитые по факту оплаты, а не отгрузки.

Для получения информации по технологии ведения взаиморасчетов с поставщиками смотрите Взаиморасчеты с поставщиками.

Для получения информации по технологии ведения взаиморасчетов с покупателями смотрите Взаиморасчеты с покупателями.

О взаиморасчетах со складами (пунктами, собственными магазинами) читайте во Взаиморасчетах с складами.


Карточка контрагента

Карточка контрагента - поставщик

Карточки взаиморасчетов являются основными "рабочими лошадками" при осуществлении расчетов с контрагентами. В этих формах осуществляется ввод информации и анализ по отдельному контрагенту. В зависимости от типа контрагента (поставщик, покупатель или склад) дополнительно выводится информация, необходимая для принятия решения. Так, у поставщика выводится информация о продажах по его товару, для покупателя и для поставщика выводится информация о том, какие накладные оплачены, какие нет, и каков срок оплаты.

Карточки поставщиков, покупателей и складов очень похожи по смыслу и по содержанию. В этих формах ведутся взаиморасчеты с конкретным выбранным поставщиком (покупателем, складом). Если поставщик выступает одновременно и как покупатель, то на него будут вестись отдельные карточки поставщика и покупателя.

Информация о накладных для контрагента заводится в карточке во время выписывания накладной или после процедуры сверки сумм накладных (закупочная - для поставщика, продажи - для покупателя, учетная для склада).

Все приходные накладные попадают в карточки поставщиков. По этой причине, если в приходной накладной не указать поставщика из списка, программа не разрешит ее сохранить. Приходы - возвраты - попадают в карточку покупателя, от которого они поступили.

Расходные накладные попадают в карточки поставщиков, если это возвраты, в карточки покупателей, если этого требует настройка по выбранному в накладной основанию - такие основания, которые попадают в картотеку покупателя, помечены флажком "поместить в карточку покупателя". Если основание помечено флажком "автооплата", то к накладной также будет выставлена сумма оплаты автоматически. Не для всех накладных требуется занесение в карточку покупателя. Если накладная этого не требует, то и необязательно в поле "кому" в накладной вводить покупателя, или можно вписать руками (не из списка), что будет означать, что он - частное лицо. Такими накладными могут быть, к примеру, накладные с основанием "списание". Или чеки в ТЗ с основанием "НАЛИЧНЫЙ РАСЧЕТ" (это могут быть оптовые накладные, а поскольку они оплачиваются сразу, то и карточку заводить не нужно).

В картотеку по складу попадают накладные приходные и расходные по мере надобности, используя флажки в списке оснований "приходы - в склад" и "расходы - в склад". Смысл всего этого мероприятия в том, чтобы вести информацию по задолжености склада или магазина перед офисом. Приходные накладные скорее всего все попадут на склад, расходные - перебросы, возвраты со склада, списание, безналичный расчет, а также накладные, отданные с отсрочкой платежа (если оплата будет происходить в офисе). Накладные за наличный расчет можно не помещать в картотеку склада, и тогда вместо них будет ожидаться внесение суммы выручки со склада. Таким образом будем иметь задолженость склада по накладным и выручкам.

В карточке поставщика в панели с суммами Вы сможете увидеть (в закупочной стоимости) суммы приходов от него, остаток товаров на складе(складах), остаток на реализации у покупателей (неоплаченные товары), остаток денег, которые не оплачены поставщику и как разницу - задолженость по факту продажи товаров. Также будет полезно увидеть суммы накладных, которые просрочены по оплате нашими покупателями.

Карточка покупателя - панель внизу упрощена

Карточка покупателя от карточки поставщика тем, что упрощена панель внизу, поскольку при взаиморасчетах с покупателями нет составляющей об остатках на складах - она не имеет никакого смысла. Взамен этого просчитывается закупочная стоимость и наценка для товара, находящегося на реализации у покупателя.

Карточка склада - панель с суммами

Карточка взаиморасчетов со складами (пунктами или своими магазинами) похожа по смыслу на карточку взаиморасчетов с поставщиками. Здесь есть такие составляющие, как остаток на складе и остаток денег. Однако учет ведется в ценах, по которым были сделаны перебросы (учетные цены). Скорее всего это будут цены продажи.

Во всех случаях просчитывается сумма по просроченным накладным. Здесь имеется ввиду срок оплаты, указываемый в накладной во время выписки.

Оплата накладных производится с помощью кнопок кнопки для оплаты. Во время оплаты товар автоматически (по FIFO) привязывается к сумме оплаты, то есть, оплачиваются самые ранние накладные. Если нужно оплачивать конкретную накладную, то существует кнопка кнопка 'оплатить накладную', которая гарантирует, что оплата будет произведена только по данной накладной.

Об оплате


Общие задолжености

Отчетные формы по общей задолжености при взаиморасчетах с поставщиками, покупателями и складами выглядят примерно одинаково. При запросе выводится таблица, которая будет указывать задолженость покупателя, в случае с поставщиками и складами - также остаток на складах и неоплаченный на реализации.

Сортировка возможна по наименованию контрагентов или по каким-нибудь остаткам, в зависимости от сортировки можно вывести графики, характеризующие, например, долевое участие фирм в поставках (или в случае с покупателями - в продажах).

Данные формы имеют выходы на карточку контрагента, на формы просмотра неоплаченных товаров, на списки накладных с участием данного контрагенты.


Отчет по выплатам поставщикам и покупателями

Отчеты по выплатам поставщикам и от покупателей

Отчеты по выплатам поставщикам и от покупателей полезны для сбора выручки по дням с дополнительной детализацией по записям по выплатам контрагентов.

Здесь рассматриваются только выплаты поставщикам и выплаты от покупателей, приходы от поставщиков и расходы на покупателей, а также возвраты не рассматриваются.


Взаиморасчеты - оборотная ведомость

Оборотная ведомость используется для общей выборки взаиморасчетам с контрагентами (складами) в суммовом выражении за период. Использую эту форму, можно просмотреть, каков был остаток на начало периода (в закупочной стоимости для поставщиков, в стоимости продажи - для покупателей, в учетных ценых - для складов), остаток на конец периода, приходы за период деньгами и накладными, расходы за период деньгами и накладными.

Окно поделено на три таблицы: верхняя - отчет построчно по контрагентам, нижнии - отчет по приходам и по расходам, с детализацией по накладным в сумме, по счетам - в отдельности для каждого счета.


Суммовые оборотные ведомости по товару поставщиков

Оборотная ведомость по товару

Суммовая оборотка по поставщикам дает возможность просмотреть в резрезе поставщиков суммы по остаткам начальным товара, по остаткам конечным, по приходам и по расходам в стоимости закупки, в стоимости продажи и собственно по наценке. Используя различные сортировки, можно сравнить данные между собой и сделать орг. выводы ;).


Приходы, просуммированные по поставщикам

Приходы, просуммированные по поставщикам

Приходная ведомость, просуммированная по поставщикам, выводит приходы товаров по накладным, с использованием фильтров по складам, по основаниям, по интервалу времени и т.д. Приходы суммируются по поставщикам. Форма полезна для сбора и анализа данных в разрезе контрагентов. Это полезно, во-первых, для взаиморасчетов, во-вторых, для анализа закупок.

В форме просчитываются налоги НДС и НП. Поэтому, она может быть очень полезна для бухгалтерии.


Списки неоплаченных накладных

Списки неоплаченных накладных (поставщики)

Списки неоплаченных накладных дают возможность для просмотра во взаиморасчетах списков накладных, отфильтрованных по факту оплаты, а точнее - список неоплаченных накладных. В результирующей таблице мы сможем увидеть полную сумму накладной, возврат с нее, если был, и оплаты в сумме, если они были. Прямо отсюда можно оплатить накладную или часть ее - сумма внесется в картотеку контрагента.

Список неоплаченных накладных для покупателей отличается от аналогичного для поставщиков тем, что в нем просчитывается закупочная стоимость товаров, в то время, как в списке приходных неоплаченных накладных выводится лишь закупочная стоимость товаров. В списке закупок показывается также остаток на складах по каждой неоплаченной накладной, что дает возможность увидеть баланс между остатком и оплатой товаров в плане расчета по факту продаж.

Как и принято в программе, в панели настроек формы можно увидеть большое количество фильтров и настроек.


Товары на реализации

Товары на реализации

Товары на реализации - товары, отгруженные покупателям с отсрочкой платежа, и не оплаченные. Можно увидеть остатки товаров в стоимости продажи, в стоимости закупки. Можно изменять степень детализации - от одной строчки на один номенклатурный код до каждой карточки отдельно. Можно фильтровать остатки товаров, отгруженный определенному контрагенту, а также выбирать остатки на определенную дату. Часто используется фильтр по определенному поставщику, что позволяет выполнить запрос типа "давай-ка посмотрим, сколько товаров указанного поставщика мы надавали на реализацию".

В зависимости от метода сортировки можно выводить графики, которые покажут долевое участие номенклатурных кодов в данном отчете.


Приходы, просуммированные по покупателям

Приходы, просуммированные по поставщикам

Суммы отгруженные по покупателям

Ведомость реализации, просуммированная по покупателям, выводит продажи товаров по накладным, с использованием фильтров по складам, по основаниям, по интервалу времени и т.д. Приходы суммируются по покупателям. Форма полезна для сбора и анализа данных в разрезе контрагентов. Это полезно, во-первых, для взаиморасчетов, во-вторых, для анализа продаж.

В форме просчитываются налоги НДС и НП. Поэтому, она может быть очень полезна для бухгалтерии.

Если при оформлении накладной не указывался контрагент, или он вписывался вручную, то есть не из списка контрагентов, то такая накладная попадет в данной форме в строчку с наименованием {частные лица}.


Ведомость реализации по факту оплаты

Ведомость реализации по факту оплаты является обычной ведомостью реализации, во время вывода которой программа на страничке "Оплата товара" сама переключается на вариант "по факту оплаты", а также фильтрует список оснований, выбирая только те, которые участвуют в продаже.

Подробнее см.ведомость реализации


Движение по складам

Движение по складам

С помощью данной формы можно собрать информацию по суммам, проходящим через склады в виде накладных, в виде выплат, или в обоих видах, отдельно для приходов, отдельно для расходов. Если выплаты проводятся с указанием счетов, то выплаты разбиваются по частям.

В отчете задействованы два уровня детализации - общий по дням, который далее раскрывается по накладным и по счетам.

ВСЕ!


Суммовые оборотные ведомости по складам

Оборотная ведомость по складам (суммовая)

Суммовая оборотка по складам дает возможность собрать оборотную ведомость в суммах по складам. Выводятся данные по начальному остатку на складе, по остатку конечному на складе, по приходам (перебросы и возвраты - отдельно), по расходам (перебросы и возвраты - отдельно). Для всех сумм просчитывается их составляющая по налоговым группа (НДС и НП), а также суммы самих налогов. Данный отчет очень хорошо подходит для отчетности в бухгалтерию.

При соответствующей сортировке возможны выводы графиков.


Торговый зал

План счетов

План счетов - упрощенная форма

В данном случае мы рассматриваем упрощенный план счетов, который дает нам всего лишь список счетов, по которым проходят выплаты во взаиморасчетах с контрагентами. Вызывается из главного меню программы. Применяется в форме выплаты


Проверки в картотеках контрагентов при взаиморасчетах - суммы накладных

сверка сумм в картотеках контрагентов

Данная форма делает простое дело - она сверяет, совпадают ли списки реальных накладных на складах с тем, что показывают картотеки контрагентов. Эта проверка - общая для картотек поставщиков, картотек покупателей и картотек складов, нужно только поставить соответствующие галочки в панели настроек окна. Если после запроса таблица будет непустой, то галочки будут менять цвет шрифта на зеленый в зависимости от того, к какой из картотек относится строчка, на которой Вы будете стоять в данный момент. Параметры, которые не совпадают, выделяются в строке красным цветом шрифта.

Можно нажать кнопки "исправить все" для тех выплат, которых нет в картотеке, или не совпадают суммы. Но это не сработает, если сумма есть в картотеке, но накладной нет на складе. Тогда нужно будет нажать кнопку "удалить".


Взаиморасчеты - сверка выплат в товаре и в суммах

проверка согласованности сумм оплат с оплаченным товаром

Когда покупатель оплачивает товар, отгруженный с отсрочкой платежа, или мы оплачиваем такой товар поставщику, то мы может указать, какая накладная(накладные) оплачивается данной суммой, или можем этого не указывать, и тогда программа сама закроет по FIFO товаров на нужную сумму.

Нужно это для того, чтобы можно было увидеть задолженности контрагентов (или перед контрагентами) не только в суммовом выражении, но и в количественном, увидеть ведомость реализации по факту оплаты, увидеть список накладных по факту оплаты, остатки товаров на реализации.

Для того, чтобы информация в суммовом выражении совпадала с информацией в количественном выражении, нужно, во-первых, аккуратно вести оплаты, во-вторых, делать проверки, рассматриваемые здесь.

Данная форма доступна из трех мест:

  1. Непосредственно из формы "проверки"
  2. Из главного меню программы
  3. Из картотеки контрагента, с фильтрацией проверки только по данному контрагенту

Данная ошибка возникает вследствии некорректных исправлений или вследствии предоплат. Предоплаты не могут привязаться к накладной, которой еще нет. Поэтому данный момент может быть запрограммирован.

Также случаются выплаты, которые не должны быть привязаны к товару, если, например, это сумма, погашающая внесенную ранее руками, а не накладной, кредиторскую задолженость. В этом случае, чтобы программа не пыталась привязываться к товару, и не выдавала это как ошибку в рассматриваемой здесь форме, необходимо во время оплаты выставить галочку "не привязывать к товару".

В данной форме выводится список оплат и соответствующих им сумм в товаре, если они не совпадают. Можно нажать кнопку "исправить", или даже "исправить все", однако, это может не сработать, и тогда нужно анализировать информацию глазами, а ошибки исправлять руками. При наличии определенного опыта оператор быстро справится с задачей. Самое верное решение - все стереть и ввести заново.


Инструкция по интеграции с программой статистики по жизненноважным препаратам

Автоматизация отчетов по жизненно важным препаратам на сайте http://mols.roszdravnadzor.ru (http://rznd.ru)

Аптечные организации, заполняющие отчеты по остаткам товаров на сайте росздравнадзора, могут воспользоваться формой для автоматизации этих подготовки. Автоматизация состоит упрощении процедуры получения файла выгрузки по ЖНВЛС, согласованного со справочниками товаров, производителей и организаций, взятых с сайта. В процессе получения данных оператору нужно будет:

  1. выгрузить справочники товаров , справочники организаций, по которым ведется отчет (предварительно его заполнив), справочники поставщиков (предварительно введя туда все нужные нам организации). Выгрузка осуществляется на сайте.
  2. Сгенерировать данные об остатках на определенную дату по ЖНВЛС в программе.
  3. Расставить соответствие между справочниками товаров и производителей нашей системы и справочником, загруженным с сайта, сначала с помощью штрихкодов (если в нашей базе ведется штрихкод от производителя), затем с помощью процедур согласования.
  4. Выгрузить данные в файл экспорта.
  5. Загрузить файл экспорта на сайт.

Выгрузка справочников

Для этого заходим на сайт http://mols.roszdravnadzor.ru. Регистрируемся на нем, входим в кабинет пользователя, идем в меню "экспорт/импорт", далее снова "экспор/импорт" и загружаем с сайта справочник товаров (файл "Действующий_справочник_ЛС_в_амбулаторном_сегменте.csv"):

экспорт справочника товаров

далее идем в "настройки", там оформляем список организаций, по которым будет произведен отчет. К сожалению, в отличие от старой программы, кнопки "выгрузить" мы пока не имеем (возможно, она появится позже), поэтому загрузить в солярис не сможем, поэтому в солярисе мы список этот введем вручную. Если же используется одна организация-склад, то список можно и не вести.

Далее в настройках идем на закладку "настройки", там в таблице "поставщики" заводим нужных поставщиков и выгружаем его кнопкой "загрузить" (получаем файл pmon2_orgvendors.csv). В дальнейшем, если выяснится, что мы пропустили какого-либо поставщика (это будет видно при обработке справочников поставщиков в программе), можно будет добавить их здесь и выгрузить файл заново.

Далее входим в программу Solaris, пункт меню "интеграции"/"Отчет по ЖНВЛС (остатки) в rznd.ru".

Импорт справочников в программу

Первым делом примем выгруженные с сайта справочники. Входим в форме "отчет по жизненно важным препаратам..." на закладку "справочники", далее выбираем "склады". Экспорта организаций с сайта пока нет, поэтому нам нужно будет лишь запомнить номер ID_ORG каждой нашей организации и перенести вручную его в соответствующий справочник организаций в солярисе. Те фирмы/склады, по которым будем формировать отчет, выделяем двойным кликом (в поле "включить в расчет" появится галочка.

После импорта нужно связать каждый склад/аптеку/организацию с нужным нам складом согласно нашему справочнику. Для этого встаем на нужную строку, нажимаем кнопку "связать данную организацию с нашей" и из списка складов выбираем нужный. Так нужно связать все созданные записи.

Следует обратить внимание, что, если этот список не заполнить, то есть не импортировать список организаций, то программа сгенерирует остатки по ВСЕМ складам, а при импорте нужно будет только указать ту одну-единственную организацию, которая заведена на сайте в справочнике организаций. Если же складов несколько, то обязательно нужно их зафиксировать в этом справочнике. При формировании отчета он будет запрошен в базе либо по списку организаций (всех, выделенных в колонке "включить в расчет"), либо по всей базе, если этот список пуст. Если нужно очистить список, то нажимаем Del на каждой строчке, пока не очистим его.

Далее грузим справочник товаров. Для этого переходим на страницу "справочники", в ней - "справочник товаров в RZND.RU", там нажимаем "обновить данные в буфере" и принимаем файл "Действующий_справочник_ЛС_в_амбулаторном_сегменте.csv".

Далее грузим справочник поставщиков (файл "Оперативный_мониторинг_ЛС.xls"). Если этот справочник будет неполным, что мы обнаружим после формирования остатков, то нужно будет вернуться на сайт, пополнить справочник, выгрузить его заново и загрузить здесь. Справочник поставщиков связывается с нашим по ИНН, то есть в нашем справочнике поставщиков необходимо указать ИНН для каждого.

Формирование отчета

Для формирования отчета по остаткам переходим на закладку "Данные", указываем дату в поле "расчет на дату (вечер)", после чего нажимаем кнопку "Открыть/обновить". Программа сгенерирует отчет по остаткам на указанных в списке организаций складах на вечер обозначенной даты.

Далее нам необходимо провести регистрацию товаров и поставщиков. Регистрация нужна для того, чтобы привести в соответствие каждое наше наименование товара и производителя со справочником товаров и производителей с сайта, чтобы мы могли передать в экспортный файл коды справочника RZND. То же самое касается поставщиков: чтобы в выгружаемый файл попали коды организаций, назначенные на сайте, нам нужно будет произвести их регистрацию.

Регистрация товаров проводится 2-мя способами:

1) нажать кнопку "регистрация штрихкодов. Делать это имеет смысл, если мы пользуемся при приходе товара штрихкодами от производителя (либо вводим их сами сканером, либо импортируем из электронной формы, предоставленной поставщиком). В этом случае программа автоматически найдет в справочнике товаров, взятом с сайта, соответствующие позиции, поскольку в этом справочнике указаны штрихкоды от производителей.

2) Если мы не пользуемся штрихкодами от производителей, или если не все позиции найдены в справочнике сайта, мы пользуемся кнопкой "Регистрация кодов".

Программа при регистрации кодов попытается найти совпадение наименований товаров и производителей. Если поиск неудачен, то она будет искать по списку уже зарегистрированных позиций, и далее, если результат отрицательный - предложит поиск вручную:

При поиске вручную оператор должен ввести часть наименования (см. выделенную область на рис.), которое им ищем (по-умолчанию программа выделит первое слово без окончания), и в полученном списке выбрать товар, соответствующий искомому по наименованию, дозировке, производителю. Так нужно провести регистрацию всех позиций. Те строки, которые не прошли регистрацию, будут выделены в конечном отчете серым цветом, и они не будут выгружены в файл отчета.

Далее необходимо произвести проверку справочника поставщиков на соответствие справочнику, загруженному с сайта. Для этого нажимаем кнопку "регистрация поставщиков"

При регистрации поставщиков программа выдает диалоговое окно со списком поставщиков, зафиксированных при получении отчета по остаткам (не всех, а только тех, товар которых есть в наличии в данном отчете). Те поставщики, которые не найдены в справочнике, загруженном с сайта, будут выделены серым цветом, и в полях "наименование в стат.справочнике" и "адрес в стат.справочнике" будут пустые строки. Программа организовывает соответствие между справочниками по полю ИНН. Это значит, что данное поле должно быть заполнено как в нашем справочнике, так и в стат.справочнике. Если позиция не согласована, то встаем на нее курсором и нажимаем кнопку "согласование, поиск пар, исправление ИНН" (или F2). Если нажать кнопку "согласовать по списку последовательно", то программа пробежит по всем несогласованным последовательно, до конца списка.

Диалог регистрации поставщиков

При регистрации программа покажет поставщика, как он есть в нашем списке, и в поиске предложит по одному из полей найти соответствие со стат.справочником. В этом диалоговом окне можно будет набрать как часть наименования, так и часть адреса либо часть ИНН. После нажатия ENTER программа произведет поиск в стат.справочнике. Если результат будет удачный, то в таблице в нижней части окна мы увидим все результаты. Выбрав нужного, нажимаем на нем ENTER либо кнопку в левой нижней части экрана "Исправить ИНН...".

При регистрации программа произведет одно из действий:

  • Если у поставщика в нашем справочнике не указан ИНН, но указан в стат.справочнике, то в наш справочник вносится изменение поля ИНН, что и порождает соответствие этих этих позиций
  • Если у нашего поставщика указан ИНН, и он указан у поставщика в стат.справочнике, но они не совпадают, то мы исправляем ИНН в нашем справочнике.
  • Если ИНН не указан в стат.справочнике, но указан в нашем, то в буфере импорта программа укажет ИНН из нашего списка поставщиков, создав тем самым связь.
  • Если ИНН не указан нигде, то программа создаст временный ИНН из кода поставщика в нашем справочнике, укажет его в обеих таблицах. После того, как ИНН, наконец, появится на сайте, данные можно будет перезалить и перерегистрировать.

Генерация отчетного файла

После всех описанных процедур можно будет генерировать отчетный файл. Для этого нажимаем кнопку "генерация отчетного файла". Если не все коды могут быть переданы (в силу отсутствия кодов товара либо поставщика из стат.справочника), то программа предупредит об этом пользователя, после чего сгенерирует файл GNVLS_Report.csv в указанном пользователем каталоге.

После этого мы входим на сайт и нажимаем кнопку "импорт" в меню "импорт/экспорт".

по кнопке "обзор" выбираем нужный нам файл и принимаем. Также нужно выбрать режим импорта (например "добавить все строки") и вариант указания организации. Либо выбираем указанную организацию (появится список организаций), либо оставляем на опции "идентификатор в импортируемом файле..

После загрузки нужно просмотреть отчет об импорте на одноименной закладке и принять меры согласно полученным замечаниям. На закладке Журнал импорта можно будет удалить залитый все введенные импортом данные.


Обмен данными

Согласование номенклатурного справочника с внешним списком товаров.

Данный модуль доступен в меню "интеграции" и позволяет администратору баз данных произвести массовое изменение параметров справочника, используя для этого внешний справочник товаров.

Рассмотрим эту процедуру на примере задачи заполнения поля "МНН" в нашем номенклатурном перечне, используя для этого некий другой справочник.

  • Открываем форму "Интеграции/Согласование номенклатурного справочника с внешним списком товаров". Через кнопку "Читать новый файл" принимаем внешний справочник:
    Согласование номенклатурного справочника с внешним списком товаров
  • На закладке "общие" выставляем соответствия полей "наименование", "форма выпуска", а также поле для вставки кода из нашего справочника при согласование - "nn".

    Настройки

  • Далее нажимаем кнопку "согласование" и проходим согласованием кодов справочников все строки. Этой процедурой мы получим связь между внешним справочником товаров и нашим номенклатурным перечнем. Поле "NN" будет в согласованных позициях заполнено кодом нашего справочника.

  • Далее исполняем кнопку "сохранить параметр в списке товаров" и в диалоге запроса полей указываем, значения каких полей из внешнего справочника мы должны перенести в соответствующие им поля из нашего номенклатурного перечня:

    сохранение

    Процедура окончена.


Формирование отчетов по выявленным забракованным сериям

Аптечные организации, заполняющие отчеты по выявленным забракованным сериям, могут воспользоваться отчетными формами в меню "интеграции/отчет по выявленным забракованным сериям" и "интеграции/отчет по выявленному браку (ручной ввод)".

Первая из указанных форм базируется на данных программы (приходы, расходы, справочник забракованных серий) и дает полный отчет по обнаруженному браку и принятым в связи с этим мерам (отгрузка). Однако редактировать данный отчет нельзя.

Отчет по выявленным забракованным сериям

Печатная форма: загрузить

Вторая отчетная форма отличается тем, что данные в ней можно набрать как полностью вручную, так и импортировать из таких отчетных форм, как "картотека", "журнал приходов", "журнал расходов", указанный выше "отчет по выявленным забракованным сериям", а также сама накладная.

Отчет по выявленному браку (ручной набор)

Печатную форму можно загрузить здесь

Все указанные отчетные формы обладают кнопкой "работа с забракованными сериями" , имеющей выход на меню работы с забракованными сериями (команды "просканировать на брак", "фильтровать позиции с выявленным браком", а также экспорт данных в отчет по выявленным забракованным сериям (ручной набор).

После формирования отчета в нужной нам форме мы можем отфильтровать информацию по браку и выгрузить все полученное в отчет по выявленному браку (ручной набор):

После того ,как данные будут сформированы, можно будет открыть отчет и отредактировать, после чего он распечатывается и отправляется контрольные органы.


Настройка Solaris

Настройки программы SOLARIS

Установки программы доступны для пользователя с уровнем доступа администратора или для любого другого, если он в группу пользователей с данным правом, и влияют на работу всей программы. Некоторые из настроек действуют в рамках рабочего места, некоторые изменяют работу всех приложений, обращающихся к рабочей базе данных. (Рабочим местом считается программа, находящаяся в отдельном каталоге или на отдельном компьютере).

Окно настроек состоит из нескольких частей-страниц:

  • Общие
  • Форматы
  • Документы
  • Розница
  • Розница - скидки
  • Розница OFF-LINE
  • Группы
  • Цвета
  • Цены
  • Инвентаризация
  • Перебросы
  • Генератор
  • Налоги
  • Валюта
  • Взаиморасчеты
  • Диапазоны №
  • Разное..

(Локально) "Системная рабочая область (BDE)" и "Каталог баз данных"- Рабочая база данных и их местоположение, совокупность таблиц, составляющая базу данных. Хранится в BDE. Чтобы задать новую рабочую область, нужно указать путь к данным и указать новое имя рабочей области. После нажатия кнопки "принять" программа перезагрузится и с новым заходом будет обращаться на указанный алиас. Для переключения между разными алиасами необходимо переключиться в списке "рабочих областей". Автоматически переключится "каталог баз данных". Для изменения каталога баз данных для активной рабочей области необходимо, не переключая алиас, изменить каталог. После перезагрузки программа обратится на новый каталог.

Все эти параметры хранятся в настройках BDE - Borland Database Engine.

Действует в рамках рабочего места.

(Локально) Склад по умолчанию - указывается склад, который будет автоматически выставляться в накладных и некоторых других формах.

(Глобально) Использовать данные по нескольким складам - если включено, то в данной программе существует несколько складов, что несколько отличает методику расчета от случая, если ведется один склад (например, упаковка данных).

(Локально) Активизирован только один склад - если включено, то в данной программе доступен один склад (указанный по умолчанию), даже если предыдущий пункт включен. Если активизирован только один склад, то во всех формах доступен только он, и все компоненты, где можно было бы переключиться на другой склад, будут отключены. Это дает возможность изолировать рабочее место от видимости других складов. Действует в рамках рабочего места.

(Глобально) Приоритет списания с карточек - действует при пересчете остатков: При пересчете происходит проверка имеющихся в наличии карточек и в списке товаров против данного кода выставляется одна из цен продажи, по выбранному здесь принципу. Также, при пересчете остатков, если в расходной накладной, будет встречен товар, у которого не указана карточка, программа подыщет нужную карточку сама, исходя из данного принципа.

(Глобально) Артикул в списке товара должен быть уникален - если при указании артикула в списке товаров будет предпринята попытка создать два кода с одинаковым артикулом, программа выдаст ошибку.

(Глобально) Монопольный доступ к базе данных запрещает одновременную работу в сети, но теоретически ускоряет работу программы.

(Локально) Запрет на авторедактирование списков дает возможность ограничить пользователя от ошибок, связанных с неосторожным обращением со списками (контрагенты, основания и т.д.). При запрете на авторедактирования для того, чтобы войти в режим редактирования таблицы, нужно будет нажать F2 или соответствующую кнопку на навигаторе навигатор

(Локально) Размещать локальные настройки в собственном каталоге пользователя дает возможность сохранять настройки в собственном системном каталоге пользователя.

(Локально) Режим упрощенной графики - позволяет убрать лишние прорисовки, с целью ускорения работы программы.

(Локально) Стиль ХР для программы - если вы работаете в Windows XP и используете визуальные стили, то данная дает опция позволяет включять или отключать стили ХР для программы.

(Локально) Малый формат даты - указывается собственный малый формат даты, как в Windows (см. форматы данных в Windows), но действущий в рамках одной программы. Большой формат даты - указывается собственный большой формат даты, как в Windows, но действущий в рамках одной программы. Число символов после запятой в денежных единицах, разделитель тысяч в числах, разделитель дробной части, обозначение валюты, разделитель в датах - аналогично установкам Windows, но в рамках одной программы.

Разделитель наименования и формы в товаре - если ничего не указать, то разделителя не будет. Если указать какой-либо символ, то в наименовании, если будет встречаться указанный символ, программа проинтерпретирует его как <наименование><символ><форма>. В распечатках можно вызвать функцию, которая разделит наименование по этому признаку на собственно наименование и форму выпуска. Если данный символ указывается, то при загрузке реестра цен, если отдельно указывается наименование и форма в реестре, то программа закачает наименование с учетом указанного разделителя.

Для сумм прописью - настройки для печати сумм прописью на экране и при печати с использованием функции moneytext. Параметры : (Локально)

настройки для сумм прописью

(Локально) Разделитель в остатках - символ для визуального разделения остатков в накладной (поле "остаток").

(Глобально) Основание для дисконтных карт - основание, используемое в форме "розница" при указании пользователем переключателя "дисконтная карта". Чеки на дисконтников будут сохранены как накладные указанным здесь основанием.

(Глобально) Основание для безналичных чеков - аналогично дисконтникам.

(Глобально) Основание для безналичных чеков 1 - аналогично дисконтникам.

(Глобально) Основание для пенсионного удостоверения - аналогично дисконтникам.

(Локально) Основание для ТЗ - Основание, с которым будут пробиваться чеки за наличный расчет. На каждом рабочем месте своя настройка.

(Глобально) Основание для VIP - аналогично дисконтникам.

(Глобально) Основание для страховых полисов - аналогично дисконтникам.

(Глобально) Минимальная дата накладных, которые можно менять - Ограничение редактирования накладных по дате. Действует только на пользователей из групп, в которых указано данное ограничение.

(Локально) Емкость выбирать из карточки - Переключатель дает возможность - выбирать емкость в расходных накладных из списка товаров, или из картотеки товаров.

(Глобально) Генерировать новые карточки на возвраты от покупателя - Данный переключатель дает возможность генерировать новые карточки на приходы с основанием, код которого начинается на "В" (возвраты). По умолчанию карточки не генерируются, но иногда клиенту это хочется. Данная опция - атавизм, поэтому лучше держать флажок снятым для возвратов, и при этом правильно оформлять возвраты. Если нужно, чтобы возвраты были оформлены новыми карточками и интерпретировались как приходы - делайте новые основания, которые имеют коды, не начинающиеся на "В" (русская В).

(Глобально) Запрещать двойной набор карточки в накладную - если включен, то в одну накладную нельзя выбрать одну и ту же карточку дважды. Такая жесткость дает возможность избежать ошибок с перебором товара при выписывании расходных накладных, в противном случае возможны минуса.

(Глобально) Печать накладной и др. форм документа разрешить только после сохранения - Печать документа возможна только после его сохранения, если документ не сохранен, то программа предложит вам сохранить его.

(Локально) Поставщик - вставить поле "договор" в доп. строку - если включен, то в накладную в поле "доп.строка к контрагенту" будет вставляться поле "договор" из списка контрагентов.

(Локально) Покупатель - вставить поле "договор" в доп. строку - если включен, то в накладную в поле "доп.строка к контрагенту" будет вставляться поле "договор" из списка контрагентов.

(Глобально) Разрешить выбор товара без карточки - дает возможность разрешить выбор товара, если по нему нет в наличии ни одной непроданной карточки. В данном случае товар будет выбран без карточки, минуса будут проигнорированы, закупочная стоимость не просчитана. После того, как появится в наличии товар, и будет произведен пересчет остатков, товар прицепится к новой карточке. По умолчанию эта возможность отключена и она вредна при нормальной работе.

(Глобально) Запретить отрицательные остатки в картотеке при выборе в расходных накладных - запрет на выбор отрицательных остатков. Вы не сможете выбирать товара больше, чем имеется в наличии. Если этот флажок снять, то все будет не так жестко, но Вы все равно увидите выделение контрастным цветом, что остаток отрицательный, к тому же программа несколько раз предупредит, а потом в результате и сообщит, что прошли отрицательные остатки. Так что эта опция не так уж и необходима.

Данная страничка предназначена для формы "Розница"

(Локально) Вести резервный журнал - в рознице заводится журнал, который фиксирует все продажи. Доступ к журналу возможен из соответствующей кнопки в форме "розница". Данная опция действует локально на рабочем месте. Резервный журнал хранится отдельно для каждого рабочего места в локальном каталоге.

(Глобально) Разрешить в качестве F3 кнопку *- В форме РОЗНИЦА при сохранении чека используется горячая клавиша F3. Для желающих в качестве альтернативной кнопки предлагается "*".

(Локально) Кассовый аппарат - Выбор кассового аппарата подключенного к данному компьютеру. Настройка кассового аппарата производится нажатием на кнопку Настройка. Количество и назначение опций в окне настроек зависит от конкретного типа кассового аппарата.

(Локально) Группа товаров пробивается на:- Выбор группы товаров, отдела и устроиства на котором будут пробиваться товары из данной группы. Используется при необходимости выводить чеки для определенной группы товаров на отдельном кассовом аппарате.

(Локально) Настройка аудиосообщений - Можно привесить сообщения к событиям: "сохранение чека", "новый чек"-нажатие первой клавиши в новом чеке, "периодика"-периодическое проигрывание записей.

В соответствующих таблицах указываются полные имена реальных файлов со звуковыми записями, которые проигрываются в случайном порядке. Количество записей может быть не ограничено. Можно ограничить каждую запись временным интервалом (например, для вечерних или дневных фраз). При этом можно попросить компьютер дожидаться окончания проигрывания или продолжать действие параллельно. Событие "сохранение чека" может проигрываться при сумме покупки, начиная с указанной в данном окне.

Для события "периодика" указывается период выдачи сообщений.

(Локально) 5% сумма на 2 отдел - работает, если задействован кассовый аппарат и подключен к компьютеру.

(Локально) 5% с НДС 0% сумма - на 3 отдел - работает аналогично предыдущему.

(Локально) Задержка суммы на экране после сохранения чека - Временной интервал, на протяжении которого на экране после сохранения чека будут отображаться данные из полей "Полученно", "Сдача" и "Сумма". Данная функция используется для модуля торгового зала (SCash).

(Локально) После сохранения чека ыполнить скрипт - Возможность задать программный скрипт, который будет выполняться после сохранения чека.

(Локально) После выбора позиции выполнить скрипт - Аналогично предыдущему.

страница 'Розница - скидки'

Данная страничка предназначена для настройки скидок в форме "Розница"

(Глобально) Активизировать временные скидки - задействовать скидки с указанным здесь же процентом, определенные указываемым здесь же временым интервалом. Скидки могут задействоваться не только во времени, но и по дням недели. При переходе в/из режима скидок программа предупредит пользователя об этом. Действует в рамках конкретной базы данных.

(Глобально) Скидки выборочные (по умолч) - скидки будут действовать только на товар, помеченный в справочнике товаров как "участвующие в скидках".

(Глобально) Скидки для дисконтных карт - "% скидки", которую получают дисконтники. - Чеки с основанием "дисконтная карта" . "Отдел" - отдел через который будет пробит чек. "Штрихкод" - штрихкод, который соответствует данной скидке. При чтении данного кода сканером штрихкодов чек будет пробиваться с выбранными здесь параметрами.

(Глобально) Размер скидки для пенсионеров - Аналогично предыдущему.

(Глобально) Размер скидки для VIP - Аналогично предыдущему.

(Глобально) Размер скидки для страховых полисов - Аналогично предыдущему.

(Глобально) Размер скидки для безналичных чеков - Аналогично предыдущему.

(Глобально) Размер скидки для безналичных чеков (доп) - Аналогично предыдущему.

страница 'OFF-LINE розница'

Данная форма употребляется при торговли через кассу в торговом зале, поддерживающую OFF-LINE-режим. Существуют стандартные (общие параметры), которые характерны для всех касс, несмотря на разные алгоритмы осуществления такого режима. Они здесь и описаны. Более локальные настройки см в форме OFF-LINE.

(Глобально) Число символов в укороченных наименованиях товаров - максимально - 50, то, что запрограммировано. Конкретные настройки нужно смотреть в описании к кассовому аппарату. В Fujitzu, например, это число составляет 17. Укороченное наименование используется для загрузки в кассу.

(Глобально) Максимальный код в кассовом аппарате -для указания максимально возможного кода (PLU) в кассовом аппарате нужно знать, сколько товаров помещается в данном кассовом аппарате. Если указать его здесь, то программа будет предупреждать о переполнении ассортимента.

(Глобально) Замена символов в укороченном наименовании -Экспериментально выясняется, какие символы кассовый аппарат при прокачке в него наименования не берет. Чтобы не терялся смысл в наименовании, их нужно заменить похожими. Например - № заменить на N. В двух строках в соответствующих друг другу позициях указываются символы - вверху - заменяемый, внизу - заменяющий.

страница 'генератор номеров'

Настройки данной страницы используются при автоматической генерации номеров в новых документах:

(Глобально) Обновление номеров накладных (аналогично у приходных ордеров и у счет-фактур) - влияет на генерацию программой новых номеров накладных (приходных ордеров и счет-фактур).

(Глобально) Сквозной номер в накладных (аналогично в приходниках и в счет-фактурах)- вести сквозную номерацию через все склады или наоборот, каждый склад должен иметь свою номерацию накладных (счет-фактур, приходников).

(Глобально) Номерация счет-фактур параллельна накладным- Если предполагается, что номерация счет-фактур равна номерации накладных. При этом, однако, не гарантируется, что все накладные будут со счет-фактурами. Там, где не будет сгенерирован номер счет-фактуры (номер генерируется нажатием соответствующего поля в шапке накладной или при печати счет-фактуры).

Данная страница дает возможность указать программе, в каком режиме рассматриваются налоги НДС и НП.

(Глобально) НДС считать отдельно от цены - если выставлен флажок, то при указании цены в накладной будет предполагаться, что НДС не в том числе, то есть 1.00 цена, значит 0.20 - НДС 20%. Иначе НДС сидит в т.ч., то есть при 1.00 цене НДС будет равен ~0.17, причем НДС в том числе.

(Глобально) Налог 5% считать отдельно от цены - аналогично указанному выше.

(Глобально) Округление сумм налогов от цены (в рознице) - если выставлен флажок, при расчете налогов для проданного товара они будут огругляться до полной копейки. То есть на 1 рубль при налоге НДС 20% без НП в т.ч. он будет равен точно 0.17, что отразится на результате суммирования по всем продажам. Если флажок не выставлен, то получим 0.1667, что в сумме даст несколько иной результат, что, однако, даст более правильный результат, если брать налог со всей выручки по товару с НДС 20% и без НП.

(Глобально) Расчет наценки - Закуп. цена - Наценка может просчитываться просто как разница цен продажи и закупки, которые указаны в накладной, независимо от того, в каком режиме просчитываются налоги, или же с учетом налогов. Если они не в том числе, то можно наценку просчитать как цена продажи - цена закупки + все налоги.

(Глобально) Наценку рассчитать по текущему курсу - Данная опция используется при работе с валютным товаром, для которого его цена указывается в валюте.

Данная страница нужна, если используется пункт меню "взаиморасчеты".

(Глобально) Автоматически вставлять суммы в карточку контрагента - Если взаиморасчеты учитываются в программе, и если мы можем генерировать накладные и вести взаиморасчеты в одной и той же базе данных, то выставление данного флажка приведет к автоматическому размещению суммы по накладной в карточке соответствующего контрагента (поставщик или покупатель) в момент сохранения накладной. Если этого не делать то, во-первых, несколько ускорится процесс сохранения накладной, во-вторых, в данных контрагента не будет отражена данная накладная, что, как правило, не нужно при работе в ТЗ или на складе, в-третьих, это все можно будет делать специальной процедурой в проверке во взаиморасчетах.

(Глобально) Автоматически вставлять суммы в карточку склада - Работает аналогично указанному выше, но для картотеки складов, которая ведется для учета взаиморасчетов между складами.

Данная страница задает диапазон генерации кодов.

((Локально) Диапазон номеров для контрагентов, если используется работа одновременно с несколькими складами, каждый их которых обладает своей копией базы данных, ограниченной собственным складом. При такой работе, когда генерируются новые контрагенты необходимо, чтобы их номера не пересеклись с номерами, генерируемыми на другом складе. При сборе информации со всех складов они лягут без ошибок в общий список. Это достигается заданием диапазонов для каждого склада.

Аналогично для счетов агентов, производителей, органов сертификации, стран и банков.

Генерация кодов в номеклатурном справочнике (при создании нового кода):

  • (Глобально) Генерировать только цифры - При генерации возможно появление строчных букв кириллицы. Если выставить данный флажок, то генерируются только цифры.
  • (Глобально) Начинать генерацию с символа - Если это не 0 и не 1, а, например, 3, то при генерации нового кода мы гарантируем, что будут увеличиваться позиции, начиная с 3-й, не меньше, то есть за 009 пойдет 0090, а не 010.
  • (Глобально) Базовая длина кода (по умолч) - Если указать не 1, а, скажем, 3, то гарантируем, что длина кода будет не меньше 3-х символов. То есть, генерация после 1,2,9 начнется с 001.

Если указать группы или шаблоны для кодов товара, то при расчетах некоторых форм (список накладных, ведомость реализации, приходная ведомость и т.д.) программа будет рассчитывать дополнительные суммы по данным группам. Отдельно указывается группа по СПИРТУ (для фармацевтики).

Можно указать расцветку для определенных событий, которую могут использовать различные экранные формы. Чтобы расцветка была общей для всей программы, все настройки собраны на одну страницу. То есть, если задать красный цвет для отрицательных остатков, то там, где предполагается выделение отрицательных остатков, программа будет задействовать красный цвет, и т.д. В форме СПИСОК ТОВАРОВ для того, чтобы данные цвета начали работать, необходимо разрешить их показ с помощью специального пункта во всплывающем меню окна.

Если Вы не хотите, чтобы событие выделялось в программе каким-либо цветом, то нужно указать черный цвет для шрифта. Если предполагается изменение фона, то для этого указывается белый цвет фона.

На 26/06/01 в программе были доступны следующие расцветки:

Отрицательные остатки
Выделение цветом для отрицательных остатков в различных формах, работающих с остатками.
Отрицательные остатки с учетом неотгруженного товара
Если в программе задействуются неотгруженные накладные, то такие накладные не влияют на остаток, однако в программе отслеживается количество неотгруженного товара, и можно увидеть, какой остаток с учетом неотгруженного товара. При падении данного остатка в минуса будет отрабатывать данный цвет.
Нулевые остатки
Расцветка для нулевых остатков
Незаполненные строки
В накладной используется для сигнализации, что данная строка не будет сохранена. Это произойдет, если не указать количество в данной строке.
Отпускная цена меньше закупочной цены
Сигнализирует в накладной, что наценка отрицательная
Превышение процента наценки
Сигнализирует о превышении % наценки, для товаров с его ограничением. Жизненно важно для фармацевтических предприятий.
Просроченный товар
Другими словами, исходит срок годности
Накладная - отмеченные товары
В накладной можно (с помощью всплывающего меню и горячих клавиш) выделить часть товаров, а потом еще и отфильтровать накладную по ним. Расцветка помогает выделить их визуально.
Не найдена карточка на товар
Сигнализатор о том, что товар выбран без карточки (для расходных накладных).
Не требуется привязка выплаты к товару
Сигнализирует о том, что к данной выплате не нужна привязка ее к товару по каким-либо накладным.
Валютный товар
Выделяет товар, покупаемый за валюту
Весовой товар
Выделяет товары, обозначенные в списке товаров, как весовые
Не указана цена
Не указана цена на товар - используется в накладных. Удобно при расценке товаров.
Дефектура по скорости продаж
Используется в заявках и номенклатурных остатках. Обозначает дефектуру, рассчитанную программой, исходя из скорости продаж, рассчитанной там же.
Выделенная группа товаров
Работает для списка товаров - выделяет в списке коды товаров, если они принадлежат группе товаров, которая в данный момент выделена в окне "группы товаров".
Цена меньше минимальной по номеклатурному справочнику
Если в номенклатурном справочнике указать минимальную цену, то мы сможем с помощью данной раскраски отлавливать ситуации, когда наша цена меньше минимальной цены, указанной в справочнике.
Цена больше максимальной по номеклатурному справочнику
Аналогично минимальной цене
Остаток меньше минимального
Если в номенклатурном справочнике указать минимально допустимый остаток, то при падении остатка товаров меньше, чем указанный, программа будет сигнализировать.
Наличие нескольких цен
Сигнализирует о наличии нескольких карточек с разными ценам на данный код товара.
Пропущено поле "протокол анализа"
Задается для цвета шрифта и для цвета фона. Если поле "протокол анализа" пропущено, по товар будет выделяться указанными цветами, что дает возможность контролировать товары без анализа
Пропущено поле "сертификат"
Аналогично протоколу анализа
Реестр - не найден в реестре цен
Данный товар с указанным производителем не найден в реестре цен.

Данные настройки используются при генерации цен в приходных и расходных документах.

(Глобально) По умолчанию закупочная цена равна цене производителя (или отличаться на определенный процент) - при вводе закупочной цены в приходной накладной автоматически генерируется цена производителя с соответствующим правилом.

(Глобально) По умолчанию цена продажи равна закупочной цене (или отличаться на определенный процент) - при вводе закупочной цены в приходной накладной автоматически генерируется цена продажи с соответствующим правилом.

(Глобально) Цена продажи всегда равна цене закупки - при вводе или изменении закупочной цене цена продажи становится равной ей. Это удобно, если предприятие не предполагает наличия наценки в товаре. Тогда цена продажи не становится бесполезной, она просто дублирует цену закупки.

(Глобально) Не подставлять цену закупки (аналогично и для цены продажи) по умолчанию - Если выставлен флажок, то при вводе новой позиции не будет вставляться цена закупки, вводимая в последний раз по данному коду. Для цены продажи - аналогично.

(Глобально) Разрешить редактировать цену в реестре цен производителей непосредственно из накладной - Данная опция позволит редактировать цену реестра непосредственно из приходной накладной. При этом, если не указан производитель, программа запросит его. Если такого кода у такого производителя не обнаружена, он создастся. Если такой есть, то произойдут изменения непосредственно в реестре. Эта процедура может быть опасна тем, что изменяет данные в списке, на который могут ссылаться другие карточки, поэтому ее можно отключать, и тогда редактировать реестр цен нужно будет на месте.

(Глобально) Реестр - применить новую формулу расчета - Для фармацевтики. Если выставить флажок, то формула расчета максимально допустимой отпускной цены по законодательству будет использоваться новая форма (от 2000 года, с учетом цены в реестре цен). Иначе - по старой схеме (без учета цен в реестре, но с учетом цены в протоколе согласования).

При работе с инвентарной ведомостью, если оператор будет указывать реальный остаток больше, чем имеется в наличии по данным в программе, могут происходить события: запрет, звук Windows (порядковый номер в системном реестре - можно определить экспериментально), или пищалка с определенной частотой и длительностью. В любом случае, данная строка будет выделена экспериментально, поэтому можно ничего не предпринимать.

(ВСЕ Глобально)

Необходимо для генерации парных накладных к расходным накладным по перебросу. При мультискладском учете к расходной накладной с основанием "ПЕРЕБРОС" (коды оснований начинаются на "П") со склада 1 на склад 2 генерируется приходная накладная на склад 2 со склада 1. Она полностью совпадает с расходной накладной, однако нужна для того, чтобы товар был заведен на данном складе 2. Накладные могут генерироваться автоматически без запроса, или по запросу, а также вообще не генерироваться, если предполагается, что обе части вводятся руками - каждая на своем складе.

Отключить проверки связей - только генерация - опция действует, если изменяется ранее введенная накладная по перебросу. Тогда при снятом флажке программа пытается найти сгенерированную ранее парную приходную накладную, и будет производить корректировки в ней. Если флажок выставить, то программа будет только генерировать, без проверки, было ли сделано это ранее.

В приходе проверить равенство цены прихода и цены продажи - если НЕ выставлен предыдущий флажок, то программа будет следить за тем , что при изменении цены переброса, продажная стоимость в карточке принимающего склада изменилась также. Иначе этого не произойдет.

Здесь отслеживаются параметры программы, не попавшие в целевые страницы настроек.

(Локально) Если Вас не устраивают курсоры, которые определены в Windows, то можно для SOLARIS некоторые из них переопределить, указав файл с нужным курсором.

(Локально) Расположение программы -калькулятора -в главном меню основного окна программы есть пункт - вызов калькулятора. Если здесь указать расположение программы калькулятора, то данный пункт будет вызывать ее. По умолчанию запускается стандартный calc.exe, если программа не может его найти, то нужно указать полный путь к нему.

(Локально) Индикатор процесса - на край экрана - индикатор процесса может выводиться посередине экрана компьютера или поскромнее - справа сверху.

(Глобально) Интервалы автоматического обновления и закрытия таблиц изменяются с целью ускорения работы и наоборот, с целью ускорения надежности при сетевой работе. Если увеличить интервал обновления таблиц, то программа будет реже производить автоматическое обновление открытых таблиц базы данных. Если увеличить интервал закрытия таблиц, то программа будет реже закрывать таблицы из общей базы данных, а потом открывать их снова, если они нужны, что займет меньше времени вообще. Однако в этом случае будут увеличиваться ресурсы, требуемые программой SOLARIS для работы, и уменьшаться надежность работы в сети. Лучше придерживайтесь стандартных наборов 10 секунд (10000мс) для обновления и 1 минута (60000 секунд) для закрытия, которые выстраданы долгими и мучительными экспериментами и являются, по мнению автора золотой серединой между скоростью и надежностью.


Настройка Solaris

Размещение локальных настроек рабочего места

Программа солярис позволяет хранить локальные настройки рабочего места а разных хранилищах, что позволяет осуществлять более гибкую настройку рабочего места как на выделенных рабочих станциях, так и в терминальных сессиях.

В настройках программы на закладке "общие" имеем галочки:

1) [x] Размещать локальные настройки пользователя в его общих системных
хранилищах

2) [x] Размещать локальные настройки пользователя в системном реестре.

Возможны варианты:

Галочки не стоят нигде: (-1) (-2) - локальные инишки будут размещаться в каталоге экзешника в виде ini-файлов. Другие настройки (гриды, формы и тд.) - там же.

(+1) (-2) - локальные инишки будут размещаться в каталоге documents and settings пользователя. Любой экзешник solaris.exe, запущенный из любого каталога и имеющий таки же настройки размещения инишек, будет обращаться к одним и тем же настройкам. Другие настройки (гриды, формы и пр.) - в этом же каталоге.

(-1) (+2) - локальные инишки хранятся как ветки в системном реестре(HKey_Current_user\Software\bvsoft\полный_путь_к_солярису). При этом солярис, запущенный из разных каталогов, но с такими же параметрами размещения, будет иметь свои настройки. Гриды и настройки форм хранятся около exe по-прежнему (как в варианте (-1) (-2)).

(+1) (+2) - ветка (HKey_Current_user\Software\bvsoft\solaris). Отличие от предыдущего варианта в том, что одна ветка на все exe, запускаемые из разных каталогов с такими же опциями от имени данного пользователя в системе Windows. Остальные настройки (гриды, формы и пр.), будут храниться как в варианте +1 -2.

По умолчанию определен вариант (-1) (-2). Если в настройках программы мы переключаемся на другой вариант, то нужно помнить, что все остальные локальные опции программы нужно будет настроить заново после перезагрузки.


Сверка перебросов

Перебросы - правильность оформления и проверки

Форма 'сверка перебросов'

Данная форма необходима для сверки перебросов на предмет наличия пары и на предмет наличия связи между ними. Если таблица пуста, то или у Вас нет накладных с основаниями "переброс" (их коды начинаются на "П"), или у Вас все в порядке. Если информация есть в списке расходных накладных, то это значит, что расходы есть, но не сгенерированы приходы, то есть товар ушел со склада 1, но не пришел на склад 2. Если дело в операторской ошибки, то через всплывающее меню можно зайти в расходную накладную и сделать согласование перебросов (кнопка "создать/проверить соответствующую приходную накладную"). Если есть приходная накладная, но нет расходной, то ситуация аналогично, но простой генерацией не отделаемся. Нужно или удалять приходы (следите, чтобы с них не было продаж), или добавить расходную накладную на внутреннее перемещение. Все это делается "руками", и данная форма может разве что показать.

Всплывающее меню Если в обеих таблицах (в расходной и приходной) есть информация и есть соответствия приходов и расходов, то это значит, что товар сгенерирован правильно, но по какой-либо причине внутренняя связь в этих накладных утеряна. Это может быть запрограммировано, если, скажем, накладные забиваются отдельно - на каждом складе своя. Такие записи нужно "согласовать". Чтобы согласовать записи на "автомате", нужно выделить все записи в обеих таблицах с помощью всплывающего меню, после чего с помощью всплывающего меню выбрать "согласовать". Те строки, которые будут согласованы, выделяться серым цветом. Те строки, которые программа не смогла согласовать, останутся неизменными. Эти строки проверяются на предмет их соответствия и, если возможно согласования (нужно здесь быть очень осторожными), то можно руками в приходной накладной в поле ID расх. вписать поле ID из соответствующей позиции в списке расходов.

Самый удобный способ провести согласование - это входить в накладную (расходную) из каждой позиции в списке расходов, и в накладной делать согласование с помощью кнопки согласования перебросов. По окончании данной процедуры в списке расходов будет пусто. Если что-то осталось в списке приходов, то надо удалить эти позиции из приходов.

Для сохранения изменения в базах данных нужно нажать кнопку кнопка 'сохранить изменения в базе данных'. После этого программа заново сгенерирует данные по согласованию, и исправленных Вами позиций здесь уже не будет.


Проверки пропущенных атрибутов в картотеке

проверка пропущенных атрибутов в картотеке

Собственно, не является преступлением пропуск каких-либо реквизитов карточки, тем более, что многие из них могут быть просто не нужны. Однако, если нужно отследить, в каких карточках на складе не указан, скажем, сертификат, или еще какой параметр, то это как раз та самая форма.

Ничего мы здесь не исправляем - это просто аналитическая форма. В некоторых формах, таких, как картотека, есть специализированные фильтры по наличию сертификатов и протоколов анализов. Здесь эти фильтры дублируются.


Проверки в SOLARIS

Проверки в программе SOLARIS

Окно 'проверки в данных'

В данной рабочей форме производятся проверки на логическую целостность данных, которые нельзя исправить автоматически, т.е. это невозможно, или требуется перед тем, как это сделать, привлечь внимание оператора (администратора), к появившейся проблеме. Как правило, даже если Вы устранили проблему, нужно всегда отдавать себе отчет в том, по какой причине произошла данная ошибка, и что надо делать, чтобы этого не происходило.

На 23/06/2001 в программе SOLARIS в данном окне существовали такие проверки:

  • Несписанный товар
  • Двойные карточки
  • Ошибки в номерах карточек (перебросы)
  • Цены производителей
  • Атрибуты карточек в перебросах и возвратах
  • Пропущенные атрибуты в картотеке
  • Списание с карточек по складам
  • Дублирование номеров накладных
  • Списано с будущих приходов
  • Накладные без контрагента
  • Ставки налогов
  • Отрицательные остатки в картотеке
  • Проверка дат и количества в перебросах
  • Проверка накладных из 'чужих' складов

страница 'взаиморасчеты'

Страница "Взаиморасчеты" предназначена для проверки корректности при ведении картотек контрагентов для учета взаиморасчетов.

  • Сверка сумм накладных на складе и в карточке контрагента
  • Сверка оплат по сумме и в товаре в карточках контрагента

Если во время работы программы возникают ошибки, логические, физические или еще какие, о которых необходимо предупредить оператора, то программа выдает диалоговые окна с сообщениями об ошибках. Если в данном месте программистом не предусмотрена специальная реакция на ошибку, то проявится стандартное диалоговое окно с сообщением ошибки, возможно на русском, возможно, на английском языке:

Ошибка в программе!

Сообщение об ошибке можно попытаться расшифровать: кнопка 'дополнительно'

Ошибка в программе!

Всю эту информацию можно сохранить для разработчика, нажав кнопку кнопка 'сохранить'.

Указанная форма дает две возможности: нажав кнопка 'продолжаем' (или ENTER), можно попытаться продолжить ход программы, очень часто ничего плохого не происходит. Если нажать кнопка 'покинуть программу', то программа аварийно завершится. Иногда это бывает единственная возможность выйти корректно из программы. Если такое происходит, то лучше оповестить администраторов, программистов или разработчиков.

С помощью страницы

Страница 'для разработчика' можно будет просмотреть список сохраненных ошибок, который хранится в файле solaris.err, лежащем в одном каталоге с программой solaris.exe. Этот файл можно отослать разработчику.

просмотр файла со списком ошибок


Проверки ставок налогов

проверка соответствия реальных налогов их группам.

При оприходовании товаров в картотеке существуют по паре полей для ввода ставки НДС, и для ввода ставки Налога с Продаж (НП). Первая группа (NDSOUT и Nalog5Out, или НДС прод. и НП прод., или НДС гр. и НП гр.) является признаком принадлежности товара к определенной группе товаров по налогам. Продавать товар будем, скорее всего, с учетом этой информации. Вторая группа (NDS и Nalog5, или НДС и НП, или НДС и НП) является показателем по реально прошедшей в данной накладной ставке НДС и НП.

Для НП это нормально - товар облагаемый 5% НП, может пройти по безналу, то есть без него, значит Nalog5Out=5, но Nalog5=0. Это правильно как для приходной, так и для расходной накладной.

Теоретически и по законодательству правильно будет принимать товар, облагаемый, скажем, 20%НДС, но пришедший от поставщика по каким-либо причинам, с 10% НДС. Если нам это экономически выгодно, то мы можем указать, что товар проходит по 20% группе, и продавать будем с 20%НДС, но реально в приходной накладной снимем 10%, и сумму проведем по 10%, но по группе 20%. Данное правило работает для приходных накладных, и запрограммировано для расходных.

В данной форме показываются отличия в полях НДС в приходах и расходах, а также отличия по НП (для случаев, когда товар проходит по группе 0%, но реально указан НП). Быстрым переходом по всплывающему меню можно попасть как в приходную, так и в расходную накладную для расходов, и в приходную накладную для приходов. Исправления необходимо будет производить непосредственно в накладных.


Сверка остатков в 2 базах

Сверка остатков в 2 базах

Идея проста. Если Вы имеете выделенный склад или магазин, торговый зал с собственным компьютером, и если данные передаются в основную программу с помощью локальной сети или через внешние носители, то очень часто из-за изменений задним числом в одной из баз данных без соответствующих изменений во второй базе, или из-за неправильного выполнения процедуры обмена (пропуски), возникают различия в остатках по данному складу, магазину или ТЗ в двух базах данных. Чтобы выяснить, в каких именно, нужно перелопатить огромные картотеки, или делать нестандартные запросы. Данная форма дает возможность легко увидеть различия в остатках на любое число, с учетом разницы в стоимости или без учета ее, с точной выкладкой в сумме. После получения такой информации можно легко, проанализировав движение товаров, найти и устранить проблему.


Переиндексация в базе данных

Полезная утилита, которая проверяет индексы в базах данных на целостность, что иногда спасает пользователя от непонятных сбоев в программе. Индексы могут портиться при некорректном завершении программы, особенно при отключении питания.

индикатор переиндексации баз данных

Недостатком является длительное выполнение при достаточно больших базах данных. Однако при проведении стандартных операций проверки баз данных рекомендуется проводить и переиндексацию. При запуске программа SOLARIS будет периодически запрашивать переиндексацию баз данных. Не отказывайте ей в этом.

Операция проходит только в эксклюзивном режиме, то есть, если в данный момент к базе данных подключено не более одного рабочего места. В противном случае ничего страшного не произойдет, просто программа выдаст сообщение об ошибке "table is busy".

Внимание! Если переиндексация не прошла из-за ошибки "object not locked", то необходимо перезагрузить программу и сразу же запустить переиндексацию.


Создать индексы заново

Иногда переиндексация данных не помогает - индексы могут быть потеряны безвозвратно - тогда процедура удаления индексов и создания их заново помогает. Еще помогает процедура лечения баз данных.


Процедура лечения базы данных

Процедура восстановления данных - tutil

Если происходили некорректные выходы из программы вследствии зависания системы или отключения питания, то таблицы могут испортиться с возможной частичной потерей данных. Для восстановления таблиц формата PARADOX существует утилита восстановления данных Tutilily (tutil.dll). Для взаимодействия с этой формой и служит данная форма. Вам нужно будет только нажать кнопку "проверить и восстановить" и ждать результатов. Если программа найдет ошибки в базах данных, то она сообщит подробно о том, в какой таблице это произошло, и какая именно ошибка. Если нажать OK на вопрос о лечении, то программа попытается вылечить таблицу (95% успешных восстановлений без потерь данных).

После выполнения процедуры программа сделает проверку баз данных а также переиндексацию.


Проверка структур таблиц

Каждый раз при входе в базу данных программа SOLARIS проверяет соответствие версии себя самой номеру версии себя, заходившей в последний раз в базу данных. Если номера не совпадают, то программа запросит проверку структур таблиц.

При выходе новой версии может предполагаться дополнение или изменение в базах данных, которое данная проверка и производит, поэтому, если ее не провести, то могут появиться "странные" сообщения об ошибках, типа "Поле не найдено".

Также при выполнении данной процедуры производится проверка наличия индексов, которые могли добавиться, или старые - удалиться после порчи данных и выполнения процедуры восстановления данных.

Короче говоря, не отказывайте программе в ее просьбе провести проверку структур таблиц, только не забудьте, что при сетевом доступе к данным все пользователи, кроме Вас, должны быть отключены, иначе программа не сможет открыть таблицы в эксклюзивном режиме, что необходимо для такого рода работ.


Упаковка данных

По мере того, как растет объем данных в базе, уменьшается скорость работы программы. В зависимости от скорости процессора, объема оперативной памяти, загруженности баз данных с точки зрения сетевой работы и прочих характеристик производительности, может складываться ситуация, когда скорость работы программы заметно падает, что непременно вызовет простои и неудобства в работе.

В этом случае можно прибегнуть к упаковке данных. Все приходные и расходные документы вплоть до указанной оператором даты будут удалены из базы данных и перенесены в отдельные таблицы, выполняющие роль архива, а чтобы не испортилась информация в рабочей базе данных (остатки,например), программа вносит в базу данных исходные остатки на дату, указанную оператором перед началом упаковки. Впоследствие данные из архива, при необходимости, можно доставать, можно и дописывать в архив новые периоды. Таким образом можно избавляться от устаревших данных с возможностью перенесения их на съемные носители и следственно, отделения от активной базы данных, что не лишает возможности вернуть их обратно в базу.

диалоговое окно упаковки данных

При выборе данной появится диалоговое окно, в котором будет видно, какие данные на данный момент уже находятся в базе данных, какие находятся в архиве. Перемещением бегунка Вы указываете, что надо сделать: упаковать данные дальше или распаковать часть данных или все данные. После этого Вы нажимаете кнопку "упаковать/распаковать", и процедура начнет работу.

Также здесь доступны некоторые процедуры с архивной базой данных - ее можно физически упаковать и скопировать на дискету или другой носитель (или даже на винчестер, но в отдельном файле), можно удалить, можно востановить с дискеты. Удобно проводить такие действия:

  • скопировать на дискету (при большом объеме данных, разумеется, дискеты не хватит - тогда нужен другой, более емкий внешний носитель);
  • удалить. Если возникнет необходимость восстановить данные из архива, тогда сначала восстанавливается сам архив с внешнего носителя, потом восстанавливаются данные из архива.

Внимание!

База данных в этот момент должна быть занята только Вами, иначе упаковка будет отменена программой. При упаковке очень опасны потеря питания или зависание системы из-за других программ, поскольку в данный момент могут быть задействованы большие объемы данных.


Мягкая упаковка данных (упаковка чеков ТЗ)

Диалоговое окно мягкой упаковки

Мягкая упаковка дает возможность ужать чеки торгового зала, просуммировав количество в чеках с сохранением детализации по цене, дате, пользователю (кассиру, фармацевту), проценту скидки и другим параметром, теряя только детализацию по времени продаж. На рисунке видна степень ужатия чеков по шапкам накладных и по составу накладных относительно к количеству чеков и относительно к общему размеру таблиц.

Упаковка требует эксклюзивного режима - все пользователи должны быть отключены от базы данных.

Перед упаковкой кнопка: кнопка 'анализ' поможет проанализировать результат будущей процедуры на предмет эффективности сжатия. С помощью бегунка можно перетащить дату упаковки на нужную. Повтор упаковки на данных, уже прошедших таковую никак на них не скажется, то есть ничего страшного ;). Нажав кнопку кнопка 'упаковка', Вы начнете процедуру мягкой упаковки, по окончании которой будет произведена переиндексация данных. Обратная процедура невозможна, так что, если по каким-то причинам нужно оставить их, сделайте резервную копию базы, или заведите вторую ее копию.


Полная очистка в базах данных

Данная утилита - только для SysОпов! Если вдруг Вы получили к ней доступ - значит Вы - SysОП. Здесь делается полная очистка баз данных без возможности их восстановления.

окно диалога очистки баз данных

Внимание! Если Вы все же имеете доступ к этой функции, то будьте аккуратны! Не проводите данную операцию, если не уверены в своих действиях.


Обмен конфигурациями рабочих мест с помощью стандартных скриптов и системы Solex

Система передачи правил пользователей используется для автоматизации обмена настройками правил доступа для групп пользователей между центральным складом и аптечными пунктами. Описанная здесь система строится на генераторе и приемщике списков правил в виде ZIP-пакета, встроенном в Solaris, а также на системе обмена файлами Solex.

Алгоритм работы:

  • Сформировать файлы с помощью процедуры встроенного скриптера ExportPolicies(Const OutputDirs :string). Скрипт выглядит таким образом:

    export_policies_to_ap.pas

    // export_policies_to_ap.pas - скрипт экспорта правил доступа для solaris.
    // Устанавливается в офисе, прописывается в меню программы.
    // сформированный пакет считывается солярисом автоматически скриптом import_policies_in_ap.pas,
    // настроенным на сканер каталогов в солярисе.

    const OutputDirs = 'c:\mail\out\Dir1;c:\mail\out\Dir2'; // Каталоги, куда передается файл. Перечисляются через точку с запятой.

    begin
    with TMyWait.create('Идет формирование пакета с данными') do
    try
    exportpolicies(outputdirs);
    CreateHInt('Операция передачи правил завершена.');
    finally
    free
    end;

    end.

    Данный файл может быть включен в офисе в дополнительном меню в программе, подключаемой к центральной базе. Запускается оператором после изменений правил для групп пользователей. Экспортируемыми каталогами являются соответствующие подкаталоги в c:\mail\out (к примеру), сканируемом системой solex на предмет автопочты. Нужно перечислить все подкаталоги, для каждого аптечного пункта, через точку с запятой. Система Solex подхватит при этом все эти файлы и перешлет в пункты.

  • Аптечный пункт принимает файл policies.zip почтой Solex и выкладывает в каталог c:\mail\out (к примеру), указанный в параметрах автопочты.

  • Скрипт импорта принимает данный файл в систему, обновляя тем самым систему доступов в программе.

    import_policies_in_ap.pas

    // Скрипт импорта правил пользователей (policies.zip)

    // DirName должно быть определено одним из следующих способов
    // const DirName = 'c:\mail\in\'; // на случай жесткого запуска по таймеру
    var DirName :string; // Имя базового каталога, в котором происходит поиск, если настроено через сканирование каталогов

    begin
    importpoliciesfromdir(dirname);
    end.

    Данный скрипт указывается в аптечных пунктах в системе автосканирования каталогов, которая запустит его и через параметр DirName передаст имя каталога, в котором произойдут изменения. Нужно указать тот каталог, который используется системой Solex для экспорта (c:\mail\in). Таким образом программа автоматически примет переданные из Solex конфигурации рабочих мест.


Пример настройки для передачи печатных форм

Пример настройки для передачи настроек печатных форм из центральной базы в аптечные пункты

Предлагаемая система передачи настроек печатных форм строится на системе обмена файлами Solex. Оператор выкладывает в каталог передачи Solex нужную печатную форму, а в аптечном пункта срабатывает скрипт для этих типов файлов, который размещает эту форму в соответствующем каталоге своей базы данных.

Алгоритм работы:

  • Разместить файл отчета (*.qrsa или *.fr3 или *.ака) в каталоге c:\mail\out\подкаталог_аптечного_пункта или другом, на сканирование которого настроена система Solex..

  • Аптечный пункт принимает файл печатной формы почтой Solex и выкладывает в каталог c:\mail\out (к примеру), указанный в параметрах автопочты.

  • Скрипт импорта принимает данный файл в систему, обновляя тем печатные формы.

    файл import_repo_forms.pas

    // Скрипт импорта печатных форм

    // DirName должно быть определено одним из следующих способов
    //const DirName = 'c:\temp\22'; // на случай жесткого запуска по таймеру
    var DirName :string; // Имя базового каталога, в котором происходит поиск, если настроено через сканирование каталогов

    var
    FList :TSTringList;
    i :integer;
    path :string;

    begin

    path := includetrailingpathdelimiter(Getaliaspath('dbkassa'))+'RepoEdit\';

    FList := TStringlist.create;
    try
    GetFileList(DirName,FList,'*.qrsa;*.fr3;*.frf',true,true);

    for i := 0 to FList.count-1 do //for i := 0 to FList.count-1 do
    begin
    CopyFile(FList[i],path+extractfilename(flist[i]));
    deletefile(fList[i]);
    CreateHint('Печатная форма '+FList[i]+' скопирована в '+path);

    end;

    CreateHint('Обработано файлов: '+inttostr(FList.Count));

    finally
    FList.free
    end;
    end.


Обмен готовыми печатными формами

Варианты обмена готовыми печатными формами

Печатные формы в системе Solaris создаются двумя движками: QuickReport и FastReport. Каждый из них способен при предварительном просмотре экспортировать печатные формы в файлы разных форматов или в файлы собственного формата, которые можно просмотреть, открыв их на просмотр из предварительного просмотра любой другой печатной формы, либо воспользовавшись пунктом меню "Операции/просмотр готовых печатных форм" в программе Solaris либо SCash. Также можно воспользовать внешними просмотрщиками:

  • Fast Report Viewer (FRViewer) - Бесплатная программа для просмотра печатных форм, созданных движком FastReport (от производителя)

  • RepoViewer - Бесплатная программа для просмотра готовых печатных форм в формате QuickReport от BVSoft.

  • fsexec - Бесплатная программа-исполнитель Fast-скриптов от BVSoft. Нужно открыть печатную форму либо QuickReport, либо FastREport с помощью этой программы (по правой кнопке мыши на файле печ.формы "открыть с помощью...").

  • RepView - Еще одна бесплатная для просмотра готовых печатных форм в формате QuickReport от Zyl Soft.

Также мы рекомендуем пользоваться другими универсальными средствами печати документов, которые делают это не только для системы Solaris, но и для любой другой программы, способной выдать результат на принтер. Такие системы строятся на том, что создают виртуальный принтер в операционной системе, который будет принимать на печать все. что в него посылается, но сохранять это будет в виде внешнего файла, который сохранит полностью внешний вид распечатки, может быть передан кому угодно и распечатан на принтерах принимающей стороны. Системы эти универсальны, ими можно пользоваться для передачи любых готовых печатных форм.

Примеры таких систем:

  • Adobe Acrobat - Система, позволяющая создавать файлы формата PDF, который повсеместно используется, и для просмотра которого ставится программа AcrobatReader. Сам Adobe Acrobat является платным продуктом, но программа для просмотра Acrobat Reader - бесплатная и доступна для свободного скачивания. Также она прилагается ко многим дистрибутивам, которые пользуются документацией в формате PDF. При установке Adobe Acrobat в системе появится его принтер, который при отправке печатных форм на него будет создавать файл в формате PDF, в точности соответствующий по внешнему виду тому, что мы видим на бумаге. Acrobat Reader устанавливается везде, где нужно будет смотреть эти файлы, он же обладает, естественно, средствами печати на реальных принтерах.

  • PDFCreator - sourceforge - продукт, то есть абсолютно бесплатный. Создает принтер PDFCreator, на который можно послать любую распечатку и получить файлы в формате PDF (и не только). Имеет множество настроек. На наш взгляд, пока самый лучший вариант.

  • PDF995 - продукт, который имеет платный и бесплатный режим работы. Создает принтер PDF995, отличается простотой в использовании. Единственный недостаток бесплатной версии - рекламное всплывающее окно при каждой распечатке каждого документа, которое висит на экране несколько секунд, потом автоматически закрывается.

  • qvPDF - еще один sourceforge продукт, судя по отчетам на его страничке, тоже активно развивающийся.

  • MS Office - имеет в своем составе виртуальный принтер, аналогичный указанным, но формат полученного файла - собственный. Для просмотра его потребуется собственный просмотрщик.

  • Foxit PDF Creator - платный продукт :(. Однако у компании Foxit Software есть в предложениях интересный просмотрщик PDF-файлов, бесплатный и легкий, его дистрибутив на порядок меньше дистрибутива Acrobat Reader: Foxit PDF Reader. Мы рекомендуем его, если у Вас нет Acrobat Reader и не очень хочется скачивать достаточно весомый дистрибутив из интернет.

Итак, на текущий момент мы рекомендуем воспользоваться принтером PDFCreator для создания электронных образов печатных форм, а для их просмотра использовать родной AcrobatReader или легкий Foxit PDF Reader. Можно использовать другие элементы, главное - удобно создавать образы печатных форм в формате PDF, он используется повсеместно, и у того, кому мы посылаем распечатки в электронном виде, не составит труда их просмотрет и скопировать на реальный бумажный носитель.

Для передачи файлов между пунктами можно воспользоваться системой обмена файлами MailProcessor ( либо Solex), описанной в данном документе.

Стоит заметить также, что при пользовании движком FastReport в программе любую его печатную форму можно экспортировать в формат PDF. Есть и другие форматы экспорта.


Пересчет остатков в базе данных

Параметры командной строки

Программы Solaris и SCash принимают параметры командной строки. Список параметров с описанием их функций:

  • -user имя_пользователя (или -u)
    • указать при входе имя пользователя. Пример: -user bvrus
  • -password пароль
    • указать пароль.
  • -script полное_имя_файла_скрипта
    • указать файл-скрипт, который должен быть исполнен при запуске
  • -terminate (или -exit)
    • завершить выполнение после старта. Полезно, когда приложение запускается для старта скрипт


Разделение доступа в Solaris

Система разделения доступа Solaris

Все пользователи делятся на группы. Все правила распространяются на всю группу. Группа 1 - администраторы баз данных - для них список правил отключен, поскольку не имеет смысла - они могут все!

В системе описывается практически каждый пункт меню. Если пункт запрещен к использованию, то с него снимается галочка и при загрузке программы с пользователями из данной группы соответствующие пункты меню и кнопки будут удалены.

Для уточнения, какие действия разрешаются (запрещаются) пунктом, подведите к нему курсор - появится подсказка, которая попробует пролить на это свет.

Правило задается для всей группы, пользователь может принадлежать только одной из них, но его можно перемещать из группы в группу (захватите мышкой и тащите пользователя в нужную группу).

Кроме пунктов меню в программе можно описать доступ к компонентам общего плана

  1. Печать и доступ к редактированию печатных форм
  2. Работа с таблицей: Редактирование внешнего вида, Быстрая печать и Экспорт данных.
  3. Доступ к общим настройкам программы (общий и частичный).
  4. Доступ к накладным, оформленным другими пользователями (отдельно на изменение и отдельно на просмотр).
  5. Доступ к настройкам панелей кнопок в основном окне программы.
  6. И многое другое..


Разграничение доступа и пароли в программе SOLARIS

При инициализации программа запрашивает имя пользователя и его личный пароль.

Запрос пользователя при входе в программу

Обычно бывает достаточно ввести пароль (имя пользователя не вводить), после чего нажимается ENTER.

В демонстрационной базе данных укажите пароль '1'.

Существует список пользователей , который можно пополнять и редактировать. Каждый пользователь имеет свой пароль( уникальный). Никто не может войти в программу без предварительной регистрации в списке пользователей. Регистрацию нового пользователя может провести любой существующий пользователь: ему при входе необходимо будет указать свой пароль для подтверждения прав доступа и нажать кнопку "новый пользователь" в диалоговом окне регистрации.

Все пользователи разделены на группы, в которых описаны правила доступа к программе. Правила описываются для всей группы. Пользователь может перемещаться по необходимости из группы в группу. Наивысший доступ получает администратор баз данных. Он может все и отвечает за сохранность баз данных. Остальные пользователи имеют уровни доступа более низкие.

Разделение уровней доступа находится в постоянной доработке и при наличии пожеланий на эту тему необходимо обращаться к разработчику.

Подробнее


Передача справочника забракованных серий из ЦБ в АП

Передача справочника забракованных серий из центральной базы в аптечные пункты

Задача: сформированные в центральной базе справочники забракованных серий передать в аптечные пункты.

Передача осуществляется с помощью 2-х скриптов: ExportBadSeries.pas и ImportBadSeries.pas (см http://solr.ru/download/solaris/scripts/badseries). Работа производится следующим образом: Первый скрипт формирует пакет с данными BadSeries*.zip, который кладет в каталоги, прописанные в константе OutputDir, в подкаталоги, прописанные в соответствующих полях "Код альтернативный" справочника контрагентов (только для тех из них, которые помечены как склады). То есть, если есть склад 2, у которого в альтернативном коде прописано "СКЛАД2", а в константе OutputDir прописано значение 'c:\mail\out', то пакет будет сформирован в каталоге 'c:\mail\out\СКЛАД2'. Далее предполагается, что соответствующая почтовая программа (MailProcessor, Solex или другая) подхватит этот файл и отправит адресату (складу 2). При поступлении файла по указанному адресу он будет выложен в каталог приема вложений, откуда будет подхвачен вторым скриптом и обработан. В результате получим копию справочника забракованных серий из офиса в аптечном пункте.

1) ExportBadSeries.pas: устанавливается в центральной базе. Скрипт можно установить одним из следующих способов:

  • Прописать в пользовательском меню. В этом случае пользователь должен будет запускать скрипт вызовом соответствущего пункта меню.
  • Прописать в назначенных заданиях старт соляриса с данным скриптом
    (пример командной строки: c:\solaris\solaris.exe -user \script c:\solaris\scripts\ExportBadSeries.pas -password 1)
    Назначенная задача должна запускаться системой в установленное время
  • Прописать скрипт в периодической процедуре программы Solaris или MailProcessor или Solex*. В случае, если скрипт запускается не самим солярисом, то необходимо позаботиться о правильной константе "Databasename" в скрипте, которая должна содержать правильный алиас к рабочей базе данных.

Скрипт сгенерирует zip-пакет с забракованными сериями, полный либо частичный, то есть с последней отправленной точки. Полный пакет отправляется периодически, количество дней в периоде указывается в константе FullDataPeriod скрипта (по умолч. 30 дней). Когда отправляется полный пакет, программа проверит не только добавления и изменения, но и удаленные строки.

Скрипт передает только справочник забракованных серий, но вместе с кодами производителей и товаров. Предполагается, что все необходимые коды товаров и производителей передаются своевременно стандартными пакетами обмена, поэтому пакет с забракованными сериями не содержит системных справочников товаров и производителей, лишь ссылки на их элементы.

2) ImportBadSeries: скрипт устанавливается в настройках сканера каталогов. Как только пакет badseries.zip или badseries_full.zip окажется в указанном каталоге, скрипт съест его. Скрипт не привязан к solaris.exe, его можно запустить и из MailProcessor.exe или Solex*.exe, но в последних случаях нужно позаботиться о константе "databasename" (имя рабочего алиаса).


Запуск новой аптеки, имеющей текущие остатки в электронном виде

Запуск новой базы (аптека, магазин, торговая точка), имеющей текущие остатки в электронном виде

Данная задача возникает в двух случаях:

  • При переходе на программу Solaris с другой программы, и в ней имелись актуальные остатки.
  • При переходе базы данных в Solaris, работающей самостоятельно и независимо, в централизованную систему ведения (то есть, под общие справочники товаров, производителей, пользователей и др.

Техника выполнения и алгоритм достаточно просты: Мы должны получить текущую картотеку как можно более подробно в файле формата DB,DBF, XLS, CSV, TXT с разными разделителями. Короче, в формате, доступном для импорта этой таблицы как накладной. Далее нужно принять эту картотеку как приходную накладную на имя нового заведенного склада. Если в картотеке есть поле "поставщик" (желательно его имя), то во время импорта накладной данную картотеку можно принять столько раз, сколько в базе разных поставщиков в текущий момент, отфильтровав по этому полю. Фильтрацию по данному полю можно провести или на этапе сопоставления полей (в нижней части окна "копирование таблиц" есть нужные фильтры), или (предпочтительно) на этапе генерации накладных в окне "импорт накладной" на закладке "фильтрация списка". Если использовать фильтрацию списка, то форма "Импорт накладной" не закроется после приема накладной, а останется доступно для дальнейшей обработки. После того, как будет принята накладная от поставщика, можно будет вернуться к форме "импорт накладной", применить другой фильтр к полю "поставщик" и принять другую накладную.

Необходимо отметить несколько моментов:

  1. Самый большой объем работ будет произведен на этапе согласования справочников. Так же, как и при импорте накладных.
  2. Желательно в импортируемой таблице получить как можно больше полей, в том числе и "наименование товара", "наименование производителя", "страна производителя", "серия", "цена закупки", "цена розницы", и тд.
  3. Если есть поле "поставщик", то при импорте его нужно сопоставить с полем "Поставщик", и применить к нему фильтры, оформив от каждого поставщика таким образом по одной накладной
  4. Обязательно нужно поле "Цена розницы". При импорте его нужно сопоставить с полем "Цена Розницы". Оно специально заведено для таких случаев.
  5. Поля "код товара", "код производителя", "Код страны", "код сертиф.органа" - не нужны при импорте. У нас будут собственные коды, а данные коды лишь испортят импорт.

Если мы производим первый старт, то полученная база будет запущена как рабочая. Если же мы вводили данные в центральную базу, то нам нужно теперь создать чистую базу данного склада, которая будет поставлена в его АП/магазине/Торг.точке. После создания чистой базы туда нужно импортировать полученные накладные стандартным обменом пакетами, принятым в системе Solaris.


Заявки

Генерация отчетов об объемах ЖНВЛС

Отчеты включают в себя формирование данных в ведомости реализации и дальнейшая их печать или экспорт в excel-файл. Отчеты строятся по двум приложениям, №2 и №5. Для фильтрации данных в программе по жизненно-важным необходимо, чтобы на всех жизненно-важных препаратах в справочнике товаров стояла пометка "Жизненно-важный".

Что необходимо:

  1. Обновить программу до версии 5.8.5.6 (от 04 февраля 2010г). В этой версии поправлена детализация в ведомости реализации, а также добавлены расчеты необходимых в отчетах сумм. Новая версия программы размещена здесь: www.solr.ru/download/solaris/solaris.7z.exe
  2. Скачать файлы отчетов: http://www.solr.ru/download/solaris/reports/gnvls.zip ( в архиве 2 файла формата fr3, можно скачать их по-отдельности с каталога http://solr.ru/download/solaris/reports). Файлы fr3 нужно разместить в каталоге базы данных ,в подкаталоге repoedit (каталог, где хранятся все печатные формы.

Дальше можно входить программу и работать. Отчет строится на основе ведомости реализации. При формировании ведомости необходимо выставить следующие параметры:

  1. Установить начальную и конечную даты документов на закладке "общие".
  2. Установить фильтрацию по списку оснований на закладке "основания" (можно по правой кнопке меню на списке оснований выбрать пункт "Выделить все основания, являющимися чеками в ТЗ". Или сделать выбор вручную.
  3. Установить фильтрацию ЖНВЛС (или на закладке "общие" в поле "фильтр жизнено-важных" выбрать пункт "Жизненно-важные", или отфильтровать товар по соответствующей альтернативной группе, если признак ЖНВЛС устанавливается там).
  4. На закладке "детализация" включить пункт "детализация по производителям". Если этого не сделать, то производители не попадут в приложение 2.

После того, как ведомость сформируется, выходим на печатные формы. В диспетчере печати выбираем один из нужных вариантов: "Данные об объемах ЖНВЛС (прил 2)" либо аналогичный " .. (прил 5)". Выходим данные на предварительный просмотр. Перед тем как сформировать данные, программа высветит диалоговое окно, где будут запрошены параметры:

  • "НДС в том числе" или "выделить НДС из цены" : для формирования разновидностей отчетов с НДС и без НДС. Если выделить НДС из цены, то в отчетах будут добавлены маркеры "(без НДС)" в соответствующих колонках, а цены и суммы будут пересчитаны за вычетом НДС.
  • "Название организации". Можно указать здесь название организации, чтобы оно сразу пропечатывалось в заголовке отчета
  • Коэффициент пересчета планируемого количества и коэффициент пересчета планируемой цены. Если ничего не указать, или указать 0, то колонки "плановый период." будут пустыми. Если указать 1, то там будут значения, соответствующие аналогичным колонкам в полях "отчетный период". Если установить, скажем, 1.2, то значения колонок будут на 20% выше, чем соответствующие колонки с отчетным периодом. Коэффициент пересчета количества влияет на количество, коэффициент пересчета цен влияет на цены. Если планируется увеличение количества на 20%, то нужно указать коэффициент пересчета количества =1.2 . Если планируется увеличение цен на 20%, то ставится 1.2 в коэффициенте пересчета цен.
  • Бесконечная страница: Если мы планируем не печатать отчет, а вывести его в Excel, то для того, чтобы заголовки таблицы не пропечатывались в excel-файле столько раз, сколько страниц займет отчет, нужно выставить этот флажок.

Когда на экране будет сформирован отчет, можно будет его распечатать или воспользоваться кнопкой "экспорт", где выбрать один из пунктов: "Документ Excel (OLE)..." - вариант, когда на компьютере установлен MS Excel, или "Open Document таблица...", когда предполагается работа с файлом xls в пакете OpenOffice.


Редактор отчетов

Редактирование печатных форм

Универсальный редактор печатных форм форматов QuickReport, FastReport, Excel.

Вызывается при выборе команды "Сохранить\на принтер..." из любой формы, имеющей данную функцию. В появившемся окне возможен выбор следующих функций:

  1. Просмотр "на экране" - предварительный просмотр одного из сохраненных вариантов печатной формы текущего документа. Форма предварительного просмотра позволяет просмотреть весь документ с возможностью масштабирования, начать печать, сохранить или загрузить документ в файле формата QuickReport-3. Предварительный просмотр
  2. Вывод на печать одного из сохраненных вариантов печатной формы текущего документа. Число вариантов не ограничивается.
  3. Экспорт (для Excel)
  4. Редактор - вызов формы "Редактор отчетов" для текущего документа. На форме "Редактор отчетов" выводятся все объекты, которые можно использовать при создании печатной формы.

    Редактор печатной формы в QuickReport:

    Собственно редактирование отчета

    Редактор печатной формы в FastReport:

    Собственно редактирование отчета

    Редактирование печатных форм формата Excel производится непосредственно в MS Office и OpenOffice

    Объекты QuickReport могут быть следующих типов:

    • Выражение- арифметические выражения.
    • Поле содержащее табличные данные - на экран выводится наименование данного поля. Его значение можно увидеть при предварительном просмотре;
    • Ярлык - строка любого текста, заголовок или комментарий;
    • Мемо поле - поле, содержащее любое количество строк текста;
    • Фигура - одна из возможных декоративных фигур: линии, рамки, эллипсы и т.п.;
    • Картинка - любая картинка формата .bmp,.jpg,*.wmf,*.emf, загружаемая с диска;
    • Системные данные - время, дата, номер страницы и т.д.
    • Вставка Rich-Текста . Свойства всех объектов редактируются с помощью дополнительного окна "Параметры", необходимый объект при этом должен быть выделен. Размеры объекта и его расположение на форме можно редактировать с помощью мыши. Вызвать окно "Параметры" можно двойным щелчком левой кнопки мыши по участку формы "Редактор отчетов", свободному от объектов. Имеется возможность создания новых объектов с помощью соответствующих кнопок на форме "Параметры". Там же расположены кнопки для сохранения и считывания данных по одному из выбранных вариантов печатной формы. Каждый объект может быть отключен с помощью соответствующего переключателя или пункта контекстного меню. Отключенные объекты на печать не выводятся и отображаются на форме "Редактор..." перечеркнутыми красными линиями.
  5. Отмена - отказ от работы с печатными формами.

См. Заметки к форматированию выражений в QuickReport

СМ. Список функций, обрабатываемых в отчетах QuickReport.


Конструирование выражений

Выражения, используемые в свойстве "Expression" или “Текст” компоненты "Выражение", доступных при редактировании отчетов

Операторы: + - * / = < > <= > = Not And Or
Поля таблицы: Table.Field

можно просто [Field]

 - где table - имя компоненты TTAble, указанное в заголовке окна редактора Field - поле таблицы
Функции:

if(<выражение>,<результат1>,<результат2>)

аналог: если(..)

 если<выражение> - истина, то результат1, иначе - результат2
str(<x>)

аналог: строка(..)

 переводит число в строку

upper(<x>)

аналог: верхрег(..)

переводит строку в СТРОКУ

lower(<x>)

аналог: нижнрег(..)

переводит СТРОКУ в строку

pretty(<x>)

аналог: Первыйверхрег(..)

переводит стРоКУ в Строку

time

аналог: время(..)

текущее время (в момент печати)

date

аналог: дата(..)

текущая дата

copy(<X>,<позиция>,<длина>)

аналог: подстрока(..)

 выделяет подстроку из строки
sum(<x>) | суммирует значения полей <x>в таблице
count(<x>) | количество записей в таблице детализации
max(<x>) | выводит максимум значений в таблице
min(<x>) | выводит минимум
average(<x>) | выводит среднее значение

true,false

аналог: Истина и ложь

"Истина" и "ложь"

int(<x>)

аналог: целаячасть(..)

целая часть числа

frac(<x>)

аналог: дробнаячасть(..)

дробная часть числа

sqrt(<x>)

аналог: кореньквадратный(..)

корень квадратный

div(<x>,<N>)

аналог: деление(..)

целочисленное деление

typeof(<x>)

аналог: тип(..)

тип числа

formatnumeric(<f>,<n>)

аналог: форматчисло(..)

форматирует число N в строку формата F
Расширенные функции:

MONEYTEXT(<EXP> [,<OKPUNCT>][,<OKDIGITS>] [,<OKNULLKOP>][,<OKCURRTEXT>] [,<POL(1-MALE,2-FEMALE,3)])>)

Аналог: суммапрописью()

  • Expr - выражение, OkPunct-логическое - признак обязательности точки в конце( истина по умолчанию), OkDigits - "копейки - цифрами" - по умолч. Истина, OkNullKop - "обязательность показа копеек, даже если ноль, по умолч. Ложь, OkCurrText - признак обязательности вывода текста "рублей" или "копеек" - по умолч. - Истина,
  • pol - в каком роде должна выдаваться валюта[..] - означает необязательность параметра
 Выдает сумму прописью : Двадцать тысяч тридцать один рубль двадцать две копейки.
Summary(<ParType>, <ParSummary>, <KOL>, <CENA>, <IsRS>, <NDS>, <Nalog5>,[<NDSGroup>], [<Nalog5Group>]

Аналог - сумма налог

Partype: - тип выводимой функции

  • "StSumma" - Сумма
  • "StSummaTov" - Сумма за товар без налогов
  • "StSummaAll" - сумма за товар с налогами
  • "stNalog5" - сумма налога 5%
  • "stNDS"- сумма НДС, начиная с версии 4.5.0.6:
  • "Summa"- Сумма
  • "SummaTov"-Сумма за товар без налогов
  • "SummaAll" - сумма за товар с налогами
  • "Nalog5" - сумма налога 5%
  • "NDS"- сумма НДС,

ParSummary - параметры фильтрации по группам составляется как строка с перечислением через запятую. Порядок роли не играет

  • "spGrNDS0"- Группа НДС 0%
  • "spGrNDS10"- Группа НДС 10%
  • "spGrNDS20"- Группа НДС 20%
  • "spGrN5"- Группа облагаемых 5%
  • "spGrNotN5"- Группа необлагаемых 5%
  • "spValNDS0"- товары с реальным НДС 0% в накладной
  • "spValNDS10"- товары с реальным НДС 10% в накладной
  • "spValNDS20"- товары с реальным НДС 20% в накладной
  • "spValN5"- товары,реально обложенные 5% в накладной
  • "spValNotN5"- товары, реально не обложенные 5% в накладнойначиная с версии 4.5.0.6:
  • "GrNDS0"- Группа НДС 0%
  • "GrNDS10"- Группа НДС 10%
  • "GrNDS20"- Группа НДС 20%
  • "GrN5"- Группа облагаемых 5%
  • "GrNotN5"- Группа необлагаемых 5%
  • "NDS0"- товары с реальным НДС 0% в накладной
  • "NDS10"- товары с реальным НДС 10% в накладной
  • "NDS20"- товары с реальным НДС 20% в накладной
  • "N5"- товары,реально обложенные 5% в накладной
  • "NotN5"- товары, реально не обложенные 5% в накладной

Например: "spGRNDS10;spGRNalog5" - означает, что надо фильтровать товары, облагаемые 10% НДС и 5% налогом с продаж

  • KOL - Исходное количество, над которым будет произведено действие
  • CENA - Исходная цена, над которой будет произведено действие. Можно указывать сумму, тогда количество=1
  • IsRS - Указывает, что это розничные цены нужно при разнице в округлении для приходов и расходов.
  • NDS - реальное значение ставки НДС по накладной
  • Nalog5 - реальное значение 5% налога по накладной
  • [NDSTOV] - принадлежность группе НДС по законодательству по умолч. = NDS
  • [Nalog5Tov] - принадлежность 5% обложению.По умолч. = nalog5
 Исчисление сумм и налогов исходя из имеющихся ставок и настроек
QueryField(<SQL TEXT>)ЗАПРОСПОЛЯ(<SQLTEXT>)

аналог: ЗапросПоля()

 Выборка с использованием sql QueryField("select nomer from table1 where id=10") - выдаст первое поле в первой строке результирующей таблицы, полученной в запросе.

TABLEFIELD(<TABLENAME>, <FIELDNAME>, <'FIELD1'= 'VALUE1', 'FIELD2'= 'VALUE2' [,..]> [,CASEINSENSITIVE=FALSE] [,PARTIALKEY= FALSE] )

аналог: ПОЛЕТАБЛ(..)

  • TABLENAME -имя таблицы напр. "table1.db"
  • FIELDNAME-имя выводимого поля
  • 'FIELD1'='VALUE1',
  • ''FIELD2''=''VALUE2''
  • [,..]-параметры поиска,например.: id=10, name="СЛОВО", country="RUS" CASEINSENSITIVE - не различать регистр, по умолч. ложь, PARTIALKEY найти хотя бы похожий по умолч. ложь
 -поиск в таблице и возврат значения поля
ROUND(<Exp>,[N]) | Округление числа до N знаков, по умолчанию =0, то есть до целого.
ABS(<Exp>) | Абсолютное значение.
IsNotNull(<Exp>) | =1, если <EXP<>0, иначе =0.
Equals(<Exp>,<Exp>, [<Exp>,..]) | =1,если все значения равны, иначе =0.
Quoted(<Exp>) | Взять Exp в кавычки, результат - строка.
Переменные: AppStartTime - время запуска программы
AppStartDate | - день запуска программы
AppName | - имя программы
PageNUmber | - номер страницы
ColumnNumber | - номер колонки
ReportTitle | - заголовок отчета
Локальные функции, только для проекта Solaris: UserProgram Возвращает имя пользователя программы.
UserProgramID | Возвращает ID пользователя программы.
GetMaxCena(<percent>,<FirstCena> [,<ReestrCena])

Аналог: РЕЕСТРЦЕНА(..)

Возвращает максимально допустимую цену, исходя из цен производителя в протоколе согласования и цены в реестре, если таковая имеется. Расчет будет производиться по одной из формул, указанных в настройках программы.
GetReestrCena(<PARAM (CENA, CENABAKS, LASTDATA, FIRSTDATA, CURRBAKS)>, <NN>, <PRODUCER> [,LastDATA])

Аналог: РЕЕСТРЦЕНА(..)

Возвращает один из параметров, (напр. 'CENA') в реестре Государственных цен, по входным данным : КОД, ПРОИЗВОДИТЕЛЬ и, возможно, последняя дата в реестре, в случае, если хранится хронология изменения цен в реестре.
GETTOVARNAME(<Exp>)

GETTOVARFORM(<Exp>)

Если Exp - это строка, содержащая наименование товара, то оно может состоять из двух частей - "наименования" и "формы". Символ-разделитель в данном случае указывается в настройках программы, и обе функции учитывают эти настройки.


Форматирование выражений

Спецификатор | Значение
0 | определяет шаблон для цифры. Если цифра – то будет подставлена цифра. Если пусто, то будет подставлен "0".
# | аналогично "0", но пустые символы подменяться нулями не будут.
. | Положение десятичной запятой.
, | Положение разделителя тысяч.
E + | Экспоненциальный формат. Если любая из строк ' E + ', 'E-', ' e + ', или 'e-' содержатся в строке формата, номер, форматируется, используя экспоненциальный формат.
'Xx' / "xx" | символы, закрытые в единственных или двойных скобках выходят как есть и не воздействут на форматирование.
; | Отделяет секции определений для положительного, отрицательного, и числа ноля в строке формата.
Крайний левый '0' перед десятичной запятой в строке формата и младшем разряде и '0' после десятичной запятой в строке формата | определяют диапазон разрядов, которые всегда представляются в выходной строке.

Форматируемое число всегда округляется к последней десятичной позиции в зависимости от строки формата. Если строка формата не содержит десятичную запятую, форматируемое значение округляется к самому близкому целому числу.


Работа с таблицами

Над всеми выводимыми таблицами можно производить поиск, экспорт во внешние таблицы, редактировать колонки. Данные команды всегда доступны из всплывающего меню к таблице (которое, как известно, вызывается нажатием правой кнопки мыши на таблице).

Всплывающее меню к таблице со стандартным набором

Поиск в таблице (горячая клавиша CTRL+F) предоставляет универсальный сервис быстрого поиска для таблицы в любой из колонок по любому содержимому.

Сохранить в файле процедура экспорта данных из таблицы во внешнюю с целью дальнейшей обработки или передачи. Возможны форматы сохранения - таблицы ".DBF" и ".DB", ".TXT" -текстовые файлы, с табуляцией в качестве разделителя - отлично принимаются различными табличными процессорами в качестве буферного типа для перевода в свой формат, а также файлы ".XLS" - Excel-формат. Для сохранения в Excel-формате необходима установленная на данном компьютере программа Excel.

Набор закладок дает возможность поставить закладку на определенной строчке в таблице, и в дальнейшем к ней вернуться. Закладок может быть несколько.

Настройка таблицы Настроек у таблиц много, и данная процедура дает к ним доступ. С помощью данной процедуры можно, к примеру, убрать лишние колонки из таблицы или добавить недостающие (при условии, что существуют поля, которые они будут отображать).

Быстрая печать позволяет распечатать таблицу, если для этого нет более продвинутых способов. Предварительно выводится диалоговое окно с примитивными настройками для печати.

Программа предоставляет доступ к всем этим возможностям по умолчанию. Однако, при желании можно их отключить. Делается это в системе разделения доступа в программе SOLARIS. В случае, если данные возможности отключены, они не будут появляться во всплывающем меню.


Поиск в таблице

Поиск в таблице осуществляется выбором команды popup-меню "поиск в таблице" (нажать правой кнопкой на таблице) или с помощью набора кнопок Ctrl-F. Данная команда позволяет с помощью стандартного диалогового окна "поиск" найти любой символ в таблице.

диалоговое окно поиска в таблице

Поиск можно вести снизу вверх или сверху вниз, по одной колонке или по всем сразу, с учетом и без учета регистра, по отрывку или по целому слову.

диалоговое окно поиска в таблице во время работы

Если процедура работает слишком медленно, то можно ее остановить, нажав "Отмена" или ESCAPE. Следующим ESCAPE можно закрыть данное окошко.


Закладки в таблице

При выборе меню "Закладки" появится дополнительное меню

с помощью меню или горячих клавиш ALT+0, ALT+1 .. ALT+9 делается закладка в таблице. Далее с помощью меню или клави CTRL+0, CTRL+1 .. CTRL+9 производится переход на ранее сохраненную закладку.

Закладки действуют до тех пор, пока таблица не закроется или не исчезнут строки, на которые ссылается закладка.


Экспорт данных из таблицы

Экспорт данных в таблице осуществляется выбором команды popup-меню "сохранить в файле" (нажать правой кнопкой на таблице). Данная команда позволяет сохранить данные как они есть в файлах различных типов:

Диалоговое окно выбора файла

Таблица Paradox (.db), таблица DBF (.dbf), текст (.Txt) с табуляцией в качестве разделителя (для удобства чтения ее другими текстовыми редакторами), документ Word (.doc), таблица Excel 97 (.xls). Для сохранения в Word и Excel необходимо наличие установленных на компьютере программ Word и Excel. Формат .txt является универсальным механизмом обмена данными между различными программами и наиболее подходит для неформатированного обмена. Таблицы .DB и .DBF скорее всего подойдут для подготовленного пользователя.

Диалог выбора колонок

После выбора типа и имени указываются колонки, которые хотелось бы видеть в конечном файле. После этого таблица сохраняется. Если данная таблица однажды сохранялась, то настройки таблиц из предыдущего сеанса можно восстановить, нажав кнопка 'восстановить настройки'. Флажок 'показать результирующую таблицу' можно снимать, если не нужно тут же просматривать результат сохранения, что даст экономию времени.


Редактор таблицы

Редактирование внешнего вида таблицы

Диалоговое окно редактирования внешнего вида таблицы

Редактирование в таблице осуществляется выбором соответствующего пункта меню. Появляется список колонок. Передвигая колонку как строку в списке вверх-вниз, Вы изменяете расположение колонки. Можно изменять ширину колонки, управлять ее видимостью, заголовком, выравниванием содержимого и выравниванием заголовка, цветом фона и шрифта и собственно шрифтом.

Можно управлять возможностью редактирования колонки, если вообще предполагается возможность редактирования таблицы. Данная функция может быть полезна как для профилактики (запрет на редактирование колонки, чтобы случайно не испортить), так и для системы ограничения доступа ( в этом случае для пользователя отключают возможность редактировать таблицу).

С помощью кнопок 'добавить' и 'удалить' кнопки '+' и '-' можно добавлять колонки, если они существуют в таблице-источнике, а также их удалять, но только, если указанная колонка не 'зашита' в программу изначально (в этом случае, если их надо убрать, их делают невидимыми).

С помощью кнопок '+' и '-' кнопки '+' и '-' можно масштабировать шрифты во всей таблице сразу.

Редактировать ширину колонки можно также непосредственно, без данного диалогового окна: если указать мышкой на границу между двумя заголовками, то курсор мышки примет вид двунаправленной стрелки, и можно нажать левую кнопку мыши и, не отпуская ее, протащить границу вправо или влево. Положение колонок относительно друг друга изменяется, если нажать левой кнопкой мыши на самом заголовке и, не отпуская, протащить ее влево или вправо. Когда отпустите кнопку мыши, данная колонка окажется на указанном месте.

Настройки таблицы на странице 'опции'

  • кнопка 'показать заголовок' - если данная кнопка нажата, то в таблице будут показаны заголовки столбцов. В противном случае они отключаются, и в таблице Вы увидите только строки.
  • кнопка 'показать индикатор' - индикатор в левой части таблицы полезен для отображения статуса строчки (просмотр, редактирование, вставка).
  • подсказка для ячеек, в которых не помещается информация - включение подсказки для ячеек, в которых не помещается весь текст. В этом случае будет отображено окно подсказки, содержимым которого будет полный текст.
  • кнопки 'выделение строки целиком' и 'выделение одновременно нескольких строк' - кнопки 'выделение строки целиком' и 'выделение одновременно нескольких строк'.
  • кнопки 'всегда показывать редактируемую ячейку' и 'всегда показывать выделенную ячейку' - кнопки 'всегда показывать редактируемую ячейку' и 'всегда показывать выделенную ячейку'. Первая, если включена, то ячейка, в которой в данный момент находится курсор, будет всегда в режиме редактирования (ввода текста). Вторая, если включена, то ячейка, в который в данный момент находится курсор, будет выделена.
  • кнопки 'показать простые вертикальные и горизонтальные линии' - кнопки 'показать простые вертикальные и горизонтальные линии'.
  • кнопки '3D-линии' - кнопки '3D-линии' дают возможность выводить линии объемного вида. Дополнительные эффект будет, если объединить простые линии с 3D-линиями.
  • кнопка 'кол-во закрепленных колонок' - Данный параметр дает возможность указать кол-во колонок, которые не будут уходить с экрана при перемещении по полям вправо, с прокруткой. Отключение данной функции будет произведено, если указать кол-во = 0. Данные колонки будут окрашены под цвет заголовка. пример закрепления колонок
  • регулирование высоты заголовка - Программа сама регулирует размер заголовка. Если он не помещается по ширине, то программа расширяет высоту для всего заголовка в таблице. Если включить в данном поле значение >100%, то программа принудительно сделает размер заголовка равным указанной величине в процентах от стандарта, даже если в этом нет необходимости.
  • регулирование высоты ячейки - Программа сама НЕ регулирует размер заголовка. Если он не помещается по ширине, то программа его обрезает, если нет места, чтобы перенести строку. Если включить в данном поле значение >100%, то программа принудительно сделает размер всех ячеек равным указанной величине в процентах от стандарта, даже если в этом нет необходимости. В этом случае, если размер достаточно большой, то появится возможность для переноса текста в ячейке в несколько строк.

Диалоговое окно редактирования внешнего вида таблицы

Можно редактировать цвет и шрифт не только для отдельно выбранных колонок, но и для всей таблицы в целом. Можно попросить раскрасить таблицу под основной цвет окна, что даст дополнительные возможности для визуальных эффектов.

Можно указать расцветку и частоту чередования таблицы, что дает дополнительные возможности для настроек отображения таблицы Результат чередования

Все настройки таблицы будут сохранены и при последующем открытии восстановлены.


Методика расчета закупочной стоимости в переброшенных товарах

Расчет закупочной стоимости в товарах

Имеет смысл при ведении учета нескольких складов и при осуществлении внутренних перемещений между ними. Если в форме встречается данный переключатель, то это означает следующее:

Если выставлен вариант: Цена в перебросах

При расчете закупочной стоимости в карточках, сформированных вследствие переброса с другого склада, за основу берется цена, по которой товар был переброшен на склад (она сформировала сумму этой накладной), а поставщиком данного товара является склад, отправивший товар. Данная информация нужна для ведения расчетов между складами, более того, данный способ расчета значительно уменьшает время выполнения запроса.

Если выставлен вариант: закупочная стоимость

При расчете закупочной стоимости в карточках, сформированных вследствие переброса с другого склада, программа производит поиск по всему движению товара, пока не встретит карточку, поступившую не по перебросу или по возврату от покупателя, а по накладной от поставщика. В данном случае в качестве закупочной цены Вы увидите цену, по которой товар поступил от поставщика, а в качестве поставщика - его самого. То есть, если надо увидеть наценку на товар, то Вы должны включать данный флажок. Заметьте, что: Если карточка поступила по перебросу, (или возврату от покупателя) то она полностью дублирует оригинальную карточку, за исключением поставщика (в перебросе им является склад-отправитель), и закупочной цены ( в перебросе ее заменяет цена, сформированная в накладной переброса). Однако цены и поставщики отслеживаются.


Графики в программе SOLARIS

Некоторые формы в программе обладают возможностью показывать графики. Графики являются прекрасным средством визуализации данных. Таблица с цифрами не очень хорошо передает соотношение сил по отношению друг к другу. Диаграмма же дает возможность увидить это воочию.

Как правило, предварительно нужно отсортировать данные по необходимому параметру. Если это требуется, программа SOLARIS сообщит об этом предупреждением. Бывает, что график предполагает выдачу разной информации в зависимости от сортировки в основном запросе. График работает после того, как будет сделан запрос в основном окне.

Графики бывают двух видов:

Графики:

Графики в SOLARIS

Графики в SOLARIS

и круговая диаграмма:

Круговая диаграмма в SOLARIS

Все они настраиваются одинаковым набором средств и настройки для каждой диаграммы будут сохранены программой на следующий случай.

Панель кнопок общего плана

  • Есть два набора кнопок 'увеличить' и 'уменьшить'. Выглядят они одинаково, но находятся они на разных панелях, и выполняют действие немного по разному. Смысл действий в изменении масштаба рисунка. Один из наборов работает только для графиков, для круговых диаграмм он бесполезен.
  • Кнопка '3D вид' переключает график между 3D <-> 2D форматами.
  • Включить - выключить фон. Выключение фона имеет смысл при печати.
  • Видимость меток (надписей к частям графика)
  • прозрачность меток прозрачность меток в случае их видимости
  • Легенда показать легенду - график потеснится областью с описанием, какие части графика изображаются каким цветом. В этом случае наличие меток необязательно, или метки могут быть другого вида
  • Кнопки 'показать' и 'скрыть' заголовок - надпись на графике, поясняющая общий смысл всего этого.
  • Всплывающее меню настройки отображения осей настройка осей, их видимости и надписей к ним.
  • Кнопка 'прокрутить' работает для круговой диаграммы - она вращает ее против часовой стрелки.
  • Кнопка 'просто круг' работает для круговой диаграммы - она переключает ее между круглой и овальной формами.

Панель кнопок настройки расположения легенды и вида кнопок Данная панель позволяет настроить легенду наиболее удобным образом а также выбрать вид меток - 'надпись', 'проценты', 'суммы' и т.д.

Панель 3D-преобразований Данная панель позволяет настроить 3D вид графика или диаграммы разными вращениями и преобразованиями. Смысл действий лучше всего улавливается экспериментально ;)

Панель 2D-преобразований Данная панель позволяет настроить расположение графика - отступы сверху, слева, справа и снизу.

Имеется возможность печати:

диалоговое окно 'Печать' Все настройки сохраняются на следующий сеанс печати.

График можно сохранять как картинку с возможностью дальнейшей его вставки в документы.

диалоговое окно 'Экспорт' Можно выбрать любой из форматов.

При работе с графиком (не круговой диаграммой) можно использовать мышь для масштабирования и перемещения по диаграмме. Если выделить область на графике, нажав левую кнопку мыши, выделяя с левого верхнего угла в правый нижний, то выделенная область развернется на весь экран, что даст возможность более детально просмотреть область. Если после этого двигать мышь с нажатой правой кнопкой, то Вы сможете перемещаться по рисунку. Если сделать выделение (любое) снизу вверх, то график вернется в начальное положение.


Фильтрация запросов по коду

Заметки к фильтрации запросов по коду

При фильтрации товара по коду или группе кодов или шаблону следует указывать шаблоны:

XX - где, x-символ - в этом случае программа просмотрит список товаров На предмет наличия точно данного кода. Если таковой не найден, то данная строка будет расцениваться как группа товаров, коды которых начинаются на XX...

Если указать в шаблоне знак "%" (например: "%01"), то запрос будет произведен по всем кодам, в начале которых стоит любой набор символов ("01%"), где-то в середине ("%01%") или в конце строки ("%01").

Знак "%" отображает любое вхождение символов, то есть любое их количество. Знак "_" используется для указания вхождения одного символа. Если указать "_01", то поиск будет вестись по всем кодам, В начале которых стоит 1 символ, соответственно "__01" - 2 символа. и т.д.

пример указания шаблона для кода товаров


Обмен данными

ABC-анализ в программе Solaris

Определение принадлежности номенклатурного кода к группам A1,A2,A3,B,C или X определяется при расчете скорости продаж и размещается в номенклатурном справочнике. Можно рассчитать группу ABC для каждого товара в рамках движения по всему предприятию, либо для каждого из складов отделно. Полученные группы можно отобразить в аналитических формах, выделив их также нужным цветом шрифта или фона.

В некоторых аналитических формах также введен отдельный расчет групп ABC по сформированному заранее отчету. Контекст полученных групп зависит от отчета.

Для определения группы используются формулы:

  • Принадлежность группам
    • А1: 0 < [Нарастающий коэффициент] <= 25
    • А2: 25 < [Нарастающий коэффициент] <= 50
    • А3: 50 < [Нарастающий коэффициент] <= 75
    • B : 75 < [Нарастающий коэффициент] <= 90
    • C : 90 < [Нарастающий коэффициент] <= 100
    • X: без движения (суммы или кол-во = 0)
  • Нарастающий коэффициент
    • [Нарастающий](max) = [Общий коэффициент]max
    • [Нарастающий](max-1) = [Нарастающий]max + [Общий]max
    • [Нарастающий](max-2) = [Нарастающий](max-1) + [Общий](max-2)
    • ....
  • Общий коэффициент = [коэффициент по количеству] + [Коэффициент по выручке]+ [Коэффициент по валовой прибыли]
  • Общий коэффициентmax = максимальный из общих коээфициентов в массиве данных
  • Коэффициент по количеству = [Доля по количеству] * X1
  • Коэффициент по выручке = [Доля по выручке] * X2
  • Коэффициент по валовой прибыли= [Доля по валовой прибыли (наценке)] * X3
  • Доля по количеству = [Количество продаж] / [Количество, проданное всего по списку] * 100
  • Доля по выручке = [Сумма реализации] / [Сумма всего по списку] * 100
  • Доля по валовой прибыли= [Сумма наценки] / [Сумма наценки всего по списку] * 100

Коэффициенты X1, X2 и X3 рассчитываются как доли от 1 (по-умолчанию = 0.3, 0.3 и 0.4 соответственно) и определяются в настройках программы на закладке "ABC"

При расчете скорости продаж программа автоматически собирает и данные по ABC-группам, и когда скорость продаж сохраняется в базе для дальнейшего использования, автоматически сохраняются и данные в ABC-колонках, которые отображаются в номенклатурном справочнике, в заявке, в отчетных формах, таких как ведомость реализации. Также предусмотрены расцветки в данных форм для каждой из групп (настраивается в установках программы на закладке "цвета").

При работе с дефектурой в форме "дефектура, заявка на центральный склад" можно пользоваться фильтрацией по группам ABC на закладке "фильтры".

В некоторых формах (на текущий момент реализовано в ведомости реализации) есть возможность рассчитать ABC (колонка "ABC рассчитанная", кнопка "Запустить анализ ABC") по данным, сформированным в текущем отчете согласно выбранной фильтрации, что позволяет использовать ABC-анализ более гибко, с учетом динамически изменяющихся требований.


Об авторах

Все права на продукт bvSoft -Склад (Solaris) принадлежат Борзову Владимиру Михайловичу

borzov@solr.ru

v.borzov@mail.ru

www.solr.ru

bvSoft


Настройка автоматического резервного копирования

Автоматические бекапы удобнее всего организовать с помощью функции встроенного скрипта

BackupDatabase(const DestinationDir :string='') :string.

Сделать это можно так:

Создаем задачу в "назначенных заданиях" Windows. Выставляем любой временной интервал, допустим раз в сутки, и наиболее подходящее время (если сервер работает круглосуточно, то, очевидно, лучше ночью. В задаче описываем командную строку:

c:\solaris\solaris.exe -password 1 -script c:\solaris\scripts\my_backup.pas

где my_backup.pas - скрипт с описанием этой функции:

begin
try
BackupDatabase('\\othercomp\backups'); // Бекап на комп othercomp, каталог backups
finally
Application.Terminate; // завершить работу приложения
end
end.


Загрузка забракованных серий из файла

Начинается работа с закачки справочника из внешнего файла. При приеме файла программа, как и в случае с импортом и с реестром цен производителей, запросит согласование полей, после чего появится окно просмотра таблицы, из которого данные попадают непосредственно в справочник по браку. Загрузка

После того, как справочник серий будет закачан, нужно будет произвести сверку кодов. Обязательно нужно произвести сверку по кодам товаров. В этом случае программа сможет искать в справочнике забракованных серий автоматически. Также желательно произвести сверку производителей.

Процедура регистрации производится аналогично процедурам регистрации в реестре цен, импорте.

Можно также вручную редактировать справочник (редактирование и добавление новых серий). Редактирование справочника


Ценники

Ценники и Прайс-листы

Ценники:

Пример ценника в предварительном просмотре

Стеллажные карточки:

один из вариантов стеллажных карточек

Прайс-лист

Возможный вид прайс-листа

Все печатные формы редактируются , возможно хранение нескольких вариантов печати (несколько видов ценников или прайс-листов, например).


Описание базы данных

Внимание! Администратор имеет право:

  1. Изменять величину строковых полей в таблицах pr_tovar и tovar (кроме поля NN !!)
  2. Добавлять поля в таблицах для их внутреннего пользования (программа их проигнорирует), но не удалит!
  3. Добавлять индексы к таблицам (при необходимости) - для их внутреннего использования! Умеренность здесь не помешает!
  4. Читать данные из таблиц! - Разработчики в этом случае снимают с себя ответственность в случае неправильной интерпретации данных в таблицах!
  5. Помните, что при совместном пользовании таблицами необходимо выполнение некоторого количества условий . Поэтому очень желательно связаться с разработчиками для уточнения.

Нельзя:

  1. Удалять поля!
  2. Изменять формат полей!
  3. Удалять и изменять индексы!
  4. Изменять содержимое таблиц!!!

Agents | Список контрагентов - здесь ведется список контрагентов (юридических и физических лиц, склады, пункты, поставщики и получатели, агенты). Один контрагент может выступать одновременно в любой из ролей.
ID | код (именно он указывается во всех ссылках на данного контрагента). В списке контрагентов есть кнопка "замена номера", которая позволяет поменять его, при этом все ссылки на данный код во всех таблицах, о которых знает программа, поменяются. Если указать код уже существующего контрагента, то программа предложит объединить их в одну строчку со всем движением по ним обоим.
Name | наименование
Comment | комментарии - пишите, что хотите
Country | страна. В данном случае используется наименование страны, из соображений совместимости со старыми версиями программы, оно никак не связано с таблицей country
Gorod | город
Adres | адрес
Okonh | оконх
Okpo | окпо
Inn | ИНН
Issklad | пометка для склада
Ispost | пометка для поставщика
isKlient | пометка для покупателя
isPOstNal | зарезервировано
isAgent | пометка для агентов (указываются в поле "через кого" в накладной, и по ним можно фильтровать некоторые отчеты).
isPostreal | зарезервировано
isFinance | пометка для контрагента, если это "источник финансирования". Данный атрибут может использоваться для поля "источник финансирования" в приходной накладной, по которому можно фильтровать отдельные запросы, а также разделять печать расходной накладной по этому признаку в приходах.
ispostbeznal | зарезервировано
IsKlientBarter | зарезервировано
IdKlientReal | зарезервировано
DefaultShet | ID счета, используемого по умолчанию
ID1S | идентификационный номер в связанной программе "1С-бухгалтерия"
IDGR1S | идентификационный номер группы в связанной программе "1С-бухгалтерия"
group | Группа (для свободного использования)
DOGOVOR | Номер договора (можно в настройках программы указать, чтобы он распечатывался в шапках накладных).
CODE | Альтернативный идентификационный номер, который ведется оператором самостоятельно, если в этом есть необходимость.

BadSeria | Список забракованных серий Таблица используется для отслежки забракованных серий. Эта таблица предполагает постоянное пополнение новыми данными.
ID | ключ
CODE | Внешний код, который используется в списках забракованных серий. В программе активно не используется
NN | Код товара в справочнике товаров
Name | Наименование в оригинальном справочнике
Producer | Код производителя из справочника производителей
ProducerName | Наименование производителя в оригинальном справочнике
Agent | Код контрагента в соответствующем справочнике
AgentName | Наименование контрагента в оригинальном справочнике
CountryName | Страна производителя - в оригинальном справочнике
Seria | Собственно забракованная серия
Mess | Письмо
breakdate | Дата забраковки
Param | код основания забраковки в таблице badserp
InputDate | Дата ввода данной серии в базу данных программы
DateSeria | Поле используется, если программа получила серию в виде "СЕРИЯ от ДАТА". В данном случае программа предложит расшифровать запись и записать значение ДАТА, например, в указанное поле.
SeriaRUS | программа хранит в данном поле написание серии русскими буквами, похожими по написанию. Это важно, если серия записана латинскими буквами. Чтобы исключить ошибку оператора, программа хранит русское написание данной серии и использует его в поисках.

BadSerP | Список оснований забраковки Таблица используется совместно с таблицей badseria для отслежки забракованных серий.
ID | ключ
Name | Текст основания забраковки

Banks | Банки- список банков, на которые ссылаются счета контрагентов.
ID | код
Name | наименование
BIK | БИК банка
GOROD | город
INNBANK | ИНН банка
KSHET | корр.счет

s_agents | счета контрагентов ссылается на список контрагентов и список банков
id | ключ (для внутреннего пользования)
id_agent | код контрагента
id_bank | код банка
shet | счет

country | Страны
ID | код (3 буквы)
Name | наименование

currency | Курсы валют
data | Дата установления курса
Dollar | Курс рубля по отношению к Доллару США

current | для внутреннего пользования - список накладных, которые в данный момент открыты пользователями, с целью блокировать их одновременное открытие.
data | дата накладной
nom | номер накладной
sklad | склад, на кого оформляется данная накладная
po | 0 - приход, 1-расход
user | имя компьютера в сети.

currshet | для внутреннего пользования - список счето, которые в данный момент открыты пользователями, с целью блокировать их одновременное открытие.
data | дата счета
nom | номер счета
user | имя компьютера в сети.

dynparam для внутреннего пользования (зачастую под паролем). Используется для настроек программы, которые должны касаться всех пользователей в базе данных

policies для внутреннего пользования (зачастую под паролем). Используется для настроек программы, которые касаются конфигурации рабочих мест

ED Единицы измерения используется программой для хранения списка единиц измерений, применяющихся при создании новых товаров в номенклатурном справочнике

Intertov | Международные названия товаров по номенклатурному справочнику. Используется программой как вспомогательная таблица для хранения международного названия для товара. Не включена в таблицу "tovar" из соображений экономии места.
NN | Код в справочнике товаров
Name | Международное наименование

naklmon | "следилка" в накладных - используется для отслеживания изменения в накладных, оформляемого после первоначального сохранения накладной. Удобно для контроля за изменениями. Ведется, если установлена соответствующая опция в настройках программы (флажок "следилка в накладных")
ID | собственный идентификационный номер
ID_NAKL | совпадает с ID накладной
TIMEREC | время записи
NN | новый код (если пусто, то это означает, что запись удалена в новой версии накладной)
NNOLD | старый код (если пусто, то это это новая запись в накладной)
CENA | новая цена
CENAOLD | старая цена (цена до изменения накладной)
KOL | количество
KOLOLD | старое кол-во
ID_OUT | соответствует id_pr в расходах и id_rs в приходах
PO | 0- если приходная накладная, 1- если расход
SERIA | серия
SERIAOLD | старая серия
BARCODE | штрих-код
BARCODEOLD | старый штрих-код
DATA | дата документа
DATAOLD | старая дата документа
NOMER | номер накладной
NOMEROLD | старый номер накладной
ID_USER | пользователь, который произвел все эти изменения

nngroup | список групп товаров - товары имеют коды, принадлежность к группе в которых определяется совпадением первых символов кода с кодом группы
nn | код группы
name | наименование
nds | ставка ндс (устарело) и сейчас не используется. Можно употреблять его для своих нужд.
rang | для внутреннего пользования - уровень вложенности группы (1,2...)
fontcolor | цвет шрифта в списке товаров для данной группы
color | цвет фона для группы

nnglos | глоссарий по номенклатурному справочнику -используется самообучающейся процедурой поиска соответствующих товаров при сопоставлении наименований товаров. Используется при закачке реестра цен производителей, при импорте накладной.
name | нормализованное наименование товара (в верхнем регистре и без лишних пробелов)
nn | код товара по номенклатурному справочнику базы данных. В базе будет несколько записей с одинаковым кодом, но с разными полями Namе. Так программы будет запоминать, что одному коду в нашем справочнике может соответствовать несколько разных форм написания товаров.

osnov | список оснований - используется в документах, а также при указании формы оплаты в карточках поставщиков, покупателей и складов
id | код (2 символа) - первый символ - часто системный ( < -для архивов, П - для внутренних перемещений (перебросы) В - для возвратов ) - остальные можно задействовать на свое усмотрение второй можно задавать на усмотрение пользователя. Код П< - используется для накладных с основание "архивный переброс"
name | наименование
ispr | пометка для оснований, используемых в приходный накладных
isrs | пометка для оснований расхода
ispayform | пометка для форм оплаты
user | не используется в программе
nalog5 | пометка о налоге 5% - если она не стоит, то накладная не облагается налогом
automoney | предполагается, что накладная оплачивается автоматически. После занесения записи о накладной в картотеку туда же заносится запись об оплате накладной
doublekartok | уже не используется в программе
moneyskladplus | пометка о том, что приходные накладные с данным основанием должны попадать в картотеку складов
moneyskladminus | пометка о том, что расходные накладные с данным основанием должны попадать в картотеку складов
moneyclient | пометка о налоге 5% - если она не стоит, то накладная не облагается налогом
nakladclientneedagent | пометка о томе, что расходные накладные должны попасть в картотеку покупателя (в картотеку поставщика попадают все накладные)
prihcolor и prihcolorFont | данным фоном и цветом выделяются строки товаров в расходных накладных, в соответствии с данными основаниями приходов

pr_nakl | шапки приходных накладных
id | внутренний код накладной
data | дата
timedoc | время
nomer | номер
sklad | склад
osnov | основание
srok | срок - используется для обозначения сроков оплаты накладной
id_user | номер пользователя
agent | номер контрагента
nacenka | % наценки - в приходной накладной - точный. В расходной накладной - указанной в шапке накладной. Даже если он и отличается от реального
notnds | Истина, если накладная НДС не облагается (определяется типом поставщика)
plusnds | зарезервировано
okrugl | степень округления (для внутреннего пользования)
otgruska | пометка об отгрузке 0 - не отгружна, пусто или дата - отгружено
subagent | ID из таблицы agents - указатель на агента, поле "через кого" в накладной
finance | поле "источник финансирования"
id_nakldos | используется для состыковки с другими программами, когда программа Solaris стыкуется с ними в режимах склад - торговый зал или наоборот.

pr_dop | доп. Параметры для приходной накладной Используется, например, для указания кода накладной поставщика в приходе, или для вводов дополнительных параметров к наименованию контрагента
id_nakl | ссылка на накладную
name | наименование параметра
value | значение параметра

pr_tovar | составы приходных накладных -собственно и есть картотека товаров
id | ключ (для внутреннего пользования)
id_nakl | ссылка на шапку накладной
nn | код (номенклатурный)
kart | номер складской карточки
sklad | склад (дублирует склад в соответствующей шапке)
kol | количество
cena | цена закупки
rs_cena | цена предполагаемой продажи
seria | серия
firstcena | цена производителя
id_rs | ссылка на строку в rs_tovar
em | емкость
srok | срок хранения
sertif | сертификат - можно варьировать длиной поля
ostat | остаток
analize | протокол анализа - можно варьировать длиной поля
producer | код производителя
sroksertif | срок действия сертификата
idsertif | код сертифицирующего органа из таблицы sertif
nototgrus | количество неотгруженного расхода
baks | товар баксовый (узкая область применения)
idanalize | код анализирующего органа из таблицы sertif
datesertif | дата выдачи сертификата
dateanalize | дата выдачи протокола анализа
tamog | номер таможенной декларации
barcode | штрих-код
idcash | номер кассового аппарата, на котором осуществляется продажа данного товара
PLU | используется для соответствия карточки с ПЛУ в кассовом аппарате
NDS | реальный НДС, который был зафиксирован в накладной поставщика
nalog5 | реальный налог с продаж который был зафиксирован в накладной поставщика
NDSOUT | НДС, с которым данный товар будет продаваться. Данное поле определяет принадлежность к группе по НДС независимо от величины в поле NDS
Nalog5Out | аналогично NDSOut
datepassport | дата выдачи паспорта
passport | паспорт
journalnomer | номер в подписке для журналов и газет
gost | ГОСТ
sorti | СОРТ
ArticleKart | зарезервировано
regn | регистрационный номер препарата
kartdos | номер карточки во внешних программах, используемый для связи с ними в режиме разделения работы склада и торгового зала.

rs_nakl | шапки расходных накладных
id | ключ (для внутреннего пользования)
data | дата
timedoc | время
nomer | номер накладной
sklad | склад
osnov | основание
nacenka | наценка (указанная в шапке). Необязательно соответствует реальной, так как цены могли были быть исправлены вручную после указания общей наценки в накладной.
agent | номер контрагента
id_user | номер пользователя, оформившего накладную
srok | срок оплаты
notnds | пометка об отсутствии ндс (тип покупателя)
otgruska | дата отгрузки (см. otgruska в pr_nakl
kurs | курс валюты в данной накладной
factura | номер счет-фактуры к данной накладной. Он может не совпадать с номером накладной, а также может быть вообще не указан.
subagent | поле "через кого" в накладной

rs_tovar | состав расходных накладных
id | ключ (для внутренего пользования)
id_nakl | ссылка на шапки накладных
nn | код номенклатурный
kol | количество
cena | Цена
em | Емкость
id_pr | ссылка на карточку (поле ID в pr_tovar)
NDS | реальная НДС-ставка в накладной (принадлежность к группе будет определяться, однако, по полю NDSOUT из pr_tovar)
Nalog5 | реальная ставка налога с продаж в накладной (принадлежность к группе будет определяться, однако, по полю NALOG5OUT из pr_tovar)

rs_dop доп. Параметры для расх.накладной

Prodcens | реестр цен производителей используется для ведения реестра цен производителей, который обычно предварительно закачивается из внешнего списка
NN | код товара
PRODUCER | код производителя (из таблицы producer)
cena | цена в реестре цен
lastdata | дата окончания регистрации цены по данному производителю и коду товара
firstdata | дата начала регистрации цены
cenabaks | цена в долларах
currbaks | курс доллара на момент регистрации цены
maxprocent | максимально допустимый процент наценки по данному товару

PrihOrd | Приходные кассовые ордера Используется для хранения приходных кассовых ордеров
ID | ключевое поле
DATA | Дата выписки приходного ордера
NOMER | номер приходника
ID_NAKL | ссылка на накладную, если приходник относится к ней
ID_AGENT | номер контрагента в списке контрагентов
ID_SKLAD | номер склада в списке контрагентов
Summa | сумма
Nalog5 | в т.ч. 5%
NDS | Ставка НДС
Osnov | Основание
Pril | Приложение
KCN | КЦН
KC | КС
KAU | КАУ
SkladName | Наименование склада
AgentName | Наименование контрагента
DopSklad | Доп. строка к наименованию склада
DopAgent | Доп. строка к наименованию контрагента

prodglos | глоссарий для таблицы producer -аналогично глоссарию nnglos для списка tovar
NAME | имя производителя
ID | код производителя (из таблицы producer)

Producer | производители
id | код
name | наименование
country | код страны

regbuf | используется как буфер для приема реестра цен производителей перед непосредственно анализом. может содержать списки товаров, которых еще нет в базе данных, но в дальнейшем они могут понадобиться
NN | код товара по справочнику (если пусто, то не найдено, или не сопоставлялось)
NAME | наименование товара (в написании из внешнего списка)
FORM | форма выпуска (для фармацевтических товаров), Очень часто пропускается, потому что вносится как продолжение поля 'наименование'
PRODUCER | код производителя (если пусто, то не найден или не сопоставлен)
PRODUCERNAME | имя производителя в написании внешнего списка
COUNTRY | код страны произв-ля
COUNTRYNAME | страна-производитель - в написании внешнего списка
CENA | цена
CURRBAKS | курс валюты для данной позиции на момент регистрации товара
FIRSTDATA | дата начала регистрации цены
LASTDATA | дата окончания регистрации цены
OKNN | True, если код товара написан правильно и найден в списке товаров нашей базы данных
OKPRODUCER | true, если найден производитель
OKCURRBAKS | true, если правильно указан курс (то есть программа смогла распознать его как число)
OKCENABAKS | true, если цена в долларах написана без ошибок
OKCENA | true, если цена в рублях написана без ошибок
OKFIRSTDATA | true, если программа смогла распознать дату начала регистраци как дату
OKLASTDATA | true, если программа смогла распознать дату окончания регистраци как дату
REG | true, если товар принят в нашу базу данных
MAXPROCENT | максимальный процент наценки на данную позицию
KOL | - не используется.

rsord | список расходных ордеров -расходники собираются в списки, в которых они суммируются и фильтруются
ID | Внутренний код
DATA | дата оформления расходника
NOMER | номер РКО.
ID_NAKL | ссылка на накладную, к которой он прилагается
ID_AGENT | номер контрагента, если не указан, то см. agentname
AGENTNAME | поле "кому", если там не выбирается контрагент из списка, а просто вписывается текст.
ID_SKLAD | номер склада
SKLADNAME | наименование склада, то есть наименование поля "от кого". Используется в случае id_sklad=0
SUMMA | Сумма
NALOG5 | налог с продаж -сумма
NDS | НДС - сумма
OSNOV | основание (текст)
PRIL | приложение (текст)
KCP | код структурного подразделения
KC | корр.счет, субсчет
KAU | код аналитического учета
DOPSKLAD | доп.текст к полю "от кого"
DOPAGENT | доп.текст к полю "кому"
KREDIT | кредит
KCN | код целевого назначения

sertif | список сертифицирующих и анализирующих органов -используется в картотеке
ID | Внутренний код
NAME | Наименование
sertifStr,AnalizeStr | Шаблон для поиска сертифицирующего (или анализирующего) органов, пользуясь расшифровкой сертификата (или протокола анализа)

sheta | счета -используется при взаиморасчетах. При указании выплат можно указать, на какой счет отправляется данная выплата
ID | Внутренний код
NAME | Наименование
COMMENT | Дополнение
ACTIV | Активный счет
PASSIV | Пассивный счет
DISABLED | Отключен (не используется)
TYPKONTO | Тип субконто
N5prior | здесь указывается приоритет для списания товаров из накладной при оплате накладной с использованием указанного счета.

spirit (для внутреннего пользования) таблица концентрации спирта -используется при расчетах концентрации спирта

svodinv | сводные инвентарные ведомости (шапки) -используется для группировки инвентарных ведомостей в сводную инвентарную ведомость
ID | Внутренний код
DATA | Дата оформления ведомости
NAME | Наименование (свободный текст)

svodinvd | сводные инвентарные ведомости (состав) -содержит ссылки на реальные инвентарные ведомости, по которым собирается сводная
ID | Внутренний код
IDSVOD | ссылка на ID в svidinv
NOMER | наименование инвентарной ведомости, на которую ссылается

Tovar | Номенклатура -справочник товаров.
nn | Номенклатурный код (ключевой)
name | Наименование
okdp | Окдп
article | артикул (для согласования с чужими списками товаров)
ed | ед. измерения
cena | цена (одна из цен имеющихся в наличии карточек)
ostat | остаток по номенклатуре
nds | ставка ндс (справочная, используется при создании карточки).
nalog5 | налог с продаж - пометка
em | Емкость
info | данное поле удалено и вынесено в таблицу tovinfo
srok | срок хранения одной из имеющихся карточек
minkol | мин.кол-во – зарезервировано
notused | пометка ою отключении кода из активного списка
mincena | мин.цена – зарезервиновано
multikart | для внутреннего пользования
bron | остаток забронированного товара
speed | рассчетная скорость продаж - определяется в соответствующих формах
country | страна – производитель оп умолчанию (может юыть переопределена в картотете)
required | истина - если товар из обязательного ассортимента
nototgrus | остаток неотгруженного товара
outostat | остаток внешнего склада (для работы в режиме торгового зала)
color | цвет фона в списке товара
fontcolor | цвет шрифта в списке товара
IsPril | Участвует в распечатке приложения к накладной
IsPROTOCOL | Участвует в распечатке протокола согласования к накладной (фармацевтика)
NotOtgrus | Количество неотгруженного товара (по расходу)
Kurs | Курс $
Floatbarcode | пометка о том, что товар весовой. Используется при работе с кассами в OFF-LINE режиме. Если товар весовой, то он будет обрабатываться соответствующим способом, как этого требует кассовый аппарат.
smallname | Укороченное наименование, используемое в кассах в OFF-LINE режиме.
cenaz | последняя закупочная цена. Используется как справочное поле при оприходование товаров для ускорения ввода информации.
barcode | за данным кодом может быть жестко закреплен определенный штрих-код. В этом случае программа при создании новых карточек не будет генерировать новые штрих-кода, а применять указанный в данном поле
maxprocent | максимальный процент наценки, допустимый по законодательству для данного товара.
DAL | Для вино-водочных товаров. Кол-во DAL-единиц.
MaxJournalNomer | для журналов и газет - максимальный номер в подписке.
NNBOX | Ящик - номер ящика, в который укладывается товар на складе. Используется для ускорения поиска товаров на складе.
NNDOS | Код товаров для связи с внешними программами. Используется в контексте
OstatНОМЕРСКЛАДА | Остаток на складе с номером НОМЕРСКЛАДА (Ostat1 - номер на складе, числящемся в справочнике контрагентов под номером 1). Этот пункт и три последующие используются опционально. Чтобы они появились в базе данных, нужно их создать. Делается это в программе в меню "Администратор/Остатки на складах".
NotOtgrusНОМЕРСКЛАДА | Не отгруженное количество на складе аналогично предыдущему полю
SpeedНОМЕРСКЛАДА | Скорость продаж аналогично предыдущим полям
BronНОМЕРСКЛАДА | Забронировано на складе под номером НОМЕРСКЛАДА

tovinfo | аннотация к товару в справочнике товаров Вынесена в отдельную таблицу из справочника товаров.
NN | код товара в номеклатурном справочнике tovar
ID | порядковый номер строки, если аннотация из нескольких строк
info | текст

Users | список пользователей (под паролем)
ID | код
Name | Имя
Password | Пароль
Level | Уровень
disabled | 'отключен'.

vedomini внутреннего пользования - настройки в инвентарных ведомостях

moncl | картотека покупателей -картотека взаиморасчетов с покупателями
ID | код
idother | код документа, на который ссылается карточка (например, ID накладной)
PO | 0 -приход 1 -для расходов
DATA | дата оформления
TIMEDOC | время оформления
AGENT | контрагент
SKLAD | склад
SUMMA | сумма
PAYFORM | форма оплаты (используется код из списка оснований, см. список оснований)
SROK | срок документа (для накладных) - поле берется из шапки накладной, на которую ссылается данная запись
NOMER | номер накладной
OSNOV | основание в накладной
TYPEDOC | 1 - для записей, соответствующих накладным, 0 - для обычной выплаты, остальные номера зарезервированы для использования в приходниках, расходниках, счет-фактурах.
SHET | счет, по которому прошла данная выплата (см. "список счетов")
WITHOUTTOVAR | для оплат - пометка о том, что к данной выплате не нужно прикреплять товар.
Otgruska | Дата отгрузки накладной, если данная запись относится к накладной

monclcom | свободный комментарий к записям в картотеке клиентов
ID | совпадает с ID в moncl той строчки, на которую ссылается
comment | текст комментария

monpost картотека поставщиков -картотека взаиморасчетов с поставщиками. Все поля аналогичны таблице moncl

monpcom свободный комментарий к записям в картотеке поставщиков - совпадает с monclcom

monsklad картотека складов -картотека взаиморасчетов со складами внутри предприятия. Все поля аналогичны таблице moncl

monscom свободный комментарий к записям в картотеке складов - совпадает с monclcom

arc_* архивные файлы,образовавшиеся после упаковки данных в Solaris

cash* буферы обмена с кассовыми аппаратами, разделенные по складам

NNGlos, AgGlos, SertGlos, ProdGlos | Глоссарии для справочников tovar ,agents,sertif,producer - соответственно. В этих файлах программа содержит свою базу знаний по различным написаниям одного наименования
Name | наименование - один из вариантов написания
ID (или NN) | ключ в соответствующем справочнике

regbuff буфер подготовки реестра цен к закачке Для внутреннего использования

vedom(*) Инвентарные ведомости Таблицы используются в инвентарных ведомостях В кавычках указывается номер ведомости.


Проверки несписанного товара

форма 'проверка несписанных продаж'

Опционально в программе существует возможность отписывать товар без карточки. Еще товар в расходной накладной может оказаться без карточки, если, например, удалить приходную накладную с данной карточкой. Тогда, если зайти в расходную накладную, то против продажи по данному коду не увидите номера карточки, закупочной стоимости, поставщика и других реквизитов карточки. Для выявления всех таких продаж нужна эта форма. Она ничего не исправляет, но отсюда можно попасть непосредственно в накладную или проанализировать движение товаров с данным номенклатурным кодом.

Если при проверке данная таблица оказалась не пуста, первым делом произведите пересчет остатков в программе. Во время выполнения пересчета, если встретятся продажи без карточек, то программа попробует привязать продажу к первому из имеющихся в наличии приходов по данному номенклатурному коду. Если в наличии карточек нет, то продажа так и останется несписанной. Отсюда вывод: если после пересчета остатков остались несписанные продажи, то это отрицательные остатки по номенклатурному справочнику. Отсюда другой вывод: чтобы избавиться от несписанных продаж, нужно избавиться от отрицательного остатка, после чего выполнить пересчет остатков, и проблема будет решена.


Проверки двойных карточек

проверка двойных карточек

Процедура проверки двойных карточек, в противовес процедуре проверки карточек в перебросах, сканирует базу данных на предмет уникальности номеров карточек (кроме карточек, сгенерированных по перебросу и по возврату). Такая ошибка может повлиять на результаты запросов - возможна неправильная закупочная стоимость и принадлежность товара по поставщику.

Если результатом будет не пустая таблица, то можно нажать кнопку "исправить все".


Проверки соответствия номеров карточек в перебросах и возвратах в SOLARIS

Проверки соответствия номеров карточек в перебросах и возвратах

Форма проверки неправильных номеров карточек

С помощью данной формы можно проверить логическую целостность базы данных на предмет совпадения карточек, поступивших в перебросах и возвратах от покупателей. Такие карточки должны иметь номера, совпадающие с номерами карточек, с которых они сгенерированы. Если этого не будет, то возможны ошибки в некоторых формах (например, в отчетах по взаиморасчетам) при нахождении поставщика и закупочной стоимости на товар.

Нажав кнопку "исправить все", можно будет исправить все ошибки разом. Однако, необходимо проанализировать данные, чтобы понимать, почему это случилось. Не пугайтесь, если результатом чистки будет снова непустая таблица. Просто программа отслеживает ошибки по перебросам в "первом поколении", то есть если карточка по перебросу сгенерирована тоже с карточки по перебросу, и ее номер совпадает с предыдущей карточкой, но не совпадает с карточкой прихода, то сначала увидите ошибку в "первом поколении", после того, как исправите, увидите ошибку во "втором поколении". Короче, нажимайте кнопку "исправить все" до тех пор, пока таблица не станет пустой.


Проверки цен производителей

проверка цен производителей

Имеется ввиду проверка наличия цен производителей и правильность оформления данных цен с точки зрения законодательства в торговле фармацевтической продукцией. Если найдены товары без цен производителя, и на них в списке товаров, стоит ограничение процента наценки, то они будут помещены в данный список ошибок, выделенные жирным черным цветом. Если найдены товары с превышением наценки с учетом цен производителя (и цен реестра -опционально), то они будут выделены зеленым цветом.

В данной форме можно исправить нулевые цены производителей - сделать их равными закупочной цене, или вообще исправить везде цены производителей, сделав их равными закупочной цене.

Из каждой строчки в данной форме можно попасть в накладную, в которой она была создана, что облегчит поиск данных, и что является распространенным явлением в программе SOLARIS ;-).


Проверки атрибутов карточек в перебросах и возвратах

сверка атрибутов карточек в перебросах

Данная проверка касается карточек, сгенерированных вследствие перебросов товара или вследствие возвратов от покупателей. Проверяются всевозможные атрибуты карточек на равенство, если такого нет - то существуют 2 кнопки: одна - исправить в дочерних карточках, другая- исправить в карточках-предках. Список атрибутов перебирается в списке в панели настроек.

Для простоты анализа те пары атрибутов, которые не совпадают, выделяются жирным шрифтом красного цвета.


Проверки списания с карточек по складам

проверки правильности списаний по складам

Вообще-то, Вы никогда не должны увидеть здесь какие-то данные, если, конечно, не ковыряетесь непосредственно в таблицах, как я это сделал для демонстрации на рисунке. Однако, все мы люди, а программы тоже могут не всегда уследить за чересчур активными пользователями, и, поэтому бывает, что и здесь информация проявится кое-какая.

Смысл данной ошибки в том, что накладная выписывается со склада 1, а картотека используется со склада 2. Везде, где возможно, на этот счет стоят "заглушки", но, пока они стояли не везде (а может и до сих пор есть где-то слабые места, неизвестные программисту), данная форма была полезна. Может быть, она полезна и до сих пор. Во всяком случае, проверить не мешает.


Проверки дублирования номеров накладных

Проверка дублирования номеров накладных

Программа SOLARIS предполагает, что в базе данных номера накладных для одного склада за одну дату будут уникальны. Однако, теоретически эта нестыковка может появиться в базе данных, особенно, если Вы активно работаете в локальной сети и создаете одновременно с нескольких мест расходные или приходные накладные. В этом случае программа на одном из рабочих мест может не успеть заметить изменения в последующем свободном номере накладной, и присвоить одинаковый номер одновременно двум накладным на разных рабочих местах. Хотя, во время сохранения, программы должны отследить факт наличия накладной с указанным номером за ту же дату для того же склада, однако, на практике могут произойти сбои, и тогда нужны будут услуги упоминаемой здесь формы.

Если вдруг встретится 2 накладные с одинаковым складом, одинаковой датой и одинаковым номером, то здесь Вы увидите их в списке, и сможете одной из них поменять номер. Если этого не сделать, то Вы не сможете войти во вторую из этих накладных. Программа будет всегда открывать первую из них.


Проверки списаний с будущих приходов

проверка списаний, поступивших до прихода

В данной форме проходит проверка продаж, которые списаны с карточек, поступивших позже. Если разница выходит за пределы 1 месяца, то программа выделит указанную строку контрастным цветом.

Такого рода "неприятности", как списание до прихода, в принципе, не страшны, если снимаемые отчеты по датам не попадают между расходом и последующим после него приходом. Например, если расход был сделат 01.01.01, а приход - 03.01.01, то, если снимать остатки товаров на складе на 02.01.01, алгоритм расчета остатков может отреагировать на этот факт по-разному, что даст расхождения в информации. Например, если приход был сделан 10 шт, расход был сделан 5шт., то на 02.01.01 можно предположить остаток равным -5. И соответствующая сумма остатков в деньгах будет отрицательна. Другой алгоритм может отбросить отрицательный остаток, учитывая во внимание, что данные снимаются на 02.01.01, а карточка пришла 03.01.01, а значит, и остаток по ней =0. Однако это не будет бить с информацией по ведомости реализации, которая будет гласить, что была продажа 5 шт, а значит, и остаток, который =0, уменьшился на сумму этих 5 штук.

Не могу признать неправильным ни один из указанных алгоритмов, поэтому полагаюсь на благоразумие пользователей в данном вопросе, а чтобы можно было отследить источник расхождений в базах данных, и выведена данная форма.


Проверки накладных без контрагента

проверка накладных без контрагента

В списке оснований есть колонка с переключателем для каждого основания "расходы - требуется контрагент". Данный флажок требует, чтобы в расходных накладных с данными основаниями всегда указывался контрагент из списка контрагентов. В других основаниях контрагента можно вписывать непосредственно руками в поле "КОМУ".

Данная форма служит как раз для выявления расходных накладных, у которых требуется контрагент, а он не указан. Данная ошибка может быть опасна, если предполагается, что расходные накладные с данным основанием заносятся в картотеки покупателей, и тогда программа не сможет правильно разместить информацию, если контрагент не будет указан.


Проверки отрицательных остатков в картотеке

Выявление отрицательных остатков в картотеке

С помощью данной формы можно выявить отрицательные остатки в карточках. Несколько карточек по одному коду могут в сумме иметь положительный остаток, однако некоторые из них могут быть отрицательными, и в этом случае не всегда видно ошибку. Отрицательные остатки неприятны, в частности, при проведении инвентаризации на складе, (в магазине, в пункте). Поэтому от отрицательных остатков в картотеке нужно избавляться, тем более, когда есть в наличии карточки с положительным остатком, с которых может быть списана последняя продажа.

В форме, которая здесь рассматривается, существует кнопка "исправить", которая отделяет от отрицательной карточки последние продажи с нее в нужном количестве, после чего необходимо сделать пересчет остатков, чтобы эти продажи списались с других карточек по данному коду.


Проверки дат и количества в перебросах

проверка атрибутов в перебросах (кол-во и даты)

Данная форма нужна для выявления расхождений в перебросных парах (расход <-> приход) на предмет количества единиц, а также расхождения в датах приходов и расходов.

Данная форма ничего не исправляет, она является чисто информативной, но с возможностью выхода как в расходную, так и в приходную накладную.

Здесь нельзя произвести проверки, такие как в сверках перебросов. Данная форма нужна для сверки уже зарегистрированных перебросов на предмет количества и дат оформления накладных. Такого рода ошибки могут неприятно отразиться на упаковке данных, и эти проверки в свое время были введены именно в связи с необходимостью выявления некорректной работы при упаковке данных.

Исправление делается очень просто - выясняйте, почему количества отгруженного и принятого товаров не соответствуют и устраняйте. Насчет дат ничего страшного нет, главное, чтобы упаковка базы данных была сделана не "посередине" между расходной и соответствующей приходной накладной, иначе программа не сможет правильно проанализировать ситуацию по перебросу и будут некорректные данные.


Проверка накладных из 'чужих' складов

Данная проверка имеет смысл для режима одного склада для базы данных, при мультискладском учете она бесполезна, и поэтому отключается. При ведении режима одного склада данная процедура, скорее всего, будет полезна для того, чтобы выяснить, не "закидал" ли оператор в ТОРГОВЫЙ ЗАЛ парочку накладных, принадлежащих другому складу или магазину (или пункту). Если происходит такой казус, то не всегда ошибку легко быстро выявить в следствии ее некоторой специфичности. Рассматриваемая форма дает возможность быстро выявить такие ошибки и вовремя их устранить.

Большое количество записей в нарисованной здесь примере - не следствие рабочей программы, а следствие того, что мультискладскую программу переключили на режим односкладской в целях демострации. В реальной жизни такие примочки встречаются крайне редко.


Система FastScript - стандартные объекты и функции

Встроенная система FastScript - стандартные объекты и функции

Данный список содержит неполный перечень фукнций, доступных в fastscript. Список функций постоянно расширяется как средствами системы FastReport, так и засчет собственных разработок.

Объекты

TMyWait

Форма ожидания и прогресса, появляется обычно в правом верхнем углу окна, хотя положение ее может и измениться. Отображает ход длительных процедур и прогресс выполнения. На данный момент реализация такова, что все одновременно открытые объекты TMyWait отображаются в одном окне, по принципу LIFO, видим последний созданный, когда он удаляется то видим предпоследний созданный прогресс. Время от времени реализация меняется.

  • property ProgressBarPos :integer - позиция прогрессбара (значение из диапазона ProgressBarMin - ProgressBarMax)
  • property ProgressBarMax :integer - максимальное значение прогрессбара, по умолчанию 100
  • property ProgressBarMin :integer - минимальное значение прогрессбара, по умолчанию 0
  • property Text - Текст сообщения
  • property AdvancedText - дополнительный текст
  • property VisibleProgress :boolean - видимость прогрессбара
  • constructor Create(const MSG :string = '') - конструктор, параметром передается начальный текст
  • procedure SetProgressBounds(MinValue :integer; MaxValue :integer) - задать разом обе границы прогрессбара, но можно сделать это через свойства ProgressBarMin и ProgressBarmax
  • procedure Hide - Скрыть окно
  • procedure Show - Показать окно
  • procedure IncProgress - Увеличить прогресс на 1
  • procedure HideProgress - Скрыть прогрессбар
  • procedure ShowProgress - Показать прогрессбар
  • Procedure SaveText - Сохранить текущий текст в буфере. Повтор операции сохранит текст в следующем буфере, восстановление ведется по принципу LIFO
  • procedure RestoreText - Восстановить текущий текст из последнего сохраненного буфера

Функции:

CreateHint(Const Msg: String; Const Header: String = ''; Const Sec: Integer = -1; HintType: TMsgDlgType = mtCustom ) :variant
CreateHintC(Const Msg: String; Const Header: String = ''; Const Sec: Integer = -1) :variant
CreateHintE(Const Msg: String; Const Header: String = ''; Const Sec: Integer = -1) :variant
CreateHintI(Const Msg: String; Const Header: String = ''; Const Sec: Integer = -1) :variant
CreateHintW(Const Msg: String; Const Header: String = ''; Const Sec: Integer = -1) :variant

- Данный набор функций служит для вывода всплывающих окошек (справа сверху на экране) разного типа (CreateHint: общая с указанием типа, другие без указания, специально для каждого типа: обычный, ошибка, информация, предупреждение) с текстом MSG, с заголовком Header, и определенным количеством секунд (по умолч. 5 сек).

StringToList(const Str: string; List: TStrings; const Separators: string = ';')

- Разложить строку в несколько (из параметра Str в параметр List, используя как разделители переменную Separators, разделителей может быть несколько, предполагается наличие разделителя из одного символа.

bvMessage(Mess: string; CapString: string = '!')
bvMessageError(Mess: string)
bvMessageWarning(Mess: string; CapString: string = '!')

- Набор функций для вывода модальных сообщений с кнопкой Ok. Сообщения могут быть обычны, сообщения об ошибках, предупреждения.

GetConfirm(Text: string; VarIgnoreText: string = ''; VarOkText: string = ''; VarCancelText: string = ''): integer

- Выводит диалоговое окно с текстом запроса Text и кнопками Ignore (опционально, если указано, Ok и Cancel). Можно указать тексты для этих кнопок. Возвращает значения mrIgnore, mrOk, mrCancel.

GetFileList(const Directory: string; List: TStrings; const mask: string = '*'; ReturnFullPath :boolean = False; SubDirs :Boolean = False;ShowAccessTime :Boolean = false)

- получение списка файлов в каталоге Directory, для вывода используется List. Файлы могут фильтроваться маской mask (tmp_*.db). Можно указать полные пути к файлам в соответствии с переенной ReturnFullPath. Можно поднять список файлов во всех подкаталогах указанного каталога, можно в имя файла включить техническую информацию - время доступа к файлу, время создания файла (удобно для выявления новых и изменившихся файлов в каталоге).

GetUniqueFileName(Directory: string = '?'; FileName: string = ''): string

- Получить уникальное имя файла в каталоге Directory. Можно использовать шаблоны через FileName, в соответствии с которыми сгенерится это имя (tmp_*.db)

StringToFile(const FileName: string; const Contents: String)

- Сохранить текст из Contents в текстовом файле Filename

CreateOleObject(ClassName: String): Variant

- Создать OleObject класса ClassName.

RaiseException(Param: String)

- Сгенерировать объект исключение с текстом Param (аналог raise в Delphi)

ValidDate(cDate: String): Boolean

- Проверка строки на корректность ее с точки зрения перевода в дату

ValidFloat(cFlt: String): Boolean

- Провека корректности строки с точки зрения перевода в число с фикс. запятой

ValidInt(cInt: String): Boolean

- Проверка корректности строки с точки зрения перевода ее в целое

VarArrayCreate(Bounds: Array; Typ: Integer): Variant

- Создать объект VarArray

VarType(V: Variant): Integer

- Вернуть тип вариантной переменной

ExceptMessage :string

- Вернуть сообщение из текущего Exception

ExceptObject :Exception

- Вернуть текущий объект Exception (аналог except on e:exception do end)

Объекты-аналоги:

ExceptionClassName: String
ExceptionMessage: String

FibExecSQL(const SQL:string; Params :array of variant; DB:TpFibDatabase)

- Выполнить SQL с параметрами Params (если пусто, следует указать [NULL]) для базы DB)

FibExecSQLFRX(const SQL:string; Params :array of variant; DB:TFRXFIBDatabase)

- Аналог - FibExecSQL для компоненты-базы типа TFRXFibDatabse

FibExecSQLTr(const SQL:string; Params :array of variant; Tr:TpFibTransaction)

- Аналог FibExecSQL, но для идентификации базы используется Transaction

FIBQueryValue(const SQL :string; ParamValues :array of variant; const Transaction :TFibTransaction) :Variant

- Вернуть значение выполенния запроса (предполагается, что вернется одно значение)

FIBQueryValues(const SQL :string; ParamValues :array of variant; const Transaction :TFibTransaction) :Variant

- Вернуть набор значений выполнения - вариантный массив, может быть и двумерным

FIBReadQuery(Destination :TClientDataset; const SQL :string; ParamValues :array of variant; const Transaction :TFibTransaction) :Boolean

- Вернуть запрос в TClientDataset

FileExecute(const CommandLine :string; InitialState :TExecState): Integer

- Выполнить средствами операционной системы командную строку CommandLine

FileExecuteWait(const CommandLine :string; InitialState :TExecState): Integer

- Выполнить средствами операционной системы командную строку CommandLine, дождавшись ее окончания

MoneyText(Value: double; OkPunct: boolean = true; OkDigits: boolean = true; OkNullKop: boolean = false; OkCurrText: boolean = true; Pol: integer = 1; Separator: string = '') :string

- Вернуть сумму (значение - Value) в виде текста (двадцать пять рублей 40 копеек.)

ReadDataSet(DestinationCDS :TClientDataSet; SourceDataSet :TDataSet) :Boolean

- Скопировать SourceDataset в DestinationCDS - TClientDataset. Наивысшая скорость копирования

ReadDataSetToArray(SourceDataset :TDataSet;ColumnsFirst :Boolean=true; const Fields :string = '') :Variant

- Скопировать SourceDataset в массив. ColumnsFirst отражает, что быдет стоять первым индексом - колонки или строки. Fields - приведенный через точку с запятой список полей, интересующих в SourceDataset. Если не указано, то берется все. Возвращается указательно созданный массив.

ReadTXT(const DestinationCDS :TClientDataset;const SourceFileName: string;const Delimiter: string = #09; const FieldNames: boolean = True;const MissStrings: string = '';const Conversion: ConversionTypes = ctNone;const NullF: Boolean = false;const NullFNum: Integer = 1; const NoCSVAlgoritm: boolean = false): boolean

- Прочитать текстовый файл с в таблицу DestinationCDS (TClientDataset). В качестве параметров испоьзуются имя файла, символ разделителя (по умолчанию табуляция, FieldNames - необходимость указать первой строкой названия полей, MissStrings - необходимость пропускать строки с указанным текстом, Conversion - необходимость конвертировать текст в Ansi или в OEM, NullF - необходимость заполнять пустые поля пустыми значениями, иначе значения остаются NULL, NoCSVAlgoritm - необходимость отключить интерпретаци кавычек, принятую в формате CSV

ReadXLS(const DestinationCDS :TClientDataset;const SourceFileName: string): boolean

- Считать таблицу из файла XLS в набор данныз DestinationCDS типа TClientDataset. Работа ведется через OLE MS Excel

ReadXML(DestinationCDS :TClientDataset; SourceFileName: string): Boolean

- Считать таблицу из XML-файла, предполагается струкрута, понимаемая компонентами TClientDataset

SaveDatasetToTxt(FileName: string; Dataset: TDataSet; p0AsNull: Boolean = true; Delimiter :string=''; ShowDialog :Boolean = False)

- Сохранить таблицу Dataset в текстовом файле с указанными разделителями

SaveDatasetToString(Dataset: TDataSet; p0AsNull: Boolean = true; Delimiter :string=''; ShowDialog :Boolean = False) :string

- Сохранить таблицу Dataset в памяти, (функция возвращает значение как string)

TableAppend(ResultTable: Tdataset; Source: TDataSet; p0asNULL: boolean = False; Fields: string=''; UseProgress :Boolean =false)

- Добавить данные в ResultTable из Source

TableCopy(ResultName, Source: string; p0asNULL: boolean = False; IDFieldName: string = '';UseProgress :Boolean = true)

- Скопировать данные из таблицы c именем Source в ResultName

TableCopyD(ResultName: string; DataSet: TDataSet; p0asNULL: boolean = False; IDFieldName: string = '';UseProgress :Boolean = true)

- Скопировать данные из таблицы Dataset в таблицу с именем ResultName

URLDownloadToFileSimple( SourceFile: string; DestinationFile: String): integer

- скачать файл из URL

ZipAdd(const ZipName :string; SourceFileName :string; const BaseDirectory :string = '' )

- Добавить файл SourceFileName в архив ZipName (создать, если нет)

ZipAddDir(const Zipname :string; SourceDirname :string; const BaseDirectory :string = '')

- Добавить все файлы из каталога SourceDirName в архив ZipName

ZipAddDirS(ZipStream: TStream; Dirname :string; const BaseDirectory :string = '')

- Добавить файлы из каталога в Zip-поток

ZipAddFS(const ZipName :string; SourceStream: TStream; const FileName :string; const BaseDirectory :string = '')

- Добавить файл с именем FileName из потока SourceStream в Zip-архив ZipName

ZipAddSF(ZipStream: TStream; SourceFileName :string; const BaseDirectory :string = '')

- Добавить файл SourceFileName в Zip-поток

ZipAddSS(ZipStream: TStream; SourceStream: TStream; const FileName :string; InitSourceStream :Boolean= true)

- Добавить файл с именем FileName из потока SourceStream в Zip-поток ZipStream

ZipExtract(const ZipName :string; DirName :string; FileName :string = '') :boolean

-

ZipExtractAll(const Zipname :string; Dirname :string) :string

- Распаковать все данные из файла ZipName в каталог DirName

ZipExtractAllL(AZipStream: TStream; Dirname :string) :string

- Распаковать все данные из потока AZipStream в каталог DirName

ZipExtractAllSL(AZipStream: TStream; AOutStreamList: TObjectList) :string

- Распаковать все данные из потока AZipStream в список потоков AOutStreamList

ZipExtractS(const ZipName :string; AOutStream :TStream; FileName :string = '') :boolean

- Распаковать файл FileName из файла ZipName в поток AOutStream

ZipExtractSS(AZipStream: TStream; AOutStream: TStream; FileName :string = '') :boolean

- Распаковать файл FileName из потока AZipStream в файл AOutStream

ZLibCompress(const InpStream,OutStream :TStream; Level :TCompressionLevel=clDefault

- Упаковать поток OutStream в ZLib-поток InpStream

ZLibDecompress(const InpStream :TStream; const OutStream :TStream))

- Распаковать ZLib-поток InpStream в поток OutStream

AppIniFile: TIniFile

- Объект TIniFile, который используется программой локально на данном рабочем месте

Application: TApplication

- Объект Appication приложения-хостера

Session: TSession

- Объект BDE Session, который присутствует во всех приложениях, имеющих доступ к BDE с помощью встроенных средств Delphi


Редактор скриптов FastScript

Для работы со скриптами FastScript в программе есть редактор (пункт меню Администратор/Редактор скриптов. Он позволяет создать/открыть, отредактировать любой скрипт, откомпилировать и выполнить его. В редакторе используется подсветка кода , что несколько облегчает работу программиста. И главное - в редакторе доступен список всех классов, функций и переменных, доступных в системе. Справа в редакторе высвечивается дерево функций, переменных и классов с комментариями на каждом элементе при его выделении. При двойном клике на элементе его описание переносится в редактор кода в место курсора. Редактор сам распознает язык скриптов по их расширениям и применяет соответствующие правила синтаксиса и расцветки.

Подробнее о списке доступных классов и функций


Методика создания возвратов от покупателей

Возвраты от покупателей, торговый зал

Чек возврата для торгового зала доступен из кнопки "чек возврата", которая размещена в окне "чек розницы".

кнопка возврата.

Окно возврата от покупателя обладает необходимыми в торговом зале функциями (выбор возвращаемого товара из журнала продаж, пробитие чека возврата).

Особенность работы с возвратом состоит в том, что при нажатии F6, в отличии чека розницы, будет вызван не справочник товаров, а журнал продаж, где оператору нужно будет найти возвращаемый товар и выбрать его (ENTER), указав возвращаемое количество. При пробитии чека возврата, если подключен кассовый аппарат, то в кассе будет пробит чек возврата.


Импорт накладной

Импорт приходной накладной

Состав приходного документа поставляется Вашим поставщиком (файлы *.db, *.dbf, *.txt, *.xls), Поля в таблице могут называться как угодно, главное, чтобы смысл этих полей поставщик довел до пользователей. При закачке накладной программа производит сверку наименований с нашим списком товаров. Если необходимо, то будут сверены списки производителей, (сертифицирующих органов и органов, выдающих протоколы анализов - для фармацевтики). После сверки программа забирает в заготовленную накладную данную таблицу. Данная методика дает существенное ускорение ввода накладной. Здесь необходимо будет только согласовать наименования товаров, причем процедура согласования самообучающаяся - достаточно для данного варианта написания препарата однажды сопоставить его с нашим кодом.

Начинается процедура открытия приходной накладной. После нажатия кнопки "создать накладную" будут активизированы кнопки работы с накладной, где Вы увидите кнопку импорта Кнопка ИМПОРТ в накладной

С помощью диалогового импорта таблицы (ан-но реестру), Вы указываете файл, который будет закачан.

Далее сопоставляются поля принимаемой и принимающей таблиц.

Полученная таблица будет служить буфером для дальнейшей обработки:

Далее с помощью кнопок согласования справочников товаров, производителей, серт. органов можно согласовать данные списки с нашими. Процедура процедуре сверке при загрузке реестра - программа пытается сопоставить наименования напрямую, если не находит, то забирается в базу знаний, которая автоматически формируется по ходу работы программы. Если в базе знаний аналоги не найдены, то программа запросит у пользователя, с какими кодами нужно сопоставить данное наименование, и, если нужно, создаст новый код в нашем справочнике.

Поиск товара:

поиск производителя:

После выполнения этих процедур можно нажимать кнопку "импорт", и программа закачает в открытую накладную весь товар и все возможные его атрибуты. Автоматическая закачка атрибутов товара как раз и является серьезным выигрышем в скорости.


Заявки

Взаимодействие с системой заказов сети аптек Бонум

Программа Solaris может взаимодействовать с системами заказов, для чего в ней прописываются специальные модули-скрипты из стандартного набора действий (прайс, заявка, накладная, иногда отказы)

Для настроек экспорта прайс-листа необходимо в установках программы солярис, на закладке "импорт-экспорт в таблице "экспорт прайс-листа" прописать строку с именем пункта экспорта ("Бонум", например) и файлом скрипта (скачанным отсюда). После этого в прайс-листе на кнопке "экспорт" появится дополнительный пункт меню с указанным в настройках именем. При выбора данного пункта меню текущие данные в таблице прайс-листа будут сформированы в определенном сетью Бонум формате и выложены в письмо по определенному адресу. В качестве почты будет использована система Solex. При следующей доставке почты в Solex прайс уйдет в Бонум.

Для настроек импорта заявки используется стандартная процедура импорта заявок. Инструкции по настройке здесь.

Для настроек экспорта накладной мы должны файл-скрипт, скачанный отсюда, прописать в установках программы на закладке "Импорт-экспорт" в таблице "скрипт экспорта накладных". После этого в меню экспорта в накладной появится указанный пункт, после чего можно будет передавать файлы с накладными покупателю. Для транспортировки используется система Solex.


Импорт накладных через, Общая форма

Общая форма импорта накладных

Весьма распространенный вариант приема накладных из файла простого формата (DB, DBF, TXT c любыми разделителями, CVS, XLS (Excel на компьютере пользователя не нужен, используется встроенный интерпретатор XLS-формата). Для осуществления импорта в этом варианте не требуется каких-то специальных настроек и участия программистов, операторы могут самостоятельно провести все операции от начала и до конца.

Данный способ прием накладной поставщика предполагает, что файл-накладная уже доступен на компьютере или в локальной сети, выложен из почты. Для старта оператору необходимо выбрать пункт меню "Импорт накладной <- Общая форма" в меню к кнопке "Импорт накладных" в открытой приходной накладной. Оператор попадает в окно "прием файла".

Здесь необходимо выбрать файл с накладной в поле "Файл", в правой части окна отобразятся первые несколько строк из него в качестве теста. Если оператор увидит отображение в неправильной кодировке, он должен переключиться с варианта "Как есть" на один из альтернативных, тогда произойдет перекодировка данных. В поле "драйвер" нужный вариант обычно выбирается автоматически, однако иногда может потребоваться указание альтернативного драйвера для файлов данного типа. Например, для файлов DBF возможен выбор BDE-драйверов DBase и FoxPro, а также выбор драйвера MS Jet для файлов DBase и FoxPro.

Для предварительного просмотра данных из таблицы можно нажать кнопку "Открыть". После этого (или сразу без использования кнопки "открыть") нужно нажать "Принять", и будет осуществлен переход в следующее окно, очень важное в данном способе приема накладных: "Копирование таблиц":

Настройка полей импорта

Здесь мы должны первым делом указать в поле "вариант" название варианта согласования полей. При следующей загрузке файла от этого поставщика мы просто выберем данный пункт из ниспадающего списка, однако первый раз мы должны настроить поля сами.

Замечание по настройкам: файлы настроек хранятся в подкаталоге tab2tab рабочего каталога программы Solaris, файлы имеют простую структуру и носят имена = именам вариантов, их можно легко копировать. Варианты таких настроек можно найти по адресу www.solr.ru/download/solaris/scripts/import_invoices_plugins/tab2tab - файлы без расширений.

Сопоставление полей справа (таблица от поставщика) с полями слева (стандартные поля в solaris) производится простым перетаскиванием мышкой поля из правой части в левую часть на соответствующее поле.

При импорте обратить внимание на особенности ценообразования и налогообложения в программе поставщика, о чем можно справиться у специалистов этой организации. Так, например, важно учитывать, что розница считает базовой ценой продажи и закупки, как правило, цену с НДС, а поставщики за базу берут цену без НДС, поэтому, когда они дают в накладной 2 цены, Цену без налога и Цену с налогом, и обе они будут округлены до 2 знаков, то есть до копеек, то это будет означать, что одна из них неточная, и сумма по ней не скрыжится с распечатками к этим накладным. Поэтому, если правильной является цена с НДС, то достаточно ее сопоставить с полем "Цена" в солярисе, а если правильной является Цена без НДС, то мы должны оставить поле Цена в левой таблице не сопоставленным, а вместо него сопоставить с аналогичным у поставщика поле "Цена без налогов". В этом случае программа при импорте накладной пересчитает цены правильно, и суммы накладных будут совпадать с распечатками.

Замечание: Никогда не берите коды справочников от поставщика. Мы используем собственную кодировку, и если указать коды при импорте, то программа или сгенерирует новые товары с указанными кодами, или примет их на уже существующие, если таковые есть. Поля для сопоставления кодов нужны при выполнении других задач по интеграции, это не работает в описанном здесь варианте импорта накладных от поставщиков.

При выходе из данного диалога программа спросит о сохранении варианта настроек полей, необходимо дать утвердительный ответ. Однако нужно помнить, что необходимо указать вариант настроек, иначе при следующем приеме придется сопоставлять поля заново.

После приема данных из файла оператор попадает в окно "Импорт накладной", где будет производиться согласование кодов справочников, второй этап импорта накладной.


Инструкция по интеграции с программой статистики по жизненноважным препаратам

Интеграция с программой статистики по жизненноважным препаратам

Программа Solaris может быть использована для ускорения формирования отчетности по жизненноважным препаратам (отчетных форм статистической отчетности в соответствии с Приказом Минздрава РФ от 7 сентября 2000 г. N 340 "О введении форм федерального государственного статистического наблюдения за закупкой, продажей и запасами жизненно необходимых и важнейших лекарственных средств и фактическими ценами на них"). Для начала работы необходимо установить программу "Статистика" НИИ фармации МЗ РФ (<Центр мониторинга> Москва, Нахимовский проспект, 45 Тел:(095)718-07-00, (095)128-57-66, (095)129-09-40, (095)718-06-11, (095)129-12-41, Факс:(095)128-33-92) в соответствии с прилагаемой к ней инструкций. Получить данную программу можно в ГУ <Центр контроля качества и сертификации лекарственных средств> в Саратовской области. (Тел: 52-46-78, 52-46-79, 52-46-80). Для его функционирования которого потребуется установка MS Office. Все отчеты формируются в этой программе, однако процедуру заполнения таблиц можно провести из программы Solaris непосредственно. При этом придется провести дополнительно процедуру согласования кодов справочников программы Solaris и данной программы, для того, чтобы залить в нее свои данные в терминологии этой базы.

Для начала необходимо настроить работу драйвера ODBC.

После настройки перейдем непосредственно к работе с данными

Настройка драйвера

Для начала мы должны убедиться. что в системе установлен пакет MS Office, а точнее MS Access. Без него статистика работать не будет, а также невозможно будет подключиться к ней из программы Solaris.

Если все установлено, и сама программа статистики запускается, то можно настраивать

Открываем BDE администратор в панели управления Windows. Оттуда вызываем ODBC Администратор (ну или вызываем его любым другим известным нам способом).

В закладке "пользовательский DSN" мы должны добавить новую рабочую область

В диалоге выбора драйвера указываем "Microsoft Access Driver (*.mdb)"

Далее мы увидим диалог "установка драйвера ODBC для MS Access".

В имени источника нужно вписать solarisliveneedtemp

Добавление рабочей области

В настройке "база данных" нажимаем "выбрать". И выбираем наш файл статистики:

выбор базы для работы

В настройке "системная база данных" нужно указать нашу системную базу. Предварительно е нужно будет найти. Находиться она должна предположительно в "documents and settings".

выбор системной базы

В настройке "дополнительно" указать Admin без пароля.

Дальше все сохраняем и перегружаем все программы.

Работа с данными

Первым делом формируется список жизненно важных препаратов из списка товаров программы . Данную процедуру необходимо провести только один раз. Для этого необходимо пройти по справочнику товаров в программе и поставить на всех нужных товарах пометку "список жизненно важных".

Далее по меню "интеграции/Жизненно важные препараты" переходим в рабочую форму:

В настройках формы (закладка"настройки") нужно обратить внимание на установку организации (организация выбирается из списка, но должна быть заранее создана в самой программе статистики") и на тип организации:

Указываем также год и квартал для отчета, пометку - включать ли только жизненноважные препараты (рекомендуется, для этого мы и редактировали справочник, помечали нужные нам позиции), а также пометку, нужно ли анализировать только товары с производителями (рекомендуется, так как в отчете по жизненноважным производитель указан всегда). На подзакладках "основания приходов", "основания расходов" и "склад" выбираем нужные нам склады, основания приходов и расходов, которые должны участвовать в формировании статистики.

На закладке Раздел 1-2 мы нажимаем "Открыть/Обновить" и получаем текущий отчет по приходам и расходам. После того, как отчет будет сформирован, нам необходимо зарегистрировать все его препараты. Если препарат с таким производителем не будет найден в базе статистики, то он в отчет не попадет.

Регистрация кодов запускается по кнопке "регистрация кода". База знаний по зарегистрированным позициям ведется с учетом производителя и будет сохранена для дальнейших отчетов.

Можно также набрать строки вручную, через выбор товара из справочника товаров (F6) и выбор производителя из справочника производителей (F7). Можно скорректировать любой параметр в отчете вручную.

После окончания оформления разделов 1 и 2 необходимо зайти в раздел 3, нажать "открыть/обновить", и сформируются суммы по новому периоду.

Далее в разделах 1-2 нажимаем "выброс данных в файл stat". Данные попадут в программу "Статистика".

После выполнения всех этих действий нужно перейти в программу <Статистика> и сформировать готовый к отправке файл. На этом создание статистического отчета завершено.


Карточка контрагента (поставщики и покупатели) - внесение оплаты

Выплата сумм производится в формах "карточка поставщика", "карточка покупателя" и "карточка по складу". Выплата может быть как в приходе, так и в расходе. Приходы для поставщиков имеет смысл вносить как начальный остаток или другую кредиторскую задолженость, аналогично и для расходов по покупателю.

В качестве реквизитов выплаты указываются:

  • Дата оплаты
  • Форма оплаты - указывается в списке оснований, тип основания - форма оплаты. Иногда используется покупателями для разделения "нал"/"безнал", однако в этом случае необходимо помнить, что наличие налога с продаж определяется не формой оплаты, а основанием в накладной.
  • Склад - можно указывать, на каком складе происходила выплата, если допускается оплата на других складах (магазинах, пунктах).
  • Счет - можно указать счет из списка счетов
  • Комментарии

К выплате автоматически привязывается товар. Если необходимо указать товар вручную, то можно нажать "оплачиваемый товар" - там будет возможность выбрать товары из числа неоплаченных. Можно также выбрать галочку "Без привязки к товару", что отключит привязку данной выплаты к товару, и не будет выдавать данную выплату в списке ошибок при проверке согласования сумм оплат с товаром. Данная опция полезна, если выплата погашает выплату, сделанную не накладной, а руками. В этом случае товара, к которому можно будет привязаться, не будет.


Накладная

Набор накладной

В данной форме производится набор новых накладных и изменение данных по ранее набранным накладным. Все изменения в накладных могут быть произведены только из данной формы.

Данная форма доступна как из основного окна (меню или кнопка), так и при вызове дополнительного меню в некоторых окнах, таких как картотека или движение товаров. Изменения в ранее набранной накладной можно ограничить только пользователем, набравшим данную накладную, либо пользователем с правами доступа администратора баз данных. Приходные и расходные накладные создаются с помошью одной и той же формы. Для переключения приход/расход переключатель 'приход'/'расход' необходимо переключать соответствующий список в правом верхнем углу формы, который доступен при закрытой накладной. Новая накладная создается нажатием кнопки "+" около номера накладной кнопка 'создать документ' в шапке накладной или нажатием кнопки "новая накладная" 2-я кнопка 'создать документ' на панели кнопок данной формы(названия кнопок и подсказки появляются, если подвести мышь к кнопке и задержать ее там на несколько секунд).

При создании новой накладной программа сгенерирует новый номер в соответствии с установками программы, а по умолчанию обновление номерации накладных ведется каждый день, по каждому складу отдельно. Можно настроить программу на генерацию накладных раз в месяц, раз в квартал, раз в год, и на сквозную номерацию накладных для всех складов (см. "администрирование").

После открытия новой накладной контрагентом (складом), участвующим в накладной от имени предприятия ("кто" - в расходной, "Кому" - в приходной), является склад по умолчанию, указанный в установках программы, если нужно изменить склад, то необходимо указать на кнопку справа от имени контрагента и из списка складов выбрать нужный. В том же списке ведутся и покупатели, и поставщики. Все контрагенты абсолютно равноправны и поэтому могут быть выбраны в любой роли. Для того, чтобы накладная сохранилась, необходимо, чтобы в приходной накладной был указан контрагент (в расходной это необязательно, если того не требует основание, см. список оснований), основание накладной и выбран какой-нибудь товар. Если в накладной не указан товар или не указано количество выбранного товара, то товар не сохраняется. Так же, если в существующей накладной удалить весь товар, она удалится при сохранении. В расходной накладной контрагента можно вводить вручную, не выбирая его из списка (если того не требует основание, см. список оснований). В этом случае он будет рассматриваться как частное лицо.

Если нужно открыть накладную, которая уже введена в базу данных, то необходимо указать дату накладной, номер накладной и склад, участвующий в накладной в соответствующих полях, после чего нажать кнопку "Открыть накладную" кнопка 'Открыть накладную'. Можно также выбрать накладную из списка, нажав кнопку справа от номера накладной.

кнопка 'Выбрать из списка накладных'

Можно открыть накладную из списка накладных.

В шапке накладной доступны такие поля:

  • "Код" кнопка 'КОД' - дополнительный идентификатор накладной, для приходных накладных полезен при указании номера накладной поставщика (не используйте наши номера накладных для указания номера у поставщика - они могут пересекаться или могут иметь номерацию, принципиально отличающуюся от нашей!);
  • Дополнительные строки справа от имен контрагентов и основания кнопка 'дополнительно' - используются при указании дополнительных сведений для данной накладной. Включаются нажатием соответствующих кнопок "+" слева от данных строчек;
  • "Срок" кнопка 'Срок оплаты накладной' - бывает полезен при учете накладных, оплата по которым должна быть осуществлена не позднее данного срока.
  • "Определение наценки (надбавки, скидки) для накладной" - наценки в накладных - указывается процент наценки, после чего весь товар в накладной будет расцениваться в соответствии с указаными величинами.

    кнопка 'наценки в накладной'

    кнопка 'наценки в накладной'

  • визуальный контроль НДС "Контроль НДС" - можно установить контроль НДС в накладной по определенной ставке. Это означает, что весь товар в накладной, не удовлетворяющий указанной величине НДС, будет выделен в накладной контрастным цветом, что, однако, не запрещает его ввод. Это позволяет визуально контролировать состав накладной по ставке НДС на выбираемый там товар.
  • "Не отгружена" - если установлен данный флажок, то накладная будет сохранена, но остаток по ней не будет сформирован визуальный контроль НДС, то есть не отгружен. Чтобы пометить неотгруженную накладную как отгруженную, необходимо в нее войти, снять данный флажок визуальный контроль НДС и сохранить. Если накладная не отгружена, то она не будет фигурировать в списке накладных, подлежащих переносу при обмене данными.

Внизу накладной отражается панель с суммами:

суммы в накладной

  • наценки(доп.наценки),
  • кол-во мест,
  • кол-во единиц товара,
  • суммы НДС и налога с продаж,
  • суммы за товар
  • и общие суммы.
  • Если в параметрах накладной указано, что необходимо показывать суммы наценки в приходе (или закупки в расходе), - вызвать ниспадающее меню - правая кнопка мыши, то около суммы накладной в скобках будет указана соответствующая сумма.
  • Чуть правее - кнопка - "автоматический пересчет сумм - вкл/выкл", позволяющая на некоторое время отключать автоматический пересчет сумм накладной, срабатывающий при изменении многих параметров накладной, что позволяет ускорять ввод больших по составу накладных.

С помощью ниспадающего меню в накладной можно:

  • "Автопоиск пропущенных полей" - при оприходовании товара переход со строки на строку будет сопровождаться переходом на самое левое незаполненное поле, что облегчает поиск пропущенный полей.
  • "Дополнительная панель к составу/шапке" - можно убрать лишние панели, освободив тем самым место на экране. Кстати: Вы можете открыть данную форму сколько угодно раз, и в каждой из них открыть отдельную накладную, одновременно их редактируя. Единственное условие - нельзя дважды одновременно открывать накладную, как нельзя открыть ее сразу двумя пользователями. Доступ к накладной имеет в момент времени только один из пользователей в одном окне!

Кнопки:

  • - "Сохранить изменения в накладной" - можно вызывать нажатием "F2" на клавиатуре - сохраняет новую или измененную накладную.
  • - "Отменить изменения" - аналогично - отмена изменений в накладной.
  • - "Новая накладная" - создает новую накладную, генерирует новый номер с текущей датой на указанном складе.
  • - "Открыть накладную" - открывает накладную с указанными в шапке номером, датой и складом.
  • - "Закрыть" - закрывает текущую накладную. Полезна, если необходимо перейти с приходных накладных на расходные.
  • - "Печатать" - две кнопки, одна печатает накладную, другая позволяет напечатать целый список документов к данной накладной.
  • - "Печать ценников (F10)" - позволяет печатать наборы ценников непосредственно при оприходовании товаров или при перебросе их в торговые пункты.
  • - "Вызов списка товаров - (F6)" - вызывается форма со списком товаров по номенклатуре, из которой нажатием клавиши Enter товар выбирается в данную накладную. F6 - позволяет быстро переключаться между данной накладной и списком товаров.
  • - "Картотека (Ctrl-F6)" - аналогично списку товаров вызывается картотека товаров. - "Создать/проверить соответствующую накладную на складе-получателе" - позволяет генерировать из расходной накладной соответсвующую приходную накладную и из приходной накладной - расходную накладную с со- накладную с составом из данно накладной. Применяется при перебросах - из расходной накладной генерируется соответствующая приходная накладная на складе-получателе, формирующая картотеку на данном складе. Карточки, переброшенные на данный склад, дублируются на данном складе, дублируется номер карточки. Будьте внимательны при перебросах - не забывайте, что перебросы состоят из рассходной накладной со одного склада и приходной накладной на другой склад, которые должны быть идентичны по своему составу.


Работа со штрих-кодами и с кассами в режиме OFF-LINE

Штрих-коды и OFF-LINE режим кассы

Во время оприходования товара в программе генерируются карточки. Каждая строчка в приходной накладной - есть карточка с уникальным номером. Номер карточки -есть номер стеллажной карты.

У каждой карточки кроме собственно номера существует много реквизитов: серия, срок годности, № сертификата, № грузовой таможенной декларации, № протокола анализа, срок действия сертификата, кто выдал сертификат и протокол анализа, производитель товара и т.д. Существует и поле "штрих-код", которое программа по умолчанию забивает равным номеру карточки (или отличающимся от него на определенное число, напр. № карты + 10000). Можно вместо сгенерированного номера вставлять другой штрих-код, например тот, который указан на упаковке данного товара. Если использовать код, сгенерированный программой по умолчанию, то очевидно, нужно будет нанести его на упаковку с помощью специального принтера, печатающего штрих-коды, или с помощью обычного принтера на бумаге с липкой основой с помощью блока, печатающего штрих-коды:

Можно печатать штрих-коды разных форматов:

Если Вы используете штрих-коды, печатаемые производителем на упаковке, то помните, что касса не может держать в памяти одновременно 2 товара с одним и тем же штрих-кодом, но с разной ценой. Для этого в программе есть процедура отслежки товаров с данным штрих-кодом.

С помощью процедуры обмена данными (см выше ) можно закачивать список имеющихся товаров в кассовый аппарат, и продавать с него с помощью сканера штрих-кодов или, вводя штрих-код вручную (он может совпадать в данном случае с номером карточки).

По прошествии какого-то периода можно считать продажи из кассы, по каждому штрих-коду. Во время закачки программа сопоставляет штрих-коды, загруженные в кассу с собственной базой данных и оформляет расходную накладную.

Некоторые кассы могут работать в OFF-LINE -режиме. Для этого некоторые из них требуют установки дополнительных плат (ПТС для Samsung), в некоторые из них эти возможности встроены сразу (Fujitsu, АМС), но требуется установка дополнительной памяти для загрузки большого количества наименований.

Как правило, ключом для поиска товаров в кассовом аппарате является штрих-код для данного товара. Иногда существует PLU - порядковый номер, которые соответствует номеру ячейки в кассе, он ограничен набором от 1 до 4000 или еще какой другой величины, в зависимости от объема памяти, установленной в ККМ, иногда PLU отождествляют со штрих-кодом. Как правило, работают со штрих-кодом. В кассе обычно имеется возможность указать с клавиатуры штрих-код (если не считал сканер или сканер сломан, или его просто нет). Если сканера нет, то можно использовать небольшие номера штрих-кодов, например, равные номерам карточек в программе, наносить их маркером на самом товаре, и тогда будет достаточно легко при продаже данного товара указать его с помощью клавиатуры ККМ и продать. Если существует сканер, то можно использовать штрих-коды, указанные производителем на упаковке, что значительно сократит расходы на печатание штрих-кодов, однако надо будет отслеживать, не существует ли в данный момент остаток по указанному коду, но с другой ценой. Эта методика недопустима для фармацевтических предприятий, они должны пользоваться собственной кодировкой, так как постоянно будут сталкиваться с товарами, обладающими одинаковым штрих-кодом, но разными сериями, что недопустимо при продаже.

Обмен с кассой производится по схеме:

  1. Программой формируется снимок с нашей базы данных (буфер), который будет переходом между программой и кассой. Во время этого программа отслеживает правильность задания штрих-кода, уникальность цен и другие параметры.
  2. После анализа всех ошибок и их исправления (если таковые были), оператор дает команду программе на закачку информации о товарах в кассу. Происходит обмен между буфером и кассой. Этот пункт производится по необходимости, если мы вводили в программу новые данные или производили изменения.
  3. Далее по необходимости считываются продажи, накопившиеся в ККМ. При этом программа также отслеживает ошибки, которые могли возникнуть (физические или логические) и доводит до сведения оператора.
    1. Продажи считываются в буфер обмена. Анализируются ошибки. На этом этапе можно увидеть выручки по товарам, по отделам и по кассирам.
    2. Из буфера обмена данные переносятся в базу данных. При этом на основании продаж генерируются расходные накладные.
    3. По необходимости информация о продажах в кассе стирается. Если этого не делать, то можно предыдущий пункт выполнять на основании разницы в продажам между предыдущим считыванием и текущим. ЭТо дает возможность сократить время на стираниях продаж, что бывает существенно.
  4. Если в ККМ накопилось достаточно много штрих-кодов, которые уже проданы в программе, то можно их удалить. Для этого программа сообщает, какие это коды, и делает удаление разом.

Весь механизм может в лету показаться достаточно сложным, однако при реальной работе мы выяснили, что он достаточно интуитивен, и операторы быстро вводятся в курс дела и способны контролировать этот тонкий процесс.

С помощью загрузки в OFF-LINE-режиме предприятие может отказаться от дорогих терминальных касс, а с помощью одного компьютера (стационарного или переносного), обмениваться с кассовым аппаратом (или со множеством таковых), который будет работать с помощью сканера или ввода с клавиатуры. ККМ может быть в одном магазине, в нескольких магазинах на любом удалении от основного, что дает возможность вести предметный учет практически в любом пункте.


Заявки

Импорт заявки от покупателя

С помощью импорта заявки мы можем принять любой файл любого формата, в котором будут отображены как минимум поля, означающие Наименование и количество, и которые будут означать заказ.

Можно принять файл .db, .dbf, .txt и .csv с любыми разделителями, .xls по общей форме имопрта, аналогично импорту приходной накладной. При этом программа запросит различные параметры, позволяющие корректно прочесть файл, а также списки соответствий полей друг другу. После проведения этих процедур файл будет принят.

Также можно принять заявку из системы Solex. Для этого на машине должен быть установлен модуль SolexW.exe.

Можно создавать сколько угодно собственных процедур импорта заявки, используя скрипты импорта. Оформляется список скриптов в настройках программы на закладке "заявки".

После того как файл заявки принят в буфер обмена (в таблицу данной формы), необходимо будет проставить соответствия товаров в данной таблице и в справочнике нашей базы, и провести аналогичную операцию для производителей. Для этой цели служит кнопка "регистрация кодов". После выполнения этой операции товары, которым расставлены коды нашего справочника, будут приняты в новый заказ.

Кроме процедуры сохранения заявки доступна кнопка прямого сохранения накладной, если мы не хотим отрабатывать эту заявку через реестр заявок, а просто оформляем расходную накладную.


Solaris Page

please wait... http://solr.ru/help/solaris/reliz.htm


Суммовой отчет по продажам

Данная форма позволяет произвести суммовые запросы по продажам товаров с детализацией: день, неделя, месяц, час.

Форма 'суммовой отчет по продажам'

Одним из достоинств данной формы является возможность показать на основе запроса графики, красивые такие, печатающиеся... Нажимайте кнопки и увидите результат .


Требования к системе

Любой новый компьютер будет пригоден для работы с системой. Самая пригодная и привычная среда для работы - Windows XP.


Программный комплекс SOLARIS - описание

Работа с Solaris

  • О программе
  • Загрузка
  • Главная форма программы Solaris
    • Операции
      • Накладная
        • Импорт накладных
        • Оформление возврата от покупателя
        • Возвраты от покупателей, торговый зал
        • Оформление возврата поставщику
        • Оформление перебросов (внутренние перемещения)
      • Продажа в розницу
        • Руководство пользователя программы SCash (модуль торгового зала)
        • Алгоритмы поиска и выбора товаров в чек
        • Именные накопительные скидки
          • Настройка автоматических пересчетов процентов в накопительных скидках
          • Организация системы накопительных скидок в аптеках, работающих независимо друг от друга (не связанных одной общей базой данных)
      • Пересчет остатков
      • Инвентаризация
      • Обмен данными между компонентами системы (склад - АП, склад - магазин, склад - ТЗ)
        • Ручной обмен данными (Solaris-Solaris)
      • Загрузка чеков торгового зала
      • Работа с кассой в OFF-LINE режиме и штрих-кодами
      • Работа с прайс-листами
    • Путевые листы
      • Документ "путевой лист"
      • Реестр "путевые листы"
    • Заявки
      • Дефектура, заявка на центральный склад
      • Расчет скорости продаж
      • Реестр заявок
      • Заявка
      • Заказанные товары
      • Импорт заявки от покупателя
      • Дефектура, набранная вручную в торговом зале.
      • Передача новых заявок на центральный склад
      • Скрипт загрузки заявок на центральном складе
    • Запросы на создание новых элементов справочников
    • Товары
      • Справочник товаров
      • Реестр накладных
      • Картотека
      • Остатки товаров по номенклатурному справочнику
      • Движение товара
      • Журнал отпуска товара
      • Ведомость реализации товара
      • Ведомость реализации (перебросы) - Это аналог ведомости реализации, но только оптимизированный для запросов движения товаров по внутренним перемещениям.
      • Анализ данных
        • Общие суммовые расходы
      • Альтернативные (дополнительные) группы товаров. Расценка товаров по списку альтернативных групп.
    • Справочники
      • Контрагенты
      • Основания
      • Страны
      • Производители
      • Сертифицирующие органы (а также выдающие протоколы анализов)
      • Штрихкоды от производителей
      • Для фармацевтических фирм: Справочник по Государственному Реестру лекарственных средств
      • Для фармацевтических фирм: Справочник по забракованным сериям
    • Взаиморасчеты с контрагентами
      • Поставщики
        • Карточка поставщика
        • Общие задолженности
        • Выплаты поставщикам
        • Оборотная ведомость
        • Оборотная ведомость товара поставщиков
        • Приходы от поставщиков
        • Списки неоплаченных накладных
      • Покупатели
        • Карточка
        • Общие задолженности
        • Товар на реализации
        • Выплаты
        • Суммарная ведомость реализации
        • Списки наоплаченных накладных
        • Ведомость реализации по факту оплаты
        • Оборотная ведомость
      • Склады
        • Карточки складов
        • Общие задолженности
        • Движение по складам
        • Оборотная ведомость
        • Суммарная оборотная ведомость по складам
      • Счета (план счетов)
      • Проверки данных - соответствие сумм на складе и в картотеке
      • Проверки данных - соответствие сумм и количества товаров
    • Интеграции
      • Статистика по жизненноважным препаратам на rznd.ru
      • Статистика по жизненноважным препаратам (старый отчет ACCESS)
      • Согласование номенклатурного справочника с внешним списком товаров
      • Отчет по выявленным забракованным сериям
    • Администратор
      • Администрирование
      • Размещение локальных настроек рабочего места
      • Проверки логической целостности базы данных
        • Перебросы
        • Пропущенные атрибуты в картотеке
        • Проверка данных
        • Проверки ставок налогов
        • Сверка картотек в 2 выделенных базах данных
      • Проверки физической целостности базы данных
        • Переиндексация таблиц
        • Создать индексы заново
        • Лечение баз данных
        • Проверка структур таблиц
      • Упаковка данных
      • Мягкая упаковка (упаковка чеков в ТЗ)
      • Полная очистка базы данных
      • Обмен правилами пользователей с помощью стандартных скриптов и Solex.
      • Обмен настройками печатных форм с помощью стандартных скриптов и Solex.
      • Обмен готовыми печатными формами
      • Параметры командной строки
      • Система разделения доступа
      • Ввод паролей при входе
      • Инструкция по настройке взаимодействия с системой заказа аптеки Бонум
      • Инструкция по настройке скриптов обмена справочниками забракованных серий между центральной базой и Аптечным пунктом
      • Пример импорта заявки (система фармнет)
      • Пример автоматизации резервного копирования
      • Описания полей в базах данных (для администратора баз данных)
      • Инструкция по настройке программы MailPRocessor для импорта накладных и других документов от поставщика
      • Запуск новой аптеки, имеющей текущие остатки в электронном виде.
      • Инструкция по формированию отчетов по ЖНВЛС
  • Редактор отчетов
    • Список функций в редакторе отчетов
    • Форматирование выражений в редакторе отчетов
  • Как работать с таблицами (для оператора)
    • Поиск в таблице
    • Закладки
    • Экспорт данных
    • Редактор таблицы
  • Разное
    • Обработка ошибок в программе
    • Реестр цен производителей
    • Расчет закупочной стоимости в перебросах
    • Графики и диаграммы в программе SOLARIS.
    • Заметки к фильтрации по коду
    • ABC-анализ
  • Об авторах


Заявки

Дефектура, заказ товаров на центральном складе

При первом открытии заявки и при последующих запросах необходимо выставить все интересующие нас опции, расположенные на настроечных закладках формы.

Форма 'Заявка' После того как будут произведены соответствующие настройки, вызывается меню по стрелке около кнопки "Новая заявка", или сама кнопка, если всегда используется одно и то же меню. В меню генерации заявки возможны варианты

  • "новая заявка", когда формируется полностью новая заявка на основе указанных параметров,
  • "новая пустая заявка", когда формируется пустой файл, для желающих набрать заявку вручную.
  • "Пересчитать ТОЛЬКО остатки заказчика С пересчетом скорости и мин.количества " - в старой заявке нужно только пересчитать остатки склада-заказчика, скорость продаж и минимальное количество
  • "Пересчитать ТОЛЬКО остатки заказчика БЕЗ пересчета скорости и мин.количества"
  • "Пересчитать ТОЛЬКО остаток склада, с которого берется товар" - на случай, когда товар заказывается на центральном складе.

Для генерации новой заявки используем "новая заявка". Также доступны кнопки:

  • "включить/выключить фильтры" (согласно настройкам на панели "Фильтры").
  • "изменить все поля "заказ" в таблице" - инициируются значения в колонке "заказ" (нулями или рекомендуемым количеством).
  • "Импорт дефектуры, набираемой вручную"
  • "Прием файла" - для центрального склада и варианта обмена через импорт-экспорт файла-дефектуры с помощью опции "передача данных в другую базу Solaris", (см. ниже).
  • "Сгенерировать стандартную заявку". Весь набранный товар сохраняется как стандартная заявка в списке заявок.
  • "Передача готовой заявки". Имеются опции:
    • Передача данных в другую базу Solaris - формируется zip-пакет, который потом принимается с помощью кнопки "прием файла". При этом операторы пользуются пунктами меню на кнопке "Новая заявка" для проверки актуальности остатков.
    • Передача в Solex - передается как дефектура в систему Solex, которая будет использовать ее при отображении дефектуры при просмотре предложений от поставщиков, или же использовать эти данные при автоматической заявке (см. www.solr.ru)
    • Передача в Solaris через транспорт Solex - тот же первый пункт, но в качестве транспорта используется почтовая система программы Solex.
    • Передача с помощью скрипта - в настройках программы можно указать скрипты, которые могут осуществлять какую-либо произвольную автоматизацию экспорта заявок.
  • "Оформить накладные" - если мы в базе данных центрального склада и обрабатываем заявку с аптеки, пункта, другого склада, то мы можем автоматически сгенерировать накладные по товарам, указанным в этой заявке. Нам необходимо только нажать кнопку, и накладная будет сформирована. Весь товар, который не попал в накладные по причине нехватки, может быть передан дальше для анализа и заказа.
  • "Печать".

Нужно различать стандартные заявки и заявки-дефектурные формы, которые формируются здесь. Здесь мы запрашиваем информацию о дефектуре, выбираем на ее основе интересующие нас товары в интересующем нас количестве. После этого мы или передаем данные в программу, предлагающую товары от поставщиков, или передаем ее на центральный склад как есть (старый способ обмена заявками между складами), или формируем уже готовую заявку в списке заявок, которая потом доставляется в программу центрального склада соответствующими способами.

Собственно, набирать количество нужно в колонке "заказ". При этом программа отображает в колонке "заказ (рекомендуется)", количество, которое она предлагает заказать. Колонка "заказ" оформляется автоматически при генерации заявки, соответственно настройкам либо при нажатии кнопки "изменить все поля "заказ" в таблице". Внизу данной формы можно расположены кнопки "автоматический расчет" - если она вдавлена, то программа автоматически рассчитывает итоговые суммы при каждом изменении заказа, если отпущена, то это сильно ускоряет работу, если таблица достаточно большая. Тогда для пересчета можно использовать кнопку "пересчитать суммы".

Также можно "показать суммы по каждому складу отдельно" для варианта заказа сразу с нескольких складов. При таком варианте остатки на каждом складе отображаютя отдельной строкой, и можно заказывать параллельно. Может быть полезно только в варианте работы с базами, когда мы в одной центральной базе данных имеем актуальные остатки других пунктов, магазинов, аптек, складов.

см. далее "настройки заявки" а также общие настройки в программе для автоматизации заявки


Заявки

Дефектура, набираемая вручную во время продаж

Во время осуществления продажи в торговом зале бывает удобно набирать список товаров, которыми интересовались покупатели и которых не было в наличии. Далее этот список можно распечатать или добавить к заявке.

Когда оператор находится в справочнике товаров, он находит нужную позицию, возможно, отключив фильтрацию по непроданным остаткам (F4), и нажимает F7. Высвечивается диалог, в котором запрашивается заказанное количество.

Форма 'Заявка'
После подтверждения в диалоге указанная позиция в выбранном количестве попадает в указанный справочник, откуда может быть распечатана или перемещена в заявку.

При работе со справочником возможна его фильтрация (закладка "Настройки") и другие настройки:

  • Период поступления в справочник с.. и по..
  • Сортировка по разным полям
  • Детализация
    • Полная (выводится журнал поступлений с полными выкладками)
    • Без учета даты (выводится сводная информация, где указан товар, общее заказанное количество, пользователь, проведший данную операцию)
    • Без учета даты и пользователя (собирается информация по коду справочника, без разделения по датам и пользователям)


Заявки

Дефектура, заказ товаров на центральном складе - настройки

При первом открытии заявки производятся настройки на страницах настроек:

На закладке "общие"

  • Фильтрация складов, участвующих в заказе:
    • выбираем один склад, или он выбирается автоматически, согласно настройкам, если в программе отключена опция "мультискладской учет".
    • Выбираем несколько складов, если мы заказ производим непосредственно на центральном складе, и у нас есть актуальные остатки интересующих нас складов.
  • Фильтрация групп товаров: можно указать один-единственный код, или шаблон для кодов, или группу товаров. Если существует группа ПР, то можно просто вписать ПР, и в отчет попадут только товары, код которых начинается на ПР. Можно также указать ПР%, что означает то же самое.
  • Включение кодов в заказ
    • Включая все коды - включить все-все коды справочника товаров. Наиболее полное представление, но наиболее медленное.
    • Включая все коды с обязательным ассортиментом - гарантировано включит в заявку все товары, помеченные галочкой "обязательный ассортимент" в справочнике товаров.
    • Включая все товары, где указано минимальное количество - аналогично включит все товары, помеченные хоть каким-то минимальным количеством.
    • Включая все коды, где есть скорость продаж (скорость продаж рассчитывается программой отдельно и помещается в справочник товаров, или же вносится операторами вручную).
    • Включить в остаток не отгруженные по приходу товары - допустить до расчета остатков, товары, которые оприходованы, но в накладных еще не выставлен флаг отгрузки. Обычно такие товары резервируются.
  • Детализация
    • Детализация по ценам продажи: товары в наличии по разным ценам будут выписаны в разные строки. Заказать можно будет каждую строку отдельно.
    • Детализация по производителям - аналогичное разделение по производителями.
    • Детализация по срокам годности - товары с разными сроками годности разносятся по отдельным строкам.
  • Также мы выставляем сортировку, соответственно предлагаемому списку.

Закладка "расчет рекомендаций и заказа"

расчет рекомендаций и заказа расчет рекомендаций и заказа - дополнительно

Здесь мы даем установки программе, как нужно заказывать товар, определяем корректирующие формулы

  • Основные:
    • Рекомендовать по параметру:
      • Скорость продаж - в расчет берется скорость продаж, количество дней, используемых в заказе, остаток на складе-заказчике, а также остаток на центральном складе, если таковой указан.
      • Минимальное количество - в расчет берется просто разница между минимальным количеством, указанным в справочнике товаров ,и реальным остатком на складе-заказчике, а также остатком на центральном складе, если указан.
      • Скорость продаж & минимальное количество. Берется расчет со скорости продаж, но если рекомендуется меньше, чем минимальное количество, то производится корректировка до необходимого остатка.
    • Рассчитать дефектуру на ___ дней - Здесь мы указываем количество дней, которое будет использовано при расчете дефектуры. Количество дней, помноженное на скорость продаж дает среднее продаваемое количество за данный период. Исходя их этого определяется и дефектура.
  • Дополнительные обработки: - здесь мы можем определить группы товаров по различным признакам и указать дополнительные корректирующие действия к рекомендации программы.
    • Группы создаются группы, описываются их названия
    • Параметры группы - определение принадлежности группе:
      • Границы эталона (ск. * количество дней) - сколько товаров продается за данный период. определяется принадлежность товара к указанной группе по указанному диапазону. Если мы не хотим указывать верхнюю или нижнюю границы, то просто оставляем их значения пустыми.
      • Границы веса ( ск. * цена ) - на какую сумму продается товаров в день.
      • Границы коэффициента скорости продаж - по продажам в день
      • Границы % дозаказа - отношение необходимого количества к остатку
      • Группа товаров - определение по факту принадлежности к номенклатурной группе
    • Действия над группой:
      • Заказать на % от разницы (процент от разницы необходимого количества к остатку)
      • Не заказывать - проигнорировать вообще какие-либо попытки заказа
      • Заказывать в % от эталона (см. выше определение эталона)

Закладка доп.настройки:

Здесь мы определям дополнительные параметры автоматизации работы с заявкой:

  • Сохранение результата
    • При закрытии заявки программа может предложить автоматически сохранить результат. Возможны варианты:
      • Сохранение в формате Solaris - см. определение кнопок экспорта
      • Передача в Solex - аналогично
      • Использование скрипта - аналогично
      • Экспорт в солярис, используя транспорт Solex - аналогично
      • Сохранить как стандартную заявку - заявка сохраняется в списке стандартных заявок
      • Сохранить как стандартную заявку и отправить - заявка дополнительно отправится согласно настройкам экспорта стандартных заявок
    • Если используется вариант экспорта с помощью скрипта, то указываем скрипт в поле "команда для скрипта"
    • Очистить заявку после сохранения - если мы хотим, чтобы данная форма была очищена, чтобы гарантированно в следующий раз сгенерировать новую заявку, то выставляем данный флажок. Если флажок убран, то программа откроет заявку в том состоянии, в котором мы ее оставили прошлый раз.
    • Если используется вариант генерации стандартной заявки, то в поле "при генерации стандартной заявки" мы определеяем действия над сгенерированным документом
      • Оставить заявку в состоянии редактирования - форма стандартной заявки останется на экране заполненной, но не сохраненной. сохранить нужно будет вручную.
      • сохранить заявку и оставить открытой - Сохранить, но оставить открытой.
      • сохранить заявку и закрыть
    • После генерации накладной (для внутреннего заказа) - используется для кнопки "генерация накладной"
      • Сохранить накладную
      • Закрыть накладную (аналогично действиям со стандартной заявкой)
      • Печатать накладную - автоматическая печать
    • Дата накладной - опции "текущая дата" или "спросить"
    • Поддержка скорости продаж: данная опция используется для автоматизации расчетов скорости продаж .Рассчитывать скорость продаж не нужно каждый раз при генерации с заявками, достаточно делать это раз в неделю-две-три. Для этого мы пользуемся формой "скорость продаж". Чтобы не делать этого вручную, мы можем задать опции здесь, чтобы программа перед новой заявкой время от времени запускала расчет самостоятельно. Здесь мы можем указать периодичность расчета в днях (как часто нужно пересчитывать) а также дни недели, когда это можно делать (ни одной галочки - то же самое, что и выставить все галочки).

Параметры центрального склада

Здесь мы определяем центральный склад, если таковой участвует. А также галочкой "корректировать рекомендации, исходя из остатка на складе" определяем поведение, когда рекомендуемое количество будет уменьшено до реального остатка на складе. "Разрешить выбирать на складе больше, чем есть при ручной корректировке и генерации накладных" - позволяет автоматически корректировать "ошибочный" ввод количества больше, чем предлагается взять на складе, если это воспринимается как ошибка.

Закладка фильтры позволяет фильтровать уже сформированную заявку по разным признакам. Кнопка "фильтр" на панели кнопок позволяет быстро включить-выключить эти фильтры.

Используем опции:

  • Фильтрация по заказанному количеству: по колонке "заказ". Если граница сверху или снизу не нужна, мы значения не вписываем.
  • Фильтрайция по рекомендованному количеству: по количеству "заказ (рекомендуется)"
  • Отказано (недобор на складе) - по колонке "отказано". Эта колонка отображает разницу между требуемым количеством и количеством, которое есть реально на складе-поставщике.
  • Есть возможность отфильтровать по текущим остаткам на заказывающем складе и на складе, у которого набирается товар
  • По характеристкам товара - цене и весу (цена * скорость продаж - сумма продажи за день), по эталону.
  • Фильтрация дополнительных групп - используется дополнительная фильтрация см справочник товаров

Закладка "визуальные настройки" определяет настройки программы, не влияющие на расчеты. только на визуальное отображение информации.

см. далее "настройки заявки" а также общие настройки в программе для автоматизации заявки


Заявки

Работа с заявкой

При работе с документом доступны поля в шапке документа:

  • Дата - дата выписки.
  • Номер - номер документа.
  • Срок - срок исполнения заявки. Имеется возможность ввести срок в днях. Может быть использован в фильтрации реестров заявок или оформленных товаров.
  • Дата исполнения. - проставляется по факту исполнения заявки, то есть оформления накладных по заявке. Используется в фильтрации реестров.
  • Заказчик - Склад/магазин/пункт/организация, осуществивший данный заказ.
  • Доп. информация - поле для ввода дополнительной информации в свободной форме.
  • Переключатель "Выбирать из карточек" и выбор "склад" - включено, если оператор при ручном вводе товаров в заявке должен выбрать только имеющиеся в наличии в картотеке товары. В этом случае после выбора интересующего товара оператор попадает в список имеющихся в наличии его карточек Если таковых в наличии не имеется, то программа выдаст сообщение. Если выбор из карточек не требуется, то при выборе товара в справочнике товаров оператор попадает в диалог выбора номенклатурной позиции, где он указывает количество, цену, или процент наценки от закупочной стоимости, или процент наценки от цены производителя, а также производителя, если это важно. В этом случае данная строка попадает в заявку без распределения по карточкам и не может быть отписана в накладные, пока не будет распределена. Этот механизм позволяет выбрать в заявку товары, которых нет в наличии, и отслеживать эти товары. В приходной накладной, сразу после оприхования товаров и сохранения накладной, можно выполнить распределение товара по заявкам (кнопка "распределение товара накладной по заявкам"). Можно также выполнить распределение товара в самой заявке (см. ниже).
  • Можно настроить любое количество дополнительных полей:

Поля могут быть обычные текстовые, поля-переключатели, поля-даты, числа. Редактируются поля в форме "администратор/дополнительные поля в заявке".

Редактирование дополенительных параметров Создание нового параметра

Здесь задаются наименования этих полей, их тип. Все значения будут сопровождать каждую заявку, могут быть использованы в отчетах.

Оформление накладных по оформленной заявке осуществляется нажатием кнопки "оформить накладные" в панели кнопок заявки.


Заявки

Заявка

При первом открытии заявки и при последующих запросах необходимо выставить все интересующие нас опции, расположенные на настроечных закладках формы.

После того как будут произведены соответствующие настройки, вызывается меню по стрелке около кнопки "Новая заявка", или сама кнопка, если всегда используется одно и то же меню. В меню генерации заявки возможны варианты

  • "новая заявка", когда формируется полностью новая заявка на основе указанных параметров,
  • "новая пустая заявка", когда формируется пустой файл, для желающих набрать заявку вручную.
  • "Пересчитать ТОЛЬКО остатки заказчика С пересчетом скорости и мин.количества " - в старой заявке нужно только пересчитать остатки склада-заказчика, скорость продаж и минимальное количество
  • "Пересчитать ТОЛЬКО остатки заказчика БЕЗ пересчета скорости и мин.количества"
  • "Пересчитать ТОЛЬКО остаток склада, с которого берется товар" - на случай, когда товар заказывается на центральном складе.

Для генерации новой заявки используем "новая заявка". Также доступны кнопки:

  • "включить/выключить фильтры" (согласно настройкам на панели "Фильтры").
  • "изменить все поля "заказ" в таблице" - инициируются значения в колонке "заказ" (нулями или рекомендуемым количеством).
  • "Импорт дефектуры, набираемой вручную"
  • "Прием файла" - для центрального склада и варианта обмена через импорт-экспорт файла-дефектуры с помощью опции "передача данных в другую базу Solaris", (см. ниже).
  • "Сгенерировать стандартную заявку". Весь набранный товар сохраняется как стандартная заявка в списке заявок.
  • "Передача готовой заявки". Имеются опции:
    • Передача данных в другую базу Solaris - формируется zip-пакет, который потом принимается с помощью кнопки "прием файла". При этом операторы пользуются пунктами меню на кнопке "Новая заявка" для проверки актуальности остатков.
    • Передача в Solex - передается как дефектура в систему Solex, которая будет использовать ее при отображении дефектуры при просмотре предложений от поставщиков, или же использовать эти данные при автоматической заявке (см. www.solr.ru)
    • Передача в Solaris через транспорт Solex - тот же первый пункт, но в качестве транспорта используется почтовая система программы Solex.
    • Передача с помощью скрипта - в настройках программы можно указать скрипты, которые могут осуществлять какую-либо произвольную автоматизацию экспорта заявок.
  • "Оформить накладные" - если мы в базе данных центрального склада и обрабатываем заявку с аптеки, пункта, другого склада, то мы можем автоматически сгенерировать накладные по товарам, указанным в этой заявке. Нам необходимо только нажать кнопку, и накладная будет сформирована. Весь товар, который не попал в накладные по причине нехватки, может быть передан дальше для анализа и заказа.
  • "Печать".

Нужно различать стандартные заявки и заявки-дефектурные формы, которые формируются здесь. Здесь мы запрашиваем информацию о дефектуре, выбираем на ее основе интересующие нас товары в интересующем нас количестве. После этого мы или передаем данные в программу, предлагающую товары от поставщиков, или передаем ее на центральный склад как есть (старый способ обмена заявками между складами), или формируем уже готовую заявку в списке заявок, которая потом доставляется в программу центрального склада соответствующими способами.

Собственно, набирать количество нужно в колонке "заказ". При этом программа отображает в колонке "заказ (рекомендуется)", количество, которое она предлагает заказать. Колонка "заказ" оформляется автоматически при генерации заявки, соответственно настройкам либо при нажатии кнопки "изменить все поля "заказ" в таблице". Внизу данной формы можно расположены кнопки "автоматический расчет" - если она вдавлена, то программа автоматически рассчитывает итоговые суммы при каждом изменении заказа, если отпущена, то это сильно ускоряет работу, если таблица достаточно большая. Тогда для пересчета можно использовать кнопку "пересчитать суммы".

Также можно "показать суммы по каждому складу отдельно" для варианта заказа сразу с нескольких складов. При таком варианте остатки на каждом складе отображаютя отдельной строкой, и можно заказывать параллельно. Может быть полезно только в варианте работы с базами, когда мы в одной центральной базе данных имеем актуальные остатки других пунктов, магазинов, аптек, складов.

см. далее "настройки заявки" а также общие настройки в программе для автоматизации заявки


Заявки

Импорт заявки от покупателя, сеть аптек Бонум

Стандартный модуль импорта заявки обладает возможностью настроить импорт через скрипт, встроенный в систему Solaris. Необходимый файл скрипта можно скачать здесь. Данный скрипт нужно сохранить на диске, и прописать путь к нему в настройках программы (закладка "скрипты", таблица "скрипты импорта заявок"). Необходимо также в скрипте подкорректировать константу:

const BONUM_ID = 9 ; // Код Бонума в нашей базе данных в справочнике контрагентов

Теперь можно использовать процедуру "заявки/импорт заявки от покупателя". В меню к кнопке "импорт" появится пункт для Бонума, названный соответственно в настройках программы. Модуль использует почту Solex, то есть, необходимо, чтобы заказы приходили в систему Solex как простые письма в формате, определенном системой заказов ЗАО Бонум (в настройках программы Solex необходимо отключить фильтр почты "принимать почту только от подписчиков Solex (блокировать СПАМ)", закладка "сеть/транспорт"). При вызове меню загрузки программа отобразит письма, находящиеся в папке "входящие" системы Solex и, после того, как письмо будет выбрано, возьмет оттуда файл заказа. Если что-то пойдет не так, то система сообщит, а если все будет нормально, то файл будет импортирован в окно обработки заявки.

Далее с заказом производятся стандартные действия при импорте заявок (можно сразу сохранить ее в накладную, а можно сбросить в список заявок, где она будет обрабатываться системой заказов Solaris).


Заявки

Импорт заявки от покупателя из системы Фармнет

Стандартный модуль импорта заявки обладает возможностью настроить импорт через скрипт, встроенный в систему Solaris. Необходимый файл скрипта для данной системы заказов можно скачать здесь. Данный скрипт нужно сохранить на диске, и прописать путь к нему в настройках программы (закладка "скрипты", таблица "скрипты импорта заявок"). Необходимо также в скрипте подкорректировать константу:

const LoadFromSolex = false; // в зависимости от переключателя LoadFromSolex (Переключатель алгоритма чтения): True - брать из почты Solex, false - брать из файла.

Если скрипт настроен на загрузку из Solex, то требуется, чтобы заявки приходили как обычная почта на адрес данного подписчика. Если указан выбор из файла, то оператор должен выложить заявку в какой-нибудь каталог, имя файла роли не играет. При запуске импорта программа спросит, где находится нужный файл.

Теперь можно использовать процедуру "заявки/импорт заявки от покупателя". В меню к кнопке "импорт" появится пункт, названный соответственно в настройках программы. После того каккак письмо или файл будет указано, система прочтет оттуда данные. Если что-то пойдет не так, то система сообщит, а если все будет нормально, то файл будет импортирован в окно обработки заявки.

Далее с заказом производятся стандартные действия при импорте заявок (можно сразу сохранить ее в накладную, а можно сбросить в список заявок, где она будет обрабатываться системой заказов Solaris).


Передача справочника забракованных серий из ЦБ в АП

Настройка программы MailProcessor на импорт накладных и других документов от поставщика

Задача: Поставщик присылает электронные документы на e-mail, программа MailProcessor обрабатывает всю почту в этом адресе и выкладывает полученные документы в каталоги, определенные программой.

  1. Установить программу MailProcessor, уведомить поставщиков об электронном адресе, на который следует посылать все накладные (или какие другие эл.документы). Альтернатива уведомлению поставщиков: наладить перенаправление или копирование почты с уже известного поставщикам адреса емейл, используемый программой MailProcessor
  2. В настройках программы на закладке "транспорт" снять галочку "принимать только почту, отправленную программой MailProcessor". Если установлена эта галочка, то программа автоматически удаляет всю почту, не имеющую контрольный код, установленный другими программами MailProcessor. Если убрать галочку, то вся получаемая почта будет обрабатываться.
  3. В закладке "Автоматизация почты" устанавливаем:
    • При получении нестандартного письма выполнять программу: "Встроенный скрипт" и указываем скрипт с полным путем строкой ниже (automail.pas), скрипт см. на сайте
    • Каталог экспорта при приеме автопочты, например "c:\mail\input". Сюда будут складываться все эл.документы.
  4. В адресной книге прописываем все известные нам адреса поставщиков (наименование, адрес эл.почты а также внешний код)

Как это работает:

Программа принимает почту и обрабатывает ее скриптом automail.pas. Скрипт проверяет, нет ли адресата в адресной книге. Если нет, то она просто перемещает письмо в папку "удаленные". Если адрес найден в адресной книге, то программа ищет его вложения, и если находит их, то размещает в каталоге, указанном как "каталог экспорта при приеме автопочты". Обработанное письмо переносится в папку "обработанные". В каталоге автопочты программа создает подкаталог, равный значению поля "внешний код" в адресной книге, а если оно не указано, то значению поля "наименование". В этом каталоге программа создает также подкаталоги в соответствии с датой письма. ТО есть, письма от одного поставщика будут разложены дополнительно по каталогам в соответствии с датой письма.

Таким образом достаточно запустить MailProcessor, доставить почту (или поставить автомат - "c\mailprocessor\mailprocessor -auto", который будет сканировать почту с определенным в настройках интервалом. Все полученные письма будут обрабатываться, и накладные будут автоматом выкладываться в нужных каталогах.

Для очистки каталогов от лишнего мусора подойдет скрипт checkdirsdrv.pas. его можно запустить как автоматический скрипт в шедулере mailprocessorа.