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