Перенос из ТиС 7.7 в Розница 8.1 через OLE

Перенос справочников Складов, Номенклатуры, Контрагентов и Цен, а также остатков Номенклатуры из Торговли и Склад 7.7 в Розница 8.1

По идее должна была работать схема:
Стандартный переход с ТиС через ХМL -> обмен данными с УТ  -> Розница
Но время выгрузки-загрузки даже по одной компании/складу занимало несколько часов…
К тому же, 1С вылетает при первичном обмене из УТ в Розницу — говорит недостаточно памяти. Пробовал загружать через Сервер 1С, происходит то же самое, хотя и несколько позже. В общем, стандартный механизм на 15ти тысячах наименований товара загнулся…

Пришлось взять за основу чужие разработки и дописать…
Было лень делать в форме выбор через OLE нужных Фирм, Складов и ТиповЦен, поэтому в модуле работает условие по коду…
Вся выгрузка-загрузка занимает полчаса максимум (остатки 15000 наименований товара по 3м фирмам). В некоторых местах сыровата, поэтому может быть использована как основа. Может кто-то и допишет до красивого вида.

 
Изменения 2010:

  • Увеличена скорость загрузки справочника номенклатуры.
  • Оптимизирована загрузка цен
  • Перед загрузкой в розницу следует установить флаг «Включать в прайс» у товаров, которые имеют остаток, подгружать будет только их.

18 Comments

  1. kauksi

    Перенос справочников Складов, Номенклатуры, Контрагентов и Цен, а также остатков Номенклатуры из Торговли и Склад 7.7 в Розница 8.1

    Перейти к публикации

    Reply
  2. K2-sysAdmi

    почемуто не хочет открыать базу 7.7 (((

    Reply
  3. K2-sysAdmi

    ЗЫ: правда база не ТиС….

    Reply
  4. MaxTolya

    Очень выручила обработка. Спасибо.

    Reply
  5. pollitra

    не могли бы добавить перенос штрихкодов?

    Reply
  6. pollitra

    Перед записью в элементе справочника «Номенклатура» необходимо заполнить «вид номенклатуры»!

    {Форма.Форма.Форма(625)}: Ошибка при вызове метода контекста (Записать): Не удалось записать: «Номенклатура»!

    Reply
  7. kauksi

    В настройках пользователя в Рознице следует указать — основной вид номенклатуры — ТОВАР.

    Перенос штрихкодов можете дописать сами по аналогии с переносом других справочников. Эта обработка — не готовое решение, а скорее «рыба» для программиста под конкретного клиента.

    Reply
  8. Zhenya.8686

    Люди добрые подскажите конкреттно по шага что и как сделать а том он мне пишет то там ошибка то там что то совсем понять не могу ничего

    Reply
  9. kauksi

    Смотри код обработки, и переделай под себя. Универсальную делать не буду.

    Сначала переносим фирмы, склады, контаргентов.

    Потом загружаем страны, потом номенклатуру, потом остатки и цены.

    Выборка по товарам работает по группе, которая ищется по коду, заданному в тексте программы.

    Reply
  10. j-a-a

    Спасибо, выручили, немного корректировок и все быстро получилось 😉

    Reply
  11. IP43

    а хотелось бы из ТиС в УТ, а то при переносе порядка 90 тыш наименований номенклатуры все взвисает на несколько суток. попробую взять за основу и если что доделать

    Reply
  12. kauksi

    Информация о планируемом релизе

    Номер 1.0.12

    Ориентировочная дата выхода 29.09.2010

    В релизе планируется:

    — перенос данных с ТиС и Аспект;

    Reply
  13. medik1976

    Обработка конечно хороша хоть и рыба, но вот перенос остатков хромает и очень , у меня к примеру не загрузились остатки

    Reply
  14. 1108

    Весьма благодарствуйте, пришлась очень кстати.

    — Остатки переносятся криво, ибо с датой заковырка. У меня, например, ровно перенеслись после указания даты на день позже нужной. Я так понимаю из-за разницы остатков на начало и конец дня. Да, и в ТиС, для сравнения, в отчете Остатки ТМЦ отбор делается по всем остаткам, имеющимся в наличии, включая резерв.

    — Хоть и набросок, но рабочий, Функции переноса штрих кодов. Вдруг кому-то пригодиться.

    Функция ЗагрузитьШтрихкодыТоваров()

    СпрТовары = V7.CreateObject(«Справочник.Номенклатура»);

    СпрЕдиницы = V7.CreateObject(«Справочник.Единицы»);

    СпрТовары.ВыбратьЭлементы(1);

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

    Пока СпрТовары.ПолучитьЭлемент() = 1 Цикл

    Если СпрТовары.ТекущийЭлемент().ЭтоГруппа() = 1 Тогда

    Продолжить

    КонецЕсли;

    СпрЕдиницы.ИспользоватьВладельца(СпрТовары.ТекущийЭлемент());

    СпрЕдиницы.ВыбратьЭлементы();

    Владелец = Справочники.Номенклатура.НайтиПоНаименованию(СпрТовары.Наименование);

    Пока СпрЕдиницы.ПолучитьЭлемент() = 1 Цикл

    Если НЕ ЗначениеЗаполнено(СпрЕдиницы.ШтрихКод) Тогда

    Продолжить

    КонецЕсли;

    СтрокаДанных = НаборД.Добавить();

    СтрокаДанных.Владелец = Владелец;

    СтрокаДанных.Штрихкод = СпрЕдиницы.ШтрихКод;

    СтрокаДанных.ТипШтрихкода = Планывидовхарактеристик.ТипыШтрихкодов.EAN13;

    КонецЦикла;

    КонецЦикла;

    НаборД.Записать();

    Сообщить(«Штрихкоды товаров загружены!»);

    КонецФункции

    Reply
  15. wolder

    1108,

    Вы совсем забыли про коэффициент единицы измерения, а ведь является не менее важным значением!

    Reply
  16. sayae

    Обработка очень даже ничего. Но в моем случае пришлось отказаться от OLE. Точка находиться удаленною Сделал почти тоже самое только через текстовый файл.

    Reply
  17. Tarlich

    Спасибо ! помогла! допилил с ценами и ШК

    Reply
  18. AlbertBug

    (17) а не могли бы скинуть?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *