שילוב 1C-Bitrix עם KLADR: ייבוא, חיפוש, מיפוי ל-FIAS

הזנת כתובות ידנית בחנות מקוונת על 1C-Bitrix מובילה לשגיאות, כפילויות וכשלי משלוח, במיוחד כאשר מערכת החשבונאות עובדת עם KLADR והאתר עם FIAS. אנו מפתחים ומיישמים אינטגרציה שמסנכרנת ספריות ומבטיחה השלמה אוטומטית נכונה. הצוות שלנו מספק את הפרויקט במפתח מלא, מהגדרת ייבוא ועד מיפוי ותמיכה שוטפת.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
שילוב 1C-Bitrix עם KLADR: ייבוא, חיפוש, מיפוי ל-FIAS
בינוני
~1-2 שבועות

הכישורים שלנו:

שאלות נפוצות

שילוב 1C-Bitrix עם KLADR

בעת פיתוח חנות מקוונת על 1C-Bitrix, במוקדם או במאוחר תיתקלו בצורך בהשלמה אוטומטית של כתובות. לקוחות מזינים עיר ורחוב ידנית — שגיאות, כפילויות, כשלי משלוח. אנו נתקלים באופן קבוע במצבים שבהם מערכת החשבונאות 1C:Enterprise משתמשת ב-KLADR, בעוד שהאתר מחובר ל-FIAS דרך DaData. הכתובות לא תואמות, הזמנות נתקעות. במאמר זה, נפרק כיצד לשלב כראוי את KLADR ב-Bitrix ולהבטיח החלפה חלקה עם 1C.

למה KLADR עדיין רלוונטי

KLADR — הוא מסווג הכתובות של הפדרציה הרוסית, המתוחזק על ידי שירות המס הפדרלי. הוא היה התקן העיקרי. כיום, רוב המערכות החדשות עברו ל-FIAS, אך תשתית מדור קודם ב-1C ודיווח לשירות המס הפדרלי עדיין דורשים את קוד KLADR. אם יש לכם חנות מקוונת על Bitrix המשולבת עם 1C, התעלמות מ-KLADR אינה אופציה.

מתי צריך שילוב KLADR במקום FIAS

  • מערכת החשבונאות של הלקוח היא 1C:Enterprise גרסה 8.3.14 או נמוכה יותר, הפועלת עם קודי KLADR.
  • החלפה עם שירות המס הפדרלי בפורמטים הדורשים את קוד KLADR.
  • חברות הובלה (CDEK, דואר רוסי) שעדיין לא עברו ל-FIAS.
  • ייבוא של מסד נתוני כתובות ישן שבו כל הרשומות בפורמט KLADR.

אם אין מגבלות כאלה, לכו קדימה והשתמשו ב-FIAS — הוא נתמך רשמית ומדויק יותר. אבל עבור תרחישים היברידיים, מיפוי בין KLADR ל-FIAS הוא חיוני.

מאפיין KLADR FIAS
עומק 5 רמות (אזור, מחוז, עיר, יישוב, רחוב) 7+ רמות (מוסיף מבנים, דירות)
קוד 11-13 ספרות GUID (AOGUID) + קוד KLADR בשדה CODE
עדכונים רבעוני יומי
תמיכת שירות המס הפדרלי כן, מדור קודם כן, נוכחי

מבנה KLADR

קוד KLADR הוא מספר בן 11 ספרות או 13 ספרות (כולל מחוון הרלוונטיות). מבנה:

ПП РРРРР ГГГ РРР УЛИЧУ 2 5 3 3 4 = 17 символов (с дополнениями) 
  • ПП РРРРР ГГГ РРР УЛИЧУ 2 5 3 3 4 = 17 символов (с дополнениями) — קוד נושא (אזור).
  • ПП — קוד מחוז.
  • РРРРР — קוד עיר.
  • ГГГ — קוד יישוב.
  • РРР — קוד רחוב.

קבצי מסד הנתונים של KLADR מורדים מאתר שירות המס הפדרלי (fias.nalog.ru — אותו מדור, KLADR). פורמט — קבצי DBF. מקור: fias.nalog.ru

ייבוא KLADR ל-MySQL/PostgreSQL

# Конвертация DBF → SQL через утилиту dbf2sql или Python
python3 -c "
import dbf, csv
table = dbf.Table('KLADR.DBF')
table.open()
for record in table:
    print(','.join([str(f) for f in record]))
table.close()
" > kladr.csv

לאחר הייבוא לטבלת УЛИЧУ, צרו אינדקסים על קוד וקוד אב לחיפוש מהיר.

חיפוש KLADR ב-Bitrix

function searchKladrCities(string $regionCode, string $cityName): array {
    $connection = \Bitrix\Main\Application::getConnection();
    $name = $connection->getSqlHelper()->forSql(mb_strtolower($cityName));
    $sql = "
        SELECT CODE, NAME, SOCR
        FROM kladr_objects
        WHERE CODE LIKE '{$regionCode}%'
        AND LENGTH(CODE) = 13 -- уровень города
        AND LOWER(NAME) LIKE '%{$name}%'
        AND STATUS = '1' -- актуальные записи
        LIMIT 20
    ";
    // ...
}

