$return_arr = [];
while ($myrow = mysqli_fetch_array($result)){
$return_arr[]=[
"Партнер_Key"=>"$myrow[4]",
"Контрагент_Key"=>"$myrow[2]",
"Организация_Key"=>"8dc9cf36-424b-11e8-bde7-99eede49b4b6",
"Склад_Key"=>"03460e63-af82-11e8-ba81-7c8bca035cde",
"Валюта_Key"=>"80f5e10f-d438-11e7-988b-ece0db457431",
"Соглашение_Key"=>"$myrow[5]",
"ЦенаВключаетНДС"=>true,
"СуммаДокумента"=>"$total_price",
"РегистрироватьЦеныПоставщика"=>true,
"Согласован"=>true,
];
$k=1;
while ($tmyrow = mysqli_fetch_array($tresult)){
$return_arr['Tовары'][] = [
"LineNumber"=>"$k",
"НоменклатураПоставщика_Key"=>"$items_id_1c",
"Номенклатура_Key"=>"$item_id_1c",
"Количество"=>"$tmyrow[5]",
"ВидЦеныПоставщика_Key"=>"00000000-0000-0000-0000-000000000000",
"Цена"=>"$tmyrow[7]",
"Сумма"=>"$summ_orderline",
"СтавкаНДС"=>"НДС18",
"КодСтроки"=>"$tmyrow[6]",
"Отменено"=>false,
"Склад_Key"=>"03460e63-af82-11e8-ba81-7c8bca035cde"
];
$k++;
}
}
print "<pre>";
print_r($return_arr);
print "</pre>";
Array
(
[0] => Array
(
[Партнер_Key] => ba302cf9-b0db-11e8-ba81-7c8bca035cde
[Контрагент_Key] => ba302cfa-b0db-11e8-ba81-7c8bca035cde
[Организация_Key] => 8dc9cf36-424b-11e8-bde7-99eede49b4b6
[Склад_Key] => 03460e63-af82-11e8-ba81-7c8bca035cde
[Валюта_Key] => 80f5e10f-d438-11e7-988b-ece0db457431
[Соглашение_Key] => ba302cfc-b0db-11e8-ba81-7c8bca035cde
[ЦенаВключаетНДС] => 1
[СуммаДокумента] => 2062.9000244140625
[РегистрироватьЦеныПоставщика] => 1
[Согласован] => 1
)
[Tовары] => Array
(
[0] => Array
(
[LineNumber] => 1
[НоменклатураПоставщика_Key] =>
[Номенклатура_Key] =>
[Количество] => 2
[ВидЦеныПоставщика_Key] => 00000000-0000-0000-0000-000000000000
[Цена] => 615.76
[Сумма] => 1231.52
[СтавкаНДС] => НДС18
[КодСтроки] => 5778
[Отменено] =>
[Склад_Key] => 03460e63-af82-11e8-ba81-7c8bca035cde
)
[1] => Array
(
[LineNumber] => 2
[НоменклатураПоставщика_Key] =>
[Номенклатура_Key] =>
[Количество] => 1
[ВидЦеныПоставщика_Key] => 00000000-0000-0000-0000-000000000000
[Цена] => 831.38
[Сумма] => 831.38
[СтавкаНДС] => НДС18
[КодСтроки] => 5777
[Отменено] =>
[Склад_Key] => 03460e63-af82-11e8-ba81-7c8bca035cde
)
[2] => Array
(
[LineNumber] => 1
[НоменклатураПоставщика_Key] =>
[Номенклатура_Key] =>
[Количество] => 2
[ВидЦеныПоставщика_Key] => 00000000-0000-0000-0000-000000000000
[Цена] => 896
[Сумма] => 1792
[СтавкаНДС] => НДС18
[КодСтроки] => 5772
[Отменено] =>
[Склад_Key] => 03460e63-af82-11e8-ba81-7c8bca035cde
)
[3] => Array
(
[LineNumber] => 1
[НоменклатураПоставщика_Key] =>
[Номенклатура_Key] =>
[Количество] => 2
[ВидЦеныПоставщика_Key] => 00000000-0000-0000-0000-000000000000
[Цена] => 58.5
[Сумма] => 117
[СтавкаНДС] => НДС18
[КодСтроки] => 5769
[Отменено] =>
[Склад_Key] => 03460e63-af82-11e8-ba81-7c8bca035cde
)
)
[1] => Array
(
[Партнер_Key] => 148fa494-6011-11e8-bbb0-cc0593f2be79
[Контрагент_Key] => a5c28eea-9eef-11e8-ba81-7c8bca035cde
[Организация_Key] => 8dc9cf36-424b-11e8-bde7-99eede49b4b6
[Склад_Key] => 03460e63-af82-11e8-ba81-7c8bca035cde
[Валюта_Key] => 80f5e10f-d438-11e7-988b-ece0db457431
[Соглашение_Key] => 81aadc13-af44-11e8-ba81-7c8bca035cde
[ЦенаВключаетНДС] => 1
[СуммаДокумента] => 1792
[РегистрироватьЦеныПоставщика] => 1
[Согласован] => 1
)
[2] => Array
(
[Партнер_Key] => 65776b2c-b4cb-11e8-ba81-7c8bca035cde
[Контрагент_Key] => 65776b2d-b4cb-11e8-ba81-7c8bca035cde
[Организация_Key] => 8dc9cf36-424b-11e8-bde7-99eede49b4b6
[Склад_Key] => 03460e63-af82-11e8-ba81-7c8bca035cde
[Валюта_Key] => 80f5e10f-d438-11e7-988b-ece0db457431
[Соглашение_Key] => 65776b2f-b4cb-11e8-ba81-7c8bca035cde
[ЦенаВключаетНДС] => 1
[СуммаДокумента] => 117
[РегистрироватьЦеныПоставщика] => 1
[Согласован] => 1
)
)
class Exchange1c {
private $mode;
private $filename;
public function __construct() {
// принимаем значение mode
$this->mode = $_GET['mode'];
$this->filename = $_GET['filename'];
}
public function run(){
$mode = $this->mode;
if($mode=='checkauth'){
echo "success\n";
echo session_name()."\n";
echo session_id()."\n";
}
elseif($mode=='int'){
$zip = extension_loaded('zip') ? 'yes' : 'no';
echo 'zip='.$zip."\n";
echo "file_limit=0\n";
}
elseif($mode=='query'){
$ex=toorder_1c();
//echo $ex;
echo htmlentities($ex, ENT_QUOTES|ENT_HTML401);
}
$this->$mode();
}//run
/*
* Этап 1. Авторизовываем 1с клиента
*/
public function checkauth() {
echo "success\n";
echo session_name()."\n";
echo session_id()."\n";
exit;
}
/*
* Этап 2. Говрим 1с, умеем или не умеем работать с архивами
* в нашем случае - умеем :)
*/
public function init() {
$zip = extension_loaded('zip') ? 'yes' : 'no';
echo 'zip='.$zip."\n";
echo "file_limit=0\n";
exit;
}
/*
* Этап 3. Принимаем файл и распаковываем его
*/
public function file() {
// вытаскиваем сырые данные
$data = file_get_contents('php://input');
//Сохраняем файл импорта в zip архиве
file_put_contents($this->filename, $data);
// распаковываем
if(file_exists($this->filename)) {
// работаем с zip
$zip = new ZipArchive;
//все в порядке с архивом?
if($res = $zip->open($this->filename, ZIPARCHIVE::CREATE)) {
// распаковываем два файла в формате xml куда-то
// в нашем случае в этот же каталог
$zip->extractTo(__DIR__);
$zip->close();
// удаляем временный файл
unlink($this->filename);
//Всё получилось?
echo "success\n";
exit;
}
}
// если ничего не получилось
echo "failure\n";
exit;
}
/*
* Этап 3
*/
public function import() {
// используем читалку xml
$xml = simplexml_load_file($this->filename);
if($xml && $this->filename == 'orders.xml') {
/// обрабатываете import.xml как простой xml
//Считываете данные, подключаетесь к своей БД, записываете и т.д
//во время работы скрипта можете отправлять progress
// если все успешно закончилось отправляете успех
echo "success\n";
echo session_name()."\n";
echo session_id()."\n";
exit;
}
else{
echo "Ошибка загрузки XML\n";
foreach (libxml_get_errors() as $error) {
echo "\t", $error->message;
}
exit;
}
}
}
session_start();
$exaple = new Exchange1c();
$exaple->run();
$begin = new DateTime( '2015-07-01' );
$end = new DateTime( '2015-07-24' );
$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($begin, $interval, $end);
foreach ( $period as $dt ){
echo $dt->format( "l Y-m-d H:i:s\n" );
}