CSV пен Excel арқылы интеграция: сенімді схема және қателер
CSV пен Excel арқылы интеграцияның тұрақты жұмыс істеуі үшін практикалық ережелер: схема, форматты версионирлеу, валидация және түсінікті қателік хаттамасы.

CSV мен Excel арқылы интеграциядағы негізгі мәселе
CSV пен Excel жеңіл көрінеді: кестені шығарып, басқа жүйеге жүктейсің — болды. Бірақ дәл осы қарапайымдық себепті осындай алмастырыстар жиі бұзылады. Біреу файлды Excel-де ашып, «өзіне ыңғайлы» етіп сақтайды. Басқа адам бағандардың ретін өзгертеді. Біреу пробелдер, комментарийлер немесе «әдемі» пішім қосады. Соның нәтижесінде импорт немесе құлап қалады, немесе әлдеқайда жаман — қате деректер үнсіз енгізіледі.
Мәселе көбіне адамдарда емес, күтілімдерде. Файл адамға арналған құжат сияқты қабылданады, ал интеграцияда ол жүйелер арасындағы интерфейс. Интерфейс болжамды болуы керек: бірдей бағандар, бірдей типтер, бірдей бос мәндер ережелері. Әйтпесе әр жолы «жаңа формат» шығып, қайталанбайтын процесс пайда болады.
Тұрақты дегеніміз — формат бекітілген, өзгерістер басқарылатын және деректер жүктелмей тұрып және жүктеу кезінде тексерілетін жағдай. Сол кезде алмасу «қызықсыз әрі тұрақты» болады: файл не қабылданады, не түсінікті себеппен кері қайтарылады.
Басты мақсат — қолданушылар файлдарды жай ғана жүктесін, импортқа дейін оларды қолмен «жөндемесін». Егер адамдар үнемі кестелерді түзетіп жатса, формат ережелері анықталмаған немесе жүйе қателерді түсіндірмейді деген сөз.
Мұндай тәсіл әсіресе файлдар жұмыс құралы болып қалатын жерлерде маңызды: бухгалтерияда (суммалар мен күндер), сатып алуда (номенклатура мен справочниктер), кадрлық шығаруында (ЖСН, Тегі/Аты/Әкесінің аты, статустар), реестрлер мен бөлімдер арасындағы өтініштер тізімінде.
Қарапайым мысал: сатып алу бөлімі Excel-ге өтініштерді шығарады, ал файл есеп жүйесіне өтеді. Егер біреу «Дата» бағанын «Дата заявки» деп атаған болса немесе күнді 01.02.24 ретінде енгізсе, кейбір жолдар оқылмауы мүмкін. Бұл пайдаланушылардың қателігі емес — бұл формат сипатталмағанның салдары. Сондықтан CSV мен Excel арқылы алмасуды формат тәртібінен бастау керек, «тағы бір шаблон» емес.
Шекараларды келісіңіз: файл нені жасауы керек және нені жасамауы керек
CSV пен Excel ыңғайлы, бірақ алдын ала шекараны келіспесе, олар «әмбебап шешімге» айналуы оңай. Қарапайым нәрселерді бекітіңіз: кім дерек береді, кім қабылдайды және әр тараптың жауапкершілігі неде.
Бастапқыда қайсысы дерек көзі, қайсысы тұтынушы екенін анықтаңыз. Дерек көзі ережелер бойынша файл жасайды және деректердің дұрыстығына жауапты. Тұтынушы — импорт пен қателер туралы түсінікті хабарламаларға жауапты. Егер екі тарап та «шекті өзгертсе», кінәлі табылмайды, ал түзетулер кездейсоқ болады.
Содан кейін алмасу сценарийін сипаттаңыз: тек импорт, тек экспорт, екіжақты алмасу (мысалы, статустарды қайтару), жоспар бойынша кезеңдік не бір реттік (миграция). Сценарий формат пен келісім процесін анықтайды.
Негізгі мәселе — "шындық" қайда. Егер негізгі жүйе біреу болса, екінші жүйе файл арқылы оның деректерін алдын ала келісілген өрістерден басқа өзгертпеуі тиіс (мысалы, "статус" пен "орындалған күні"). Егер «шындық» анықталмаса, дубликаттар, қайшылықтар және шексіз тексерістер басталады.
Формат өзгерісі ережелерін алдын ала келісу пайдалы:
- кім өзгерістерді бекітеді және кім тестілейді;
- ескі нұсқа қанша уақыт қолдау табады;
- өзгерістер туралы хабарлама қалай жіберіледі және кімге;
- қандай қателер критикалық саналады (импорт тоқтайды).
Мысал: сатып алу бөлімі өтініштер шығарады, бухгалтерия оларды есеп жүйесіне импорттайды. Егер бухгалтерия сомалар мен контрагенттер бойынша негізгі болса, сатып алу бұл өрістерді файлда «түзетпеуі» керек. Есеп деректерін өзгерту келісілген процесс арқылы жүргізілуі тиіс, Excel-де қолмен түзету арқылы емес.
Схема ережелері: бағандар, типтер, міндеттілік
Тұрақты алмасу шаблоннан емес, айқын схемадан басталады.
Бірінші ереже: бір файл — бір логикалық объект. Егер бұл «Шоттар» болса, онда «Контакты» мен «Адреса» қоспаңыз. Байланыстарды идентификаторлар арқылы беріңіз, «2-лист» арқылы емес.
Схема бірмәнді болуы керек: тұрақты баған атаулары, түсінікті деректер типтері және міндеттілік белгісі. Пайдаланушы қандай өрісті өткізіп жіберуге болатынын немесе не жазу керектігін болжай алмауы тиіс.
Қай бағандар әдетте міндетті болады
Жинақ объектіне байланысты, бірақ көбіне қажет өрістер:
- бірегей кілт (жазба ID немесе сыртқы идентификатор);
- оқиға күні (нақты біреу: жасау, есептелу, жөнелту);
- статус (қатаң таңдалған жиынтықтан);
- сума (сан, мәтінсіз);
- байланыстар идентификаторлары (мысалы, контрагент ID).
Деректер типін формат сипаттамасында бекітіңіз: жол, сан, күн, иә/жоқ, справочник. Справочниктер үшін «еркін мәтін» қолдануға тыйым салыңыз: кодтар (PAID, NEW) «Оплачено», «опл.», «да» секілді варианттардан қауіпсіз.
Мөлшер бірліктері мен валютаны бөлек бағанда сақтау сенімді: мысалы, currency=KZT, сомада «100 000 тг» жазбау жақсырақ.
Бос мәндердің ережесін міндетті түрде анықтаңыз. Бос — «дерек жоқ» дегенді білдіреді. Нөл — нақты 0 мәні. «нет данных», «-», «N/A» сияқты сөздерді тыйым салу керек, әйтпесе валидация мен есептер шатаса бастайды.
Барлығын шешетін детальдар: кодировка, күндер, сандар
Көптеген ақаулар логикадан емес, ұсақ-түйектерден басталады. Файл бірдей көрінсе де, әртүрлі компьютерде, Excel нұсқасында және аймақтық баптауларда әр түрлі оқылуы мүмкін.
Негізгі нәрселерді бекітіңіз:
- Баған атаулар мен реті тұрақты. Ескі бағандар қайта аталып немесе орын алмастырылмауы керек.
- CSV үшін кодировка (әдетте UTF-8) және бір баған бөлгіш таңдалған (үтір немесе нүктелі үтір) — араластыру болмайды.
- Күндер бір форматта болуы керек, күн мен айды шатастырмайтын формат практикалық:
YYYY-MM-DD. Уақыт қажет болса, формат пен уақыт белдеуін келісіңіз. - Сандар бір форматта: ондық бөлгіш біреу, алдын ала дөңгелектеу ережесі, бос орындар мен мың бөлгіштерсіз.
Excel-шаблонда пішімдеуге сенбеңіз. Айырбас үшін мәндер керек, формуласыз, түспен немесе біріктірілген ұяшықтармен емес.
Мысал: бухгалтерия сомаларды «1 000,00» ретінде шығарады, ал импорт «1000.00» күтеді. Тестілеуде «жұмыс істейді» көрінуі мүмкін, ал нақты деректерде кейбір жолтар мәтінге айналады. Мұндай қателер тек қатаң ережелер мен импортқа дейінгі тексерулер арқылы жойылады.
Форматтың нұсқаларын басқару: файлды апатсыз қалай өзгерту керек
Импорт файлы — бұл келісімшарт. Құжатты келісусіз өзгерткен кезде жүктеу, есептер және қолмен айналымдар бұзылады.
Ең қарапайым тәсіл: файлға format_version өрісін қосыңыз (мысалы, 1.0, 1.1, 2.0). Жолдардың барлығында бірдей мән болатын бөлек баған болуы жақсы. Импорт алдымен нұсқаны оқып, содан кейін тиісті ережелерді қолданады.
Сәйкестік өзгерістер көбіне ескі процестерді бұзбайды. Сәйкестікке жатпайтын өзгерістер жаңа нұсқаны және көшу жоспарын талап етеді.
Сәйкестікке жататын: соңына жаңа міндетті емес баған қосу; справочникке жаңа рұқсат етілген мән қосу (мысалы, жаңа статус).
Сәйкестікке жатпайтын: бағанды қайта атау немесе мағынасын өзгерту; типін өзгерту; міндетті болмаған бағанды міндетті ету.
Ескі нұсқаларды қанша уақыт қолдау керектігін алдын ала белгілеңіз (мысалы, жаңа нұсқа шыққаннан кейін 90 күн). Сол аралықта импорт екі нұсқаны да қабылдайды және қолданушыларға өту уақыты туралы ескерту келеді.
Шаблондар да нұсқалануы тиіс: «Шаблон импорта v1.1», «v2.0». Форматтың иесін тағайындаңыз (әдетте импортты қабылдайтын команда): тек сол команда шаблонды, ережелерді және мысалдарды жаңартады. Өзгерістер журналы қысқа болуы жеткілікті: не өзгертілді, не үшін және қай күннен бастап міндетті.
Валидация: импорт алдында және импорт кезінде не тексеру керек
Сенімді импорт валидацияға сүйенеді. Тексерулерді екі қабатқа бөлу ыңғайлы: құрылым (файл оқыла ма) және мазмұн (деректерге сенуге болады ма). Осылай «дыбыссыз» қателер азаяды — файл жүктелгенімен, жүйеге қате цифрлар кіріп кетпейді.
Алдымен құрылымды тексереді: қажетті бағандар бар ма, атаулар сәйкес пе, типтер танылды ма. Мұнда бос мәндермен не істеу шешіледі: рұқсат ету ме, әлде әдепкі мән қою ма.
Содан кейін мазмұн тексеріледі. Қалыпты жағдайда проблемалар қолмен түзетулерден шығады: статустар әдетте өзгереді, пробелдар көшіріледі, форматтар шатасады.
Деректерде не тексерген дұрыс
Көбіне төмендегі минимум жеткілікті:
- справочниктер мен кодтар (статустар, бөлімдер, ИИН/БИН, валюталар, өлшем бірліктері);
- кілттердің уникалдығы және жолдар арасында дубльдердің болмауы;
- диапазондар мен типтер (күндер шынайы, сомалар мәтін емес, теріс мәндер тыйым етілген болса емес);
- кросс-проверка (басталу күні аяқталу күнінен кейін болмауы, жолдар сомасының жалпыға сай болуы, міндетті өрістер жұппен толтырылуы).
Импорт алдында және импорт кезінде
Импорт алдында тез тексеру пайдалы: құрылым, міндетті өрістер, айқын қателер. Импорт кезінде қаттырақ тексерістер керек: справочниктер, уникалдық, кросс-проверка.
Алдын ала саясатты анықтаңыз: импортты толық тоқтату немесе бөлшектеу арқылы жүктеу. Бөлшектеп жүктеу тәуелсіз жазбалар үшін қолайлы (мысалы, өтініштер). Толық тоқтату бүтіндікке зиян келтіретін жағдайда қажет (мысалы, позицияларымен құжаттар, мұнда итог сәйкес болуы тиіс). Қолданушыға не түзету керектігін тізім ретінде беріп жіберіңіз, жай ғана «ошибка импорта» деп қана айтпаңыз.
Қате протоколы: адам не түзету керегін түсінуі үшін
Қате туралы хабарлама «файл нашар» емес, нақты нені түзету керегін көрсетуі тиіс.
Бір форматтағы қателер құрылымын жасаңыз және оған ұстаныңыз. Әр қате жазбасында ең кемі болсын:
- код (мысалы, E101, W203);
- қарапайым тілдегі мәтін;
- баған атауы (шаблондағыдай);
- жол нөмірі;
- проблемалық мән (сол күйінде);
- формат нұсқасы (мысалы, v1.2).
Қателерді түрлерге бөліңіз. Критикалықтер импортты тоқтатады (міндетті өріс жоқ, тип қате, уникалдық бұзылды). Критикалық емес — ескертулер (артық пробелдар, белгісіз міндетті емес баған, дөңгелектеу). Пайдаланушы қорытындыны көруі тиіс: «Импорт 3 қате себебінен тоқтатылды» немесе «Импорт аяқталды, 5 ескерту».
Мәтінді жай тілмен және дұрыс мысалмен жазыңыз. Нашар: «Невалидный формат даты». Жақсы: «PurchaseDate бағанындағы күн форматы ГГГГ-ММ-ДД болуы тиіс, мысалы 2026-01-28. Қазіргі мән: 28/01/26».
Қолданушыға қате есебін беріңіз. Ыңғайлы нұсқа — бастапқы жолдармен бірге бөлек файл беру және оған Status пен Message бағандарын қосу, сонда проблемалы жазбаларды сүзгіден өткізіп, түзету оңай болады.
Қайта импорт кезінде дубль мәселесін алдын ала шешіңіз. Тұрақты кілт (мысалы, ExternalID) қосып, оны өзіңіздің жүйеде сақтаңыз. Сол кезде қайта жүктеу бар жазбаны жаңарта алады, жаңа жазба құрмайды.
Қолмен түзетуден қалай бас тарттыруға болады
Қолмен түзетулер алмасуды бұзады: бағандарды жояды, күн форматтарын өзгертеді, кодтарда пробелдар қояды, формулалармен көшіріп қояды. Шешім — "Excel-ді тыйым салу" емес, дұрыс жолды ең оңай ету.
Ресми шаблоннан бастаңыз. Бір файл, бір нұсқа, ұяшықтағы көмек мәтіні және құрылымды кездейсоқ өзгертуге қарсы қорғау. Пайдаланушы деректерді толтыруы тиіс, формат құруға емес.
Енгізуді басқару үшін:
- парақты және тақырыптарды қорғайтын етіп жасаңыз, бағандарды қайта атауға немесе орын алмастыруға тыйым салыңыз;
- справочниктер үшін ашылмалы тізімдер жасаңыз және тізімнен тыс мәнге жолатпаңыз;
- қарапайым тексерістер қосыңыз (міндетті өрістер, ИИН/БИН ұзындығы, сандар диапазоны);
- түсініктеме үшін бір ғана баған қалдырыңыз — comment, жаңа бағандар қосуға рұқсат бермеңіз.
Мүмкін болса, қолмен толтыруды алып тастаңыз. Ең жақсы файл — жүйеден автоматты шығатын: экспорт, сервис-десктен немесе CRM/бухгалтериядан. Сол кезде адам кестені «суреттемейді», тек деректерді растайды немесе түсініктеме қосады.
Файл аттарын да бір ереже бойынша белгілеңіз: күн, жүйе-дереккөз, деректер түрі, формат нұсқасы, пакет нөмірі. Бұл нұсқалар арасындағы шатасуды азайтады.
Егер IT-қолдау немесе интегратор бар болса, барлық схема өзгерістері формат иесі арқылы ғана өтуі керек. Жүйелік интеграция жобаларында бұған көбінесе GSE.kz секілді команда жауап береді, сонда іске қосылғаннан кейін формат тарқамайды.
Мысал сценарий: бөлімдер арасында өтініштер алмасу
Сатып алу бөлімі күнделікті өтініштерді Excel-ге шығарады, бухгалтерия файлды есеп жүйесіне жүктейді. Жай сияқты көрінсе де, дәл осы жерде жиі ақаулар шығады: біреу соманы өзгертеді, бағанды жойып жібереді, күн форматты бұзады немесе жолды екі рет көшіріп қояды.
Файлдың тұрақты болуы үшін схема мен минималды өрістерді алдын ала бекіту қажет. Мысалы, әр өтініште RequestID және жолдың кілті LineID болуы тиіс, осылай бір өтініштің бірнеше позициясын айырасыз.
Мысал бағандар мен ережелер:
- RequestID (жол, міндетті, уникалды)
- LineID (бүтін сан, міндетті)
- Status (тізімнен мән: NEW, APPROVED, REJECTED)
- Amount (сан, міндетті)
- Currency (KZT, USD, EUR)
Импорт алдында жүйе жылдам тексеру жасайды және ең типтік қателерді дерекқорға жазғанға дейін бөліп тастайды. Практикада жиі кездесетіндер: күндердің форматы (Excel оларды оңай санға айналдырады), валюта жазылымдары (пробелдар мен әртүрлі жазулар), дубльдер (файлды қайта жіберу), контрагент кодтарының қате болуы.
Қателерді есеп түрінде қайтарған дұрыс:
- 18 жол, Currency: "тенге" мәні қолдау табылмайды, қабылданатын — KZT
- RequestID 10452: дубликат, 2026-01-27-де импортталған
- 7 жол, Amount: "12 000,50" танылмады, күтіледі 12000.50
Пайдаланушы файылды «қалай болса солай» түзетпеуі тиіс. Ол есепке қарап, дереккөзде (мысалы, сатып алу тізімінде) түзетіп, жаңа выгрузка жасайды.
Егер жаңа баған немесе статус керек болса, формат нұсқасын енгізіңіз: format_version бағанын қосып, жаңа өрістерді көшу кезеңінде міндетті емес етіп жасаңыз. Солайша бухгалтерия ескі де, жаңа файлдарды да тоқтаусыз импорттай алады.
Өтінішті іске қоспастан бұрын қысқа чек-лист
Жұмысқа шығару алдында қысқа тексеруден өткізу 15 минут алады, бірақ талай сағаттық түсініспеушіліктерден құтқарады.
Формат пен құрылымды тексеру
- Файлда формат нұсқасы бар (
format_version), және жүйе қабылдайтын нұсқаларды нақты біледі. - Бағандар жиыны келісілген: міндетті өрістер бар, атаулар символ бойынша сәйкес келеді, артық бағандар не тыйым салынған, не қағида бойынша еленбейді.
- Деректер типтері бірден түсінікті: күндер мен сандар бір форматта, формулалар мен біріктірілген ұяшықтар жоқ.
Деректер мен қателерді тексеру
- Әр жолда кілт бар, ол уникалды және объектілер арасында «секіру» жоқ. Егер кілт құрама болса, бұл жазылады және тексеріледі.
- Справочниктер мен кодтар жарамды (статустар, бөлімдер, валюталар). Бос мәндер тек арнайы көрсетілген жерлерде ғана рұқсат етіледі.
Тесті импорттан кейін қателер кодымен, жол нөмірімен, баған атауымен және қысқа кеңеспен қайтарылатынына көз жеткізіңіз. Егер қолданушы файлды түзету үшін IT-ға хабарласпай өзгерте алмаса — процесс дайын емес.
Қайталанатын қателер және тұзақтар
Көбіне CSV мен Excel логикасын араластыру проблема тудырады. CSV тек деректер болуы тиіс, ал Excel-ге формулалар, жасырын бағандар, біріктірілген ұяшықтар және стилизация түсінігі тек автор үшін мағыналы болуы мүмкін. Нәтижесінде жүйеге дәл деректер емес, бөгде болжамдар түседі.
Тағы бір тұзақ — «аздап ыңғайландырдым». Тақырыпты қайта атау, ретті өзгерту, пробел қосу немесе тілге аудару — импортты сәйкестендіруден шығарады. Файл әрқашан келісімшарт болу керек, тірі құжат емес.
Импортты жиі бұзатындар
Әдетте ақау келесі ұсақ-түйектерден болады:
- баған атаулары регистрін, тілін өзгертті немесе пробел қосылды;
- сандарға мыңдық бөлгіштер немесе валюта белгілері қосылды;
- күндер «Excel стилінде» (мысалы, 01.02.2026) нақты стандартсыз енгізілді;
- файлдың ортасында бос жолдар немесе комментарийлер пайда болды;
- бір бағанда әртүрлі типтер араластырылды (сан, мәтін, "нет данных").
Пайдаланушы түзете алмайтын қателер
Тіпті жақсы валидатор да "неверный формат" деген хабармен пайдасыз болады. Қолданушыға жол, баған, ағымдағы мән және күтілетін форматты көрсетіп, әрі қарай не істеу керектігін айтыңыз: ауыстыру, жою, толтыру немесе справочникқа қосу.
Арнайы тұзақ — ережелерсіз жартылай импорт. Егер кейбір жолдар жүктеліп, кейбірі жүктелмесе, дубльдер мен сәйкессіздіктер шығады. Қайта жүктеу стратегиясын алдын ала ойластырыңыз (уникалды кілт, режим «жаңарту немесе қосу», жүктеу журналы).
Практикалық ереже: бағандар мен оқу ережелерін өзгерту тек жаңа формат нұсқасы арқылы жүргізілсін. Жүктеуден бұрын файлды тексеріңіз, дерекқорға түскеннен кейін емес.
Қайдан бастау және процессті бекіту
Деректер шығаратындар мен қабылдайтындар арасында қысқа жұмыс сессиясынан бастаңыз. Мақсат — "файл жасау" емес, қандай өрістер қажет, кім жауапты және не қателік саналатынын келісу. Қолданушыларда қанша аз болжам қалса, сонша аз қолмен түзету болады.
Барлық нәрсені бір жерде бекітіңіз: схема (бағандар, типтер, міндеттілік), мысал мәндер және нұсқалар ережелері. Бұл құжат жаңартылып отыруы мүмкін, бірақ тек анық процесс арқылы.
Жұмыс тәртібі әдетте мынадай:
- форматтың иесін және үйлесімділік ережелерін тағайындау;
- нұсқалы Excel шаблонын дайындау, көмек және құрылымды қорғау қосу;
- импорттан бұрын файлды тексеру және қателер жайлы түсінікті есеп беру;
- жаңа нұсқаға көшу тәртібін анықтау (мерзімдер, артқа үйлесімділік, ескі нұсқаны өшіру датасы);
- пилотты бірнеше нақты файлда жүргізіп, адамдар жиі қателесетін жерлерді түзету.
Пилоттан кейін процесс бекітіледі: бір беттік нұсқаулық, жаңартулар регламенті және сұрақтар үшін анық арна. Жақсы көрсеткіш — қателердің көбісі жүктеу алдында ұсталып қалса, ал жүйеге деректер енгеннен кейін даулар туындамаса.
FAQ
Почему обмен через CSV/Excel так часто ломается, хотя выглядит простым?
Форматты келісімшарт ретінде бекітіңіз: бағандардың дәл атаулары, типтері, міндеттілік және бос мәндер ережелері. Содан кейін қайсысы дерек беруші, қайсысы тұтынушы екенін айқындаңыз және файлды қолмен «жақсартуға» тек формат нұсқасын өзгертпей тастауға тыйым салыңыз.
Кто должен отвечать за файл: тот, кто выгружает, или тот, кто загружает?
Деректерді шығаратын — формат бойынша дұрыс файл шығаруға жауапты. Тұтынушы — импорт пен қателердің түсінікті хабарламаларын беру жауапкеригі. Егер екі тарап та файлды «іштен» өзгертсе, формат жайылып, мәселелер болжалмайтын болады.
Как понять, какая система «главная», если обе стороны хотят править данные в файле?
Әр өріс бойынша «шындық қайда» екенін анықтаңыз. Мысалы, бір жүйе сомалар мен контрагенттер бойынша негізгі болуы мүмкін, ал екінші — тек статустар мен орындалу мерзімдері бойынша. Әйтпесе қайшылықтар, дубльдер және үнемі тексерулер басталады.
Какие минимальные правила схемы нужны, чтобы импорт был стабильным?
Бастапқы ретінде схема жасаңыз: бағандардың дәл атаулары, түсінікті типтер және міндеттілік белгісі. Справочниктер керек жерде бос мәтінге тыйым салыңыз, және бос мәннің не екенін алдын ала анықтаңыз, сонда «пусто» «-» немесе «нет данных»-ке айналмайды.
Почему плохо делать один Excel «на всё» с несколькими листами и разными типами данных?
Бір файлға бір логикалық объект — ең жақсы. Байланыстарды идентификаторлар арқылы жіберіңіз, екінші параққа немесе «контакты төменде» секілді шешімдерге сүйенбеңіз. Бұл валидацияны жеңілдетеді және бөлшектенген жүктемелерден сақтайды.
Какие настройки файла чаще всего ломают импорт: кодировка, даты или числа?
Кодировканы (әдетте UTF-8), бір баған бөлгішін CSV үшін және күндер форматтарын бекітіңіз (күн пен айды шатастырмайтындай). Сан үшін бөлгішті, мыңдықтарды және валюталық белгілерді пайдаланбауды келісіңіз. Бұл ұсақ-түйек қателер ең көп «тыныш» ақауларды тудырады.
Как менять формат файла без аварий и остановки обмена?
Файлға `format_version` бағанын қосыңыз және импорт оны тексеріп алады. Сәйкес өзгертулерді нұсқаулықсыз енгізбеңіз: қосымша міндетті бағандар, өзгертілген типтер — жаңа нұсқаны талап етеді. Қолдау мерзімін (мысалы, 90 күн) алдын ала белгілеп қойыңыз.
Что именно валидировать до импорта и во время импорта?
Құрылым мен мазмұнға бөлек тексерулер жасаңыз. Құрылым — бағандардың бар болуы, атаулары, негізгі типтер. Мазмұн — справочниктер, кілттердің уникалдығы, диапазондар мен кросс-проверка (мысалы, басталу күні аяқталу күнінен бұрын болмауы).
Как сделать сообщения об ошибках такими, чтобы их мог исправить обычный пользователь?
Қате пайдаланушыға не түзету керектігін көрсетуі керек: баған аты, жол нөмірі, ағымдағы мән және күтілетін формат қарапайым тілде. Сындар мен ескертпелерді бөлу керек — импорт тоқтаған ба, әлде орындалды ма дегенді көрінетін етіңіз.
Как отучить пользователей «подправлять» Excel перед загрузкой и ломать формат?
Дұрыс жолды ең оңай қылыңыз: ресми шаблон, қорғалатын тақырыптар, басқарылатын енгізу және түсініктеме үшін жеке баған. Мүмкіндігінше файлды жүйеден автоматты түрде шығару жақсы — адам қолмен «табличка толтырмасын». Форматты өзгерту процесін бір жауапты командаға бекітіңіз, қажет болса интегратор арқылы (мысалы, GSE.kz).