שיטה זו מחזירה רשימת ערים שהקוד שלהן מתחיל בקוד האזור. היא משמשת ברכיב ההשלמה האוטומטית.

מיפוי KLADR ↔ FIAS

מכיוון שמערכות מודרניות משתמשות ב-FIAS ומערכות מדור קודם משתמשות ב-KLADR, לעיתים קרובות יש צורך בטבלת מיפוי. במסד הנתונים של FIAS יש שדה # Конвертация DBF → SQL через утилиту dbf2sql или Python python3 -c " import dbf, csv table = dbf.Table('KLADR.DBF') table.open() for record in table: print(','.join([str(f) for f in record])) table.close() " > kladr.csv — זהו קוד KLADR. טבלת kladr_objects מכילה את שני המזהים: function searchKladrCities(string $regionCode, string $cityName): array { $connection = \Bitrix\Main\Application::getConnection(); $name = $connection->getSqlHelper()->forSql(mb_strtolower($cityName)); $sql = " SELECT CODE, NAME, SOCR FROM kladr_objects WHERE CODE LIKE '{$regionCode}%' AND LENGTH(CODE) = 13 -- уровень города AND LOWER(NAME) LIKE '%{$name}%' AND STATUS = '1' -- актуальные записи LIMIT 20 "; // ... } (FIAS) ו-CODE (KLADR).

// Получить КЛАДР-код по ФИАС GUID
$sql = "SELECT CODE FROM fias_ADDROBJ WHERE AOGUID = '" . $fiasGuid . "'";

טבלת המיפוי פותרת אי-התאמות כתובות במהלך החלפה עם 1C.

השלמה אוטומטית של כתובות דרך DaData עם קוד KLADR

DaData מחזירה גם ADDROBJ וגם AOGUID בתגובת ההצעה. אם אתם צריכים ספציפית KLADR:

$("#address").suggestions({
  token: dadataToken,
  type: "ADDRESS",
  onSelect: function(suggestion) {
    const d = suggestion.data;
    $("#kladr-id").val(d.kladr_id);
    $("#fias-id").val(d.fias_id);
    // Сохраняем оба — для разных downstream-систем
  }
});

שמירת שני המזהים היא שיטה מומלצת בעת מעבר מ-KLADR ל-FIAS.

העברה ל-1C:Enterprise

בעת סנכרון הזמנות עם 1C:Enterprise דרך CommerceML או החלפת REST ישירה, הכתובת מועברת בפורמט ש-1C מזהה. אם גרסת 1C ישנה (מתחת ל-8.3.14), היא מקבלת קודי KLADR. העבירו את CODE משדה ההזמנה יחד עם כתובת המחרוזת.

כיצד אנו מיישמים שילוב KLADR ב-Bitrix

הגישה שלנו מובנית ומנוסה:

  1. ניתוח סכימת הכתובות הנוכחית: אילו שדות מאוחסנים, אילו מזהים 1C משתמשת.
  2. ייבוא מסד הנתונים של KLADR (הגרסה העדכנית ביותר משירות המס הפדרלי) לטבלת // Получить КЛАДР-код по ФИАС GUID $sql = "SELECT CODE FROM fias_ADDROBJ WHERE AOGUID = '" . $fiasGuid . "'"; נפרדת.
  3. יצירת נקודות קצה REST לחיפוש היררכי: אזורים → ערים → רחובות.
  4. מיפוי כתובות קיימות (אם יש) לקודי KLADR דרך נתוני FIAS פתוחים.
  5. שילוב עם DaData או שירות השלמה אוטומטית אחר, תוך שמירת קוד KLADR בהזמנה.
  6. הגדרת החלפה עם 1C: הוספת שדה kladr_id ב-CommerceML.
  7. בדיקה על נתונים חיים — אימות שכל הכתובות מ-1C ממופות כראוי.

בפרויקט אחד, שילבנו עבור רשת קמעונאית עם 50,000 כתובות. מסד הנתונים של KLADR תפס כ-2 GB לאחר אינדוקס. חיפוש ערים לפי תווים ראשונים בוצע ב-0.02 שניות.

מה העבודה שלנו כוללת

  • ייבוא והגדרה של מסד הנתונים של KLADR על השרת שלכם.
  • REST API לחיפוש כתובות עם סינון קוד אב.
  • טבלת מיפוי בין KLADR ל-FIAS לפעולה חלקה עם שירותים מודרניים.
  • שילוב עם 1C: הגדרת החלפת פרטי כתובת.
  • תיעוד על שימוש ב-API ותמיכה לאחר היישום.

לוח זמנים ומחירים

המאמץ תלוי בנפח הנתונים מדור קודם:

משימה הערכה (שעות)
ייבוא מסד נתונים של KLADR 4–6
יצירת נקודות קצה לחיפוש 6–8
מיפוי KLADR ↔ FIAS 3–4
שילוב עם 1C 4–8

העלות מחושבת באופן אישי לאחר ביקורת על המערכת שלכם. אנו נעריך את הפרויקט שלכם תוך יום אחד — צרו קשר.

צרו קשר — כתבו לנו בטלגרם או השאירו בקשה באתר שלנו. נשיב תוך שעה.