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

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

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

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1462
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1019
  • פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    764
  • פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    882
  • פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    810
  • פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1166

שילוב 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

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

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