Top.Mail.Ru
Меню
Каталог Программы 1С Опыт и отзывы Услуги Компания Интересное Контакты

Переход с 1С:ERP на 1С:КА 2 или 1С:УТ 11

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft  14.05.2026 Актуальность проверена: 10.07.2026   5 мин.
Содержание

Предыстория задачи “превращения” ЕРП в КА 2 / УТ 11

К нам обратился заказчик, для которого учет в 1С:ERP оказался слишком сложным. А возможности программы - излишними. Заказчик принял решение перейти на ведение учета в 1С:Комплексной автоматизации 8, ред. 2.

Кстати, если вас интересует таблица сравнения функционала самых популярных современных программ для ведения учета, можете запросить ее у нас:

Форма запроса таблицы сравнения функционала конфигураций 1С: КА 2, УТ 11, УНФ, ERP

Закажите конвертацию ЕРП в КА 2 в компании Moscowsoft

Такая задача имеет свои нюансы. Далее по тексту рассказываем о некоторых из них. Но это не все трудности, с которыми столкнется специалист, который будет заниматься таким переходом в ERP на КА 2. Поэтому для экономии своего времени сил обратитесь к нам за ее выполнением.

Инструкция по шагам, как “превратить” 1С:ЕРП в 1С:Комплексная автоматизация

Теоретически в конце пройдет загрузка конфигурации и ваша база станет стандартной конфигурацией “на замке”, но уже КА или УТ.

На практике возникают ошибки. Дело в том, что в ERP существенно больше видов документов. И они могут быть в измерениях записей независимых регистров сведений. То есть при попытке выполнить конфигурацию “видит”, что в результате появятся записи регистров сведений с пустыми измерением. И откатывает реструктуризацию - пишет ошибку “при выполнении записи регистра сведений … станут неуникальными”.

Что делать с этой ошибкой?

Исправление ошибки реструктуризации

Мы выполняли задачу конвертации 1С:ERP в 1С:Комплексная автоматизация и решали проблему неуникальных записей регистров сведений следующим образом.

Программный код перед конвертацией ERP в Комплексная автоматизация

В результате работ из абзаца выше у нас получился следующий код (далее по тексту). Хотим добавить, что с выходом новых релизов программ этот код устареет. Кроме того, он сработал у нашего заказчика. В случае другой реальной рабочей базы скрипт может понадобиться немного другой. Звоните нам по телефону +74996733375 или пишите описание своей задачи на почту task@moscowosft.com.

Набор = РегистрыСведений.ВерсииОбъектов.СоздатьнаборЗаписей();
Набор.Записать();

