Конвертация данных (2) 7.7 ТиС --> 8.3 УНФ

1. user1608224 17.08.21 11:44 Сейчас в теме
Доброго всем дня! Встала задача по переносу Контрагентов из 1с 7.7 (997) в 8.3 УНФ (18.1363).
Вопрос: как получить ИНН контрагента? В 7.7 он находится в справочниках Юр. и Физ. лиц, в 8.3 это отдельные реквизиты одного справочника Контрагенты. Не пойму как соединить их в КД. Подскажите, в каком направлении копать? Буду очень благодарен!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. CheBurator 3119 17.08.21 15:03 Сейчас в теме
копать надо лопатой если это ямка, а не траншея на 200 м.
возьми в УНФ обычной загрузкой из внешних источников.
я, например, ничего не умея как погромист в 8-ке перенес из ТиС77 в УНФ минимально необходимый набор.
кд, конечно, получше, позволит перенести больше...

(1)
как получить ИНН контрагента?

ты не поверишь, точно также как в 8-ке - обратиться к "библиотечным" функциям,
поищи поиском по конфигурации и по внешним отчетам/обработкам
.
// ПолучитьИНН(ИННКПП)
// Параметры: ИННКПП  - строка, написанные вместе ИНН и КПП юр лица.
// Возвращаемое значение: значение ИНН юр лица.
// Описание: Функция возвращает ИНН из переданной строки 
//
Функция глПолучитьИНН(ИННКПП) Экспорт
	поз = Найти(ИННКПП, "\");
	Если поз <> 0
	Тогда Возврат Лев(ИННКПП, поз - 1); 
	Иначе
		поз = Найти(ИННКПП, "/"); 
		Если  поз <> 0
		Тогда Возврат Лев(ИННКПП, поз - 1);
		Иначе Возврат СокрЛП(ИННКПП);
		КонецЕсли;
	КонецЕсли;
КонецФункции //ПолучитьИНН()

// ПолучитьКПП(ИННКПП)
// Параметры: ИННКПП  - строка, написанные вместе ИНН и КПП юр лица.
// Возвращаемое значение: значение КПП юр лица.
// Описание: Функция возвращает КПП из переданной строки 
//
Функция глПолучитьКПП(ИННКПП) Экспорт
	поз = Найти(ИННКПП, "\");
	Если поз <> 0
	Тогда Возврат Сред(ИННКПП, поз + 1);
	Иначе
		поз = Найти(ИННКПП, "/");
		Если  поз <> 0
		Тогда Возврат Сред(ИННКПП, поз + 1);
		Иначе Возврат "";
		КонецЕсли;
	КонецЕсли;
КонецФункции //ПолучитьКПП()
Показать
2. user1461477 17.08.21 12:13 Сейчас в теме
в правиле Выгрузке объектов - перед обработкой
ВыборкаДанных = Запрос.Выполнить().Выгрузить();
3. user1461477 17.08.21 12:18 Сейчас в теме
(2) Правиле Выгрузки Данных ставим Способ Выборки = Произвольный механизм
в ПКО ставить галку "не запоминать выгруженные объекты"
4. user1608224 17.08.21 12:52 Сейчас в теме
(2)
ВыборкаДанных = Запрос.Выполнить().Выгрузить();

Т.е. необходимо сделать выборку из 7.7 в ПВД? Написать запрос там. Или я чего то не понял
5. user1461477 17.08.21 12:55 Сейчас в теме
(4) как-то так, да

нужна некая табличка на выходе из 7еры

как ты ее сделаешь, запросом или в цикле с точками - вопрос отдельный,

а на входе берешь из этой таблички
6. user1608224 17.08.21 14:08 Сейчас в теме
(5)Можно вопрос? Т.К. в 7ке еще не писал ни разу... Эта табличка где там должна формироваться? В модуле справочника контрагенты?
9. CheBurator 3119 17.08.21 15:09 Сейчас в теме
(6) ты понял что спросил?
1. какое отношение совершенно посторонний код по выгрузке данных должен формироваться в типовых модулях?
2. в 77 нет "модуля справочника", есть модуль формы списка справочника и модуль формы элемента и модуль формы группы. Также любой код по обработке справочника может располагаться в любом месте где тебе надо, доступ к "объекту" "Справочник.Контрагенты" осуществляется как
СпрК = СоздатьОбъект("Справочник.Контрагенты");
далее через СпрК применяешь методы и пишешь/читаешь атрибуты, подробнее - СП, ветка "Справочники"
10. user1461477 17.08.21 16:42 Сейчас в теме
(6) все, что ты делаешь, ты делаешь в базе КД

для семеры получается в результате обработка, которую ты запустишь из-под 7-ры

разумеется, код и запросы там внутри должны быть написаны на 7-рошном скрипте
8. CheBurator 3119 17.08.21 15:05 Сейчас в теме
ИННКПП = СокрЛП(МойКонтрагент.ЮрФизЛицо.ИНН);
ИНН = глПолучитьИНН(ИННКПП);
КПП = глПолучитьКНН(ИННКПП);
11. user1461477 17.08.21 16:44 Сейчас в теме
а вообще, соединись из-под таргетной базы с сырцом-7 по COM, и ищи там что хочешь, сколько хочешь
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот