Міграція з 1С
на Microsoft Dynamics 365 Business Central
Детальна інструкція для розробників 1С по переведенню інформаційної системи компанії
Огляд процесу міграції
Покроковий план переходу з 1С на Microsoft Dynamics 365 Business Central
Аналіз поточної системи
Детальний аналіз 1С конфігурації, даних та бізнес-процесів
Планування архітектури
Проектування нової архітектури в Business Central
Розробка розширень
Створення кастомних розширень на AL мові
Міграція даних
Перенесення та трансформація даних з 1С
Тестування та налаштування
Комплексне тестування та фінальне налаштування
Запуск та підтримка
Запуск системи та постійна технічна підтримка
Технічне порівняння 1С та Microsoft Dynamics 365 Business Central
Основні відмінності в архітектурі та розробці
1С:Предприятие
Microsoft Dynamics 365 Business Central
Налаштування середовища розробки
Інструменти та середовища для розробки в Business Central
Основи AL мови розробки
Ключові концепції та синтаксис для розробників 1С
Основні відмінності від 1С
Синтаксис
AL використовує C#-подібний синтаксис замість 1С мови
// 1С
Процедура СоздатьДокумент()
Док = Документы.Продажи.СоздатьДокумент();
Док.Дата = ТекущаяДата();
Док.Записать();
КонецПроцедуры
// AL
procedure CreateDocument()
var
SalesHeader: Record "Sales Header";
begin
SalesHeader.Init();
SalesHeader."Document Type" := SalesHeader."Document Type"::Invoice;
SalesHeader."Posting Date" := Today();
SalesHeader.Insert();
end;
Робота з даними
Використання Record замість об'єктів 1С
// 1С
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ * ИЗ Справочник.Номенклатура";
// AL
var
Item: Record Item;
begin
if Item.FindSet() then
repeat
// Обробка запису
until Item.Next() = 0;
end;
Інтерфейс
Сторінки замість форм 1С
// 1С
&НаСервере
Процедура ПриСозданииНаСервере()
// Ініціалізація форми
КонецПроцедуры
// AL
page 50100 "Customer Card"
{
PageType = Card;
SourceTable = Customer;
layout
{
area(Content)
{
group(General)
{
field("No."; Rec."No.")
{
ApplicationArea = All;
}
}
}
}
Стратегія міграції
Покроковий план переходу з 1С на Business Central
Підготовка та аналіз
Що робити:
- Аналіз поточної 1С конфігурації
- Документування бізнес-процесів
- Інвентаризація даних та звітів
- Визначення кастомних функцій
- Планування архітектури BC
Результат:
Технічне завдання та план міграції
Розробка розширень
Що робити:
- Створення базових таблиць та полів
- Розробка кастомних сторінок
- Налаштування бізнес-логіки
- Створення звітів та документів
- Інтеграція з зовнішніми системами
Результат:
Функціональне розширення Business Central
Міграція даних
Що робити:
- Експорт даних з 1С
- Трансформація та очищення даних
- Імпорт в Business Central
- Валідація цілісності даних
- Тестування міграції
Результат:
Повністю мігровані дані в BC
Тестування та запуск
Що робити:
- Комплексне тестування функціональності
- Навчання користувачів
- Паралельна робота систем
- Фінальний перехід
- Моніторинг та підтримка
Результат:
Повністю функціонуюча система BC
Міграція даних
Технічні деталі перенесення даних з 1С
Експорт з 1С
Використання зовнішніх обробок для експорту
Експорт в XML або CSV формат
Створення звітів по структурі даних
// 1С - Експорт номенклатури
Процедура ЭкспортНоменклатуры()
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ * ИЗ Справочник.Номенклатура";
Результат = Запрос.Выполнить();
Файл = Новый ЗаписьТекста("C:\Export\Items.csv");
Файл.Записать("Код;Наименование;ЕдиницаИзмерения");
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Файл.Записать(Выборка.Код + ";" +
Выборка.Наименование + ";" +
Выборка.ЕдиницаИзмерения);
КонецЦикла;
Файл.Закрыть();
КонецПроцедуры
Імпорт в Business Central
Створення Data Migration розширення
Налаштування маппінгу полів
Валідація та імпорт даних
// AL - Імпорт номенклатури
codeunit 50100 "Data Migration"
{
procedure ImportItems()
var
Item: Record Item;
TempBlob: Codeunit "Temp Blob";
InStream: InStream;
Line: Text;
Fields: List of [Text];
begin
TempBlob.CreateInStream(InStream);
while not InStream.EOS do begin
InStream.ReadText(Line);
Fields := Line.Split(';');
if Fields.Count >= 3 then begin
Item.Init();
Item.Validate("No.", Fields.Get(1));
Item.Validate(Description, Fields.Get(2));
Item.Validate("Base Unit of Measure", Fields.Get(3));
Item.Insert();
end;
end;
end;
}
Типові виклики та рішення
Найпоширеніші проблеми при міграції та способи їх вирішення
Складні обчислення
Перенесення складних формул та розрахунків з 1С
Рішення:
- Використання Codeunits для бізнес-логіки
- Створення кастомних функцій
- Адаптація під AL синтаксис
Звіти та друк
Міграція складних звітів та форм друку
Рішення:
- Використання Report Builder
- Створення Word шаблонів
- Налаштування RDLC звітів
Інтеграції
Перенесення зовнішніх інтеграцій
Рішення:
- Використання Web Services
- Створення API endpoints
- Інтеграція через Power Platform
Користувачі та права
Налаштування користувачів та прав доступу
Рішення:
- Використання Permission Sets
- Налаштування User Groups
- Інтеграція з Azure AD
Корисні ресурси та інструменти
Документація, інструменти та спільноти для розробників
Потрібна допомога з міграцією?
Наші експерти готові допомогти з плануванням та виконанням міграції з 1С на Business Central