Экспорт заказов в DBF по номеру заказа или ID

Материал из ADGroupWiki
Перейти к навигации Перейти к поиску

Скрипт OrderExportToDBF.psc запускает механизм экспорта заказа из базы заказов в DBF файл по его номеру или ID.

Файл:OrderExportToDBF.rar


// ExportToDBF коды ошибок
// -1 Неизвестная ошибка.
//  0 Материал был успешно выписан!
//  1 Невозможно экспортировать заказ без номера.
//  2 Невозможно произвести списание. Структура файлов списания обновилась.
//    Если в файлах списания у Вас остались важные данные, то сохраните сначала эти данные,
//    после этого удалите файлы списания, программа их создаст автоматически в обновленном
//    формате и повторите попытку списания еще раз.
//  3 Невозможно выполнить экспорт. У Вас нет соответствующих прав.
//  4 Невозможно выполнить экспорт. Файлы заняты другой программой. 
//  5 Невозможно экспортировать заказ без идентифкатора. Сохраните сначала заказ. 

function OrderExportToDBFbyId(OrderId: cardinal): integer;
// Экспорт заказа в DBF. OrderId - число, ID заказа
var
  zk: TZakaz; // заказ
begin
  result := -10;
  zk := gd.Zakazes.ReloadNewById(OrderId, true); // открываем по ID заказ из базы
  if assigned(zk) then // если заказ есть
  begin                                               
    zk.Izd.CreateAndCalcAllFull; // делаем его перерасчет
    result := zk.ExportToDBF; // экспорт в DBF 
  end;
end;

function OrderExportToDBFbyNum(OrderNum: string): integer;
// Экспорт заказа в DBF. OrderNum - строка, номер заказа
var
  zk: TZakaz; // заказ
begin   
  result := -10;
  zk := gd.Zakazes.FindZakazNum(OrderNum); // // открываем по номеру заказ из базы
  if assigned(zk) then // если заказ есть
  begin
    zk.Izd.CreateAndCalcAllFull; // делаем его перерасчет
    result := zk.ExportToDBF; // экспорт в DBF 
  end;
end;   

begin
  result := OrderExportToDBFbyId(1); // Экспорт заказа с ID = 1
  result := OrderExportToDBFbyNum('1'); // Экспорт заказа с номером заказа = 1
end.