МассивТипов = Новый Массив();
МассивТипов.Добавить(Тип("ДокументСсылка.ПередачаДавальцу"));
МассивТипов.Добавить(Тип("ДокументСсылка.ЭтапПроизводства2_2"));
МассивТипов.Добавить(Тип("ДокументСсылка.ОтчетДавальцу"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПоступлениеСырьяОтДавальца"));
МассивТипов.Добавить(Тип("ДокументСсылка.ВводОстатковОСМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.ВозвратСырьяДавальцу"));
МассивТипов.Добавить(Тип("ДокументСсылка.ОтчетДавальцу2_5"));
МассивТипов.Добавить(Тип("ДокументСсылка.НачальныеОстаткиНЗППоПартиямПроизводства"));
МассивТипов.Добавить(Тип("ДокументСсылка.ОтчетДавальцуМеждуОрганизациями"));
МассивТипов.Добавить(Тип("ДокументСсылка.АмортизацияНМАМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.АмортизацияОСМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.ВводИнформацииОПрошлыхРемонтах"));
МассивТипов.Добавить(Тип("ДокументСсылка.ВводОстатковНМАМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.ВводОстатковОСМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.ВозвратСырьяДавальцу"));
МассивТипов.Добавить(Тип("ДокументСсылка.ДоступностьВидаРабочихЦентров"));
МассивТипов.Добавить(Тип("ДокументСсылка.ДоступностьРабочихЦентров"));
МассивТипов.Добавить(Тип("ДокументСсылка.ЗаказДавальца"));
МассивТипов.Добавить(Тип("ДокументСсылка.ЗаказДавальца2_5"));
МассивТипов.Добавить(Тип("ДокументСсылка.ЗаказНаПроизводство"));
МассивТипов.Добавить(Тип("ДокументСсылка.ЗаказНаПроизводство2_2"));
МассивТипов.Добавить(Тип("ДокументСсылка.ЗаказНаРемонт"));
МассивТипов.Добавить(Тип("ДокументСсылка.ИзменениеПараметровНМАМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.ИзменениеПараметровОСМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.КорректировкаЗаказаМатериаловВПроизводство"));
МассивТипов.Добавить(Тип("ДокументСсылка.МаршрутныйЛистПроизводства"));
МассивТипов.Добавить(Тип("ДокументСсылка.НачальныеОстаткиНЗППоПартиямПроизводства"));
МассивТипов.Добавить(Тип("ДокументСсылка.НачальныеОстаткиНЗППоПодразделениям"));
МассивТипов.Добавить(Тип("ДокументСсылка.ОперацияМеждународный"));
МассивТипов.Добавить(Тип("ДокументСсылка.ОтчетДавальцу"));
МассивТипов.Добавить(Тип("ДокументСсылка.ОтчетДавальцу2_5"));
МассивТипов.Добавить(Тип("ДокументСсылка.ОтчетДавальцуМеждуОрганизациями"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПереводОсновныхСредствИнвестиционногоИмуществаМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПередачаДавальцу"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПеремещениеНМАМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПеремещениеОСМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПлановаяКалькуляция"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПлановаяКалькуляция2_2"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПоступлениеСырьяОтДавальца"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПринятиеКУчетуНМАМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПринятиеКУчетуОСМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПроизводственнаяОперация2_2"));
МассивТипов.Добавить(Тип("ДокументСсылка.ПроцессПодготовкиБюджетов"));
МассивТипов.Добавить(Тип("ДокументСсылка.РазрешениеНаЗаменуМатериалов"));
МассивТипов.Добавить(Тип("ДокументСсылка.РегистраторГрафикаПроизводства"));
МассивТипов.Добавить(Тип("ДокументСсылка.РегистрацияДефекта"));
МассивТипов.Добавить(Тип("ДокументСсылка.РегламентнаяОперацияМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.СменноеЗадание"));
МассивТипов.Добавить(Тип("ДокументСсылка.СписаниеНМАМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.СписаниеОСМеждународныйУчет"));
МассивТипов.Добавить(Тип("ДокументСсылка.УстановкаЗначенийНаработки"));
МассивТипов.Добавить(Тип("ДокументСсылка.УстановкаНормативовПроизводственныхРасходов"));
МассивТипов.Добавить(Тип("ДокументСсылка.ЭкземплярФинансовогоОтчета"));
МассивТипов.Добавить(Тип("ДокументСсылка.ЭтапПроизводства2_2"));

Выборка = РегистрыСведений.ДанныеПервичныхДокументов.Выбрать();
Пока Выборка.Следующий() Цикл
	ТипДокумента = ТипЗнч(Выборка.Документ);
	Если МассивТипов.Найти(ТипДокумента) <> Неопределено Тогда
		Набор = РегистрыСведений.ДанныеПервичныхДокументов.СоздатьНаборЗаписей();
		Набор.Отбор.Документ.Установить(Выборка.Документ);
		Набор.Записать();
	КонецЕсли;
КонецЦикла;

Выборка = РегистрыСведений.ЗаданияКРасчетуСебестоимости.Выбрать();
Пока Выборка.Следующий() Цикл
	ТипДокумента = ТипЗнч(Выборка.Документ);
	Если МассивТипов.Найти(ТипДокумента) <> Неопределено Тогда
		Сообщить("Зашли " + ТипДокумента + ". Документ: " + Выборка.Документ);
		Набор = РегистрыСведений.ЗаданияКРасчетуСебестоимости.СоздатьНаборЗаписей();
		Набор.Отбор.Документ.Установить(Выборка.Документ);
		Набор.Записать();
	КонецЕсли;
КонецЦикла;

Выборка = РегистрыСведений.КлючиДоступаКОбъектам.Выбрать();
Пока Выборка.Следующий() Цикл
	ТипДокумента = ТипЗнч(Выборка.Объект);
	Если МассивТипов.Найти(ТипДокумента) <> Неопределено Тогда
		Сообщить("Зашли " + ТипДокумента + ". Документ: " + Выборка.Объект);
		Набор = РегистрыСведений.КлючиДоступаКОбъектам.СоздатьНаборЗаписей();
		Набор.Отбор.Объект.Установить(Выборка.Объект);
		Набор.Записать();
	КонецЕсли;
КонецЦикла;

Выборка = РегистрыСведений.НаличиеФайлов.Выбрать();
Пока Выборка.Следующий() Цикл
	ТипДокумента = ТипЗнч(Выборка.ОбъектСФайлами);
	Если МассивТипов.Найти(ТипДокумента) <> Неопределено Тогда
		Сообщить("Зашли " + ТипДокумента + ". Документ: " + Выборка.ОбъектСФайлами);
		Набор = РегистрыСведений.НаличиеФайлов.СоздатьНаборЗаписей();
		Набор.Отбор.ОбъектСФайлами.Установить(Выборка.ОбъектСФайлами);
		Набор.Записать();
	КонецЕсли;
КонецЦикла; 

Выборка = РегистрыСведений.РаспределениеЗапасов.Выбрать();
Пока Выборка.Следующий() Цикл
	ТипДокумента = ТипЗнч(Выборка.ЗаказНаОтгрузку);
	Если МассивТипов.Найти(ТипДокумента) <> Неопределено
		И Не ЗначениеЗаполнено(Выборка.ЗаказНаОтгрузку) Тогда
		Сообщить("Зашли " + ТипДокумента + ". Документ: " + Выборка.ЗаказНаОтгрузку);
		Набор = РегистрыСведений.РаспределениеЗапасов.СоздатьНаборЗаписей();
		Набор.Отбор.ЗаказНаОтгрузку.Установить(Выборка.ЗаказНаОтгрузку);
		Набор.Записать();
	КонецЕсли;
КонецЦикла;

Выборка = РегистрыСведений.РаспределениеЗапасов.Выбрать();
Пока Выборка.Следующий() Цикл
	ТипДокумента = ТипЗнч(Выборка.ЗаказНаПоступление);
	Если МассивТипов.Найти(ТипДокумента) <> Неопределено Тогда
		Сообщить("Зашли " + ТипДокумента + ". Документ: " + Выборка.ЗаказНаПоступление);
		Набор = РегистрыСведений.РаспределениеЗапасов.СоздатьНаборЗаписей();
		Набор.Отбор.ЗаказНаПоступление.Установить(Выборка.ЗаказНаПоступление);
		Набор.Записать();
	КонецЕсли;
КонецЦикла;

// Набор = РегистрыСведений.РаспределениеЗапасов.СоздатьнаборЗаписей();
// Набор.Записать();
			
МассивТипов = Новый Массив();
Выборка = РегистрыСведений.СведенияОФайлах.Выбрать();
Пока Выборка.Следующий() Цикл
	Тип = ТипЗнч(Выборка.Файл);
	Если МассивТипов.Найти(Тип) = Неопределено Тогда
		МассивТипов.Добавить(Тип);
	КонецЕсли;
	Попытка
		Владелец = Выборка.Файл.ВладелецФайла;
		ТипВладельца = ТипЗнч(Владелец);
		Если МассивТипов.Найти(ТипВладельца) <> Неопределено Тогда
			Сообщить("Зашли " + ТипДокумента + ". Файл: " + Выборка.Файл);
			Набор = РегистрыСведений.СведенияОФайлах.СоздатьНаборЗаписей();
			Набор.Отбор.Файл.Установить(Выборка.Файл);
			Набор.Записать();
		КонецЕсли;
	Исключение
	КонецПопытки;
КонецЦикла;
Для Каждого Элемент Из МассивТипов Цикл
	// Сообщить(Элемент);
КонецЦикла;
MoscowSoft логотип

Подпишитесь на телеграм-канал MoscowSoft!
QR-код (ссылка приглашение) в канал MoscowSoft

https://t.me/MoscowSoft

Публикуем:
- инструкции и советы по разработке на 1С;
- рекомендации по интеграции 1С;
- бесплатно делимся своими обработками;
- публикуем секретные спецпредложения только для подписчиков.

Возврат к списку