Repository navigation
Expand file tree
/
Copy pathtest_simple_template.php
More file actions
95 lines (80 loc) · 2.94 KB
/
Copy pathtest_simple_template.php
File metadata and controls
95 lines (80 loc) · 2.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php
# -*- coding: utf-8 -*-
require_once 'config.php';
require_once 'set.php';
require_once '../require/usualClass.php';
require_once '../logger/class.php';
/**
* Тест простого шаблона для проверки синтаксиса Bitrix24
*/
$logger = new Logger('simple_template_test.log', __DIR__ . '/logs');
$call = new Usual(BITRIX24_WEBHOOK_URL);
echo "=== Тест простого шаблона ===\n\n";
try {
// Создаем простые тестовые данные
$testData = [
'ROLES_DATA' => [
[
'NUMBER' => 1,
'SERVICE_NAME_INVOICE' => 'Тестовая услуга',
'HOURS' => 10,
'RATE' => 1000,
'AMOUNT' => 10000
],
[
'NUMBER' => 2,
'SERVICE_NAME_INVOICE' => 'Еще одна услуга',
'HOURS' => 5,
'RATE' => 2000,
'AMOUNT' => 10000
]
],
'TOTAL_COST' => 20000,
'COMPANY_NAME' => 'Тестовая компания'
];
echo "Тестовые данные:\n";
echo json_encode($testData, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "\n\n";
// Пробуем разные варианты синтаксиса
$templates = [
40 => 'Основной шаблон (ID 40)',
42 => 'Акт шаблон (ID 42)'
];
foreach ($templates as $templateId => $description) {
echo "Тестируем $description...\n";
$params = [
'templateId' => $templateId,
'entityTypeId' => 2, // Deal
'entityId' => 80,
'values' => $testData
];
$logger->log([
'test' => "Тест шаблона $templateId",
'template_id' => $templateId,
'test_data' => $testData
]);
apiDelay();
$result = $call->callBitrix24API('crm.documentgenerator.document.add', $params);
if (isset($result['error'])) {
echo "Ошибка: " . $result['error_description'] . "\n";
$logger->log([
'error' => "Ошибка шаблона $templateId",
'error_message' => $result['error_description']
]);
} else {
$documentId = $result['result']['document']['id'] ?? 'Неизвестно';
echo "Успешно! Документ ID: $documentId\n";
$logger->log([
'success' => "Шаблон $templateId работает",
'document_id' => $documentId
]);
}
echo "\n";
}
echo "=== Тест завершен ===\n";
} catch (Exception $e) {
echo "Ошибка: " . $e->getMessage() . "\n";
$logger->log([
'error' => 'Общая ошибка теста',
'message' => $e->getMessage()
]);
}