05.06.2020
Наш проект растет. Наши клиенты работают круглосуточно, по всей россии и ближнему зарубежью, в разных часовых поясах. Мы стараемся выдерживать высокое качество предоставления услуг, а это означает, в частности, высокую скорость ответа серверов. С ростом клиентской базы увеличивается потребность в вычислительных ресурсах. Последний год мы готовились к масштабной перестройке внутреннего устройства проекта и апрель-май 2020 года были практически полностью посвящены этой работе.
Не обошлось, конечно, без остановок в работе сервиса и временному ухудшению качества его работы, однако мы старались свести к минимуму вынужденные остановки. В процессе реорганизации инфраструктуры некоторые отдельные сервисы были вынесены на выделенные сервера, а клиентские приложения и базы данных перераспределены между серверами с учетом их загрузки.
Все это позволило нам повысить среднюю скорость ответа серверов, уменьшить взаимовлияние клиентских приложений друг на друга и создать запас мощностей на будущий рост.
Уже очень давно в наших планах было реализовать возможность поиска товаров по штрихкодам в глобальном облачном каталоге.
Данная возможность предполагает создание в рамках нашего проекта сервиса по хранению, поиску и обновления товаров. А также реализация в программе взаимодействия с данным сервисом.
В данной версии мы запускаем глобальный каталог товаров. На первом этапе мы создали и заполнили каталог товаров, реализовали поддержку поиска товаров из программы. В дальнейшем информация в каталоге товаров будет актуализироваться и пополняться.
В настоящее время поиск по глобальному каталогу товаров реализован в двух местах - в форме добавления товара в номенклатуре и при поиске товаров по штрихкоду в процессе заполнения документов имеющих таблицы с товарами.
Если товар не был найден в номенклатуре производиться поиск по глобальному каталогу и предлагается выбрать товары из найденных. При выборе товара он добавляется в номенклатуру товаров.
Наша программа началась с клиентской базы. Первое что в ней добавлялось - это пациенты. Спустя много лет мы решились на реализацию “удаления” пациентов. Конечно полностью удалять пациентов нельзя, как и многое другое в программе, однако использовать стандартный механизм “отметки как удаленный” можно. Мы долго взвешивали все “за” и “против” и в конечном итоге решились на данный шаг.
Мы исходим из того, что ведение клиентской базы - вопрос ответственный и удаление пациента - крайняя мера - исправление ошибки или удаление дублей. В связи с этим операции по удалению и восстановлению выполняется в настоящий момент только из карточки пациента.
Что означает удаление пациенте? Удаленные пациенты не отображаются в результатах предварительного поиска при добавлении нового пациента, не отображаются в результатах простого и расширенного поиска. Однако в расширенном поиске можно установить соответствующую галочку для поиска и среди удаленных пациентов. В списках и в карточке у удаленного пациента присутствует тэг “Удален”. Вся информация по “удаленным” пациентам сохраняется в полном объеме.