Міграція з
на Microsoft Dynamics 365 Business Central

Детальна інструкція для розробників 1С по переведенню інформаційної системи компанії

Огляд процесу міграції

Покроковий план переходу з 1С на Microsoft Dynamics 365 Business Central

1

Аналіз поточної системи

Детальний аналіз 1С конфігурації, даних та бізнес-процесів

2

Планування архітектури

Проектування нової архітектури в Business Central

3

Розробка розширень

Створення кастомних розширень на AL мові

4

Міграція даних

Перенесення та трансформація даних з 1С

5

Тестування та налаштування

Комплексне тестування та фінальне налаштування

6

Запуск та підтримка

Запуск системи та постійна технічна підтримка

Технічне порівняння 1С та Microsoft Dynamics 365 Business Central

Основні відмінності в архітектурі та розробці

1С:Предприятие

Мова розробки: 1С мова
Архітектура: Файлова або клієнт-серверна
База даних: 1С або MS SQL Server
Розширення: Конфігурації та зовнішні обробки
Ліцензування: Локальне ліцензування

Налаштування середовища розробки

Інструменти та середовища для розробки в Business Central

Visual Studio Code

Основне середовище розробки для AL

AL Language Extension

Розширення для підтримки AL мови

Sandbox середовище

Тестове середовище для розробки

Docker контейнери

Локальне середовище розробки

Основи 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

Підготовка та аналіз

Що робити:

  • Аналіз поточної 1С конфігурації
  • Документування бізнес-процесів
  • Інвентаризація даних та звітів
  • Визначення кастомних функцій
  • Планування архітектури BC

Результат:

Технічне завдання та план міграції

Фаза 2

Розробка розширень

Що робити:

  • Створення базових таблиць та полів
  • Розробка кастомних сторінок
  • Налаштування бізнес-логіки
  • Створення звітів та документів
  • Інтеграція з зовнішніми системами

Результат:

Функціональне розширення Business Central

Фаза 3

Міграція даних

Що робити:

  • Експорт даних з 1С
  • Трансформація та очищення даних
  • Імпорт в Business Central
  • Валідація цілісності даних
  • Тестування міграції

Результат:

Повністю мігровані дані в BC

Фаза 4

Тестування та запуск

Що робити:

  • Комплексне тестування функціональності
  • Навчання користувачів
  • Паралельна робота систем
  • Фінальний перехід
  • Моніторинг та підтримка

Результат:

Повністю функціонуюча система BC

Міграція даних

Технічні деталі перенесення даних з 1С

Експорт з 1С

1

Використання зовнішніх обробок для експорту

2

Експорт в XML або CSV формат

3

Створення звітів по структурі даних

// 1С - Експорт номенклатури
Процедура ЭкспортНоменклатуры()
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ * ИЗ Справочник.Номенклатура";
    Результат = Запрос.Выполнить();
    
    Файл = Новый ЗаписьТекста("C:\Export\Items.csv");
    Файл.Записать("Код;Наименование;ЕдиницаИзмерения");
    
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        Файл.Записать(Выборка.Код + ";" + 
                     Выборка.Наименование + ";" + 
                     Выборка.ЕдиницаИзмерения);
    КонецЦикла;
    Файл.Закрыть();
КонецПроцедуры

Імпорт в Business Central

1

Створення Data Migration розширення

2

Налаштування маппінгу полів

3

Валідація та імпорт даних

// 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

Корисні ресурси та інструменти

Документація, інструменти та спільноти для розробників

Документація AL

Офіційна документація по AL мові розробки

Приклади коду

GitHub репозиторії з прикладами розширень

Спільнота розробників

Форуми та спільноти для обміну досвідом

Навчальні курси

Безкоштовні курси Microsoft Learn

Потрібна допомога з міграцією?

Наші експерти готові допомогти з плануванням та виконанням міграції з 1С на Business Central