Potrzebny jest skrypt (tak, ponieważ wewnętrzne narzędzia 1C nie pozwalają tego zrobić), który będzie przesyłał plik importu przez API na stronę Prom.ua. Istnieje skrypt, który napisałem, ale nie działa, może znajdziesz błąd:
Funkcja ImportTovarovPromUaCherezSkrypt(ТокенАвторизації, ШляхДоФайлуXLSX, НалаштуванняІмпорту)
Dim WshShell, Komenda, РезультатВиконання;
// Ścieżka do pliku VBScript
// Upewnij się, że import_prom.vbs znajduje się w dostępnej lokalizacji,
// lub wskaż pełną ścieżkę do niego.
Jeśli FSO.FileExists(КаталогИБ() & "import_prom.vbs") = 1 wtedy
ШляхДоСкрипта = КаталогИБ() & "import_prom.vbs"; // Zmień na rzeczywistą ścieżkę!
Inaczej
MsgBox("Nie znaleziono skryptu " & КаталогИБ() & "import_prom.vbs");
Return 0;
End If;
// Escapujemy cudzysłowy w ciągu JSON dla wiersza polecenia
// (należy zamienić " na \")
НастройкаEscaped = StrReplace(НалаштуванняІмпорту, """", "\"");
// Tworzymy polecenie do uruchomienia VBScript
// Używamy cscript.exe do wyświetlenia w konsoli
Komenda = "cscript.exe //NoLogo """ & ШляхДоСкрипта & """ """ & ТокенАвторизації & """ """ & ШляхДоФайлуXLSX & """ """ & НастройкаEscaped & """";
Próba
WshShell = CreateObject("WScript.Shell");
// Uruchamiamy skrypt i czekamy na jego zakończenie
// 0 - okno ukryte, True - oczekuj na zakończenie
РезультатВиконання = WshShell.Run(Команда, 0, 1);
// Jeśli skrypt wyświetla wynik w WScript.Echo,
// to trzeba go przekierować do pliku lub stdout, aby 1C mógł go odczytać.
// Zazwyczaj, aby uzyskać wyjście, trzeba przekierować je do tymczasowego pliku
// lub uruchomić skrypt z PowerShell, który może przechwytywać stdout.
// Prosty wariant: nie pobieramy wyjścia, tylko sprawdzamy kod zakończenia.
// Jeśli chcesz otrzymać odpowiedź serwera, VBScript musi zapisać ją do pliku.
Jeśli РезультатВиконання = 0 Тогда // Zazwyczaj 0 oznacza sukces
Возврат "Skrypt importu zakończył się pomyślnie (kod: " & РезультатВиконання & ").";
Inaczej
Возврат "Skrypt importu zakończył się błędem (kod: " & РезультатВиконання & "). Sprawdź logi skryptu.";
End If;
Wyjątek
MsgBox("Błąd uruchomienia zewnętrznego skryptu: " & OpisBłędu());
Возврат "";
End Try;
End Function
Procedura PrzykładImportu() Eksport
Dim Токен, ШляхДоФайлу, Налаштування, Результат;
ШляхДоФайлу = "D:\Obmen\Import_Prom.xlsx";
Токен = SokrLPN(Константа.ТокенПром);
Налаштування = "{ ""force_update"": false, ""only_available"": false, ""mark_missing_product_as"": ""none"", ""updated_fields"": [ ""price"", ""presence"", ""name"", ""sku"", ""images_urls"", ""quantity_in_stock"", ""description"", ""group"", ""keywords"", ""attributes"", ""discount"", ""labels"", ""gtin"", ""mpn"", ""translations"" ] }";
Результат = ImportTovarovPromUaCherezSkrypt(Токен, ШляхДоФайлу, Налаштування);
MsgBox(Результат);
End Procedure