Мигрируем из Комплексной V7 в УПП V8.1

10.01.10

Учетные задачи - Логистика, склад и ТМЦ

Обработка для "интеллектуального" сопряжения-синхронизации справочника "Номенклатура" V7 "Комплексная" c одноименным справочником в V8 "УПП"

Скачать исходный код

Наименование Файл Версия Размер
С остатками
.epf 42,93Kb
44
.epf 42,93Kb 44 Скачать
-
.epf 36,19Kb
47
.epf 36,19Kb 47 Скачать

Здравствуйте дамы и господа! После трехлетнего перерыва (с 2007 года по настоящее время я был занят в Java-проектах), на старости лет, пришлось влезть во внедрение УПП в нашей конторе... с чем себя и поздравляю Smile!

Итак... ближе к телу. Тема переноса номенклатуры была пережевана много раз. Кто переносит через CD, кто через OLE... кто через различные вспомогательные внешние файлы. Однако, мы пошли другим путем :). На мой взгляд, в данной обработке был достигнут компромисс между тупым поэлементным автоматическим переносом и, соответственно, тупой ручной работой конечных пользователей, ответственных за определенные группы номенклатуры. При составе номенклатурных позиций за 30-50 тысяч элементов, такой подход, реализованный в обработке (работа в одной форме), мне кажется оправданным.

 Предварительные условия запуска.

В конфигурации - источнике (Компл,Торг) необходимо ввести два вспомогательных поля неограниченной длины с названиями "СНом" и "СХар". Желательно их оформить не доступными для редактирования конечным пользователям. В эти поля, в момент переноса-привязки, обработкой записываются системные идентификаторы объектов из V8. Т.е идентификаторы позиций номенклатуры и , если необходимо, характеристик. Эта информация понадобится в дальнейшем при переносе партий и т.д.

В восьмерке (8.1) необходимо изменить интервал для обновления индекса полнотекстового поиска. У нас клиент-сервер, и интервал обновления выставлен на 30 сек. При 50 пользователях тормозов не заметили, но по окончании переноса номенклатуры желательно восстановить значения по умолчанию.

Практическая работа 

При загрузке обработки выскочит пустое окно разбитое на 2 функциональные части. Вверху иерархия номенклатуры, внизу таблица позиций номенклатуры в конфигурации - источнике. Работу начинаем с выставления параметров. Внизу формы есть кнопка. Назначение полей понятно из их наименований. Параметры автоматически сохраняются и восстанавливаются при каждом сеансе. После заполнения параметров жмем кнопку OLE соединение. Это нужно сделать только один раз при начале работы с обработкой. Если все в порядке , внизу, в статусной строке, выводится состояние OLE соединения. Для корректной работы, OLE должно быть живым на протяжении всего сеанса. После установки соединения жмем кнопку загрузить... и можно выпить кофе или попытаться забить стрелку с секретаршей босса... главное чтобы он не догадался :). После загрузки можно нажать кнопку "Сохранить данные", хотя это не обязательно. Обработка, после завершения сеанса (кнопка "Закрыть"), сама запишет все телодвижения в промежуточный файл и при следующем сеансе все восстановит.  

Работа с номенклатурой сводится к 4 типам операций. Привязка групп и привязка элементов. Группы привязываются двойным кликом в поле "Привязка" в Иерархии. Позиции можно обработать с помощью трех кнопок. Реализованы режимы одиночной привязки через полнотекстовый поиск, групповая привязка и сведение множества позиций в одну с характеристиками. На представленных скрин-шотах это видно. Кроме того, в ошибочных ситуациях как на картинке 2, возможна ручная привязка через колонки "Привязка" и "Характеристика". При работе с характеристиками номенклатуры, необходимо заранее определится с их составом и в УПП это дело обозначить (как сделать, см в руководстве пользователя). В дальнейшем, при вызове формы "Сведения в одну позицию", обработка сама определит состав характеристик и динамически расширит табличную часть.

Ну, вроде все... Остальное можно догнать методом "научного" тыка и ковырянием в исходном коде. Код публичный, предоставляется "AS IS" и если в результате работы земля вдруг сойдет со своей орбиты... а я здесь ни при чем :)

Надеюсь это кому-нибудь да понадобится :)

Ваш maxlab.

Дополнения от 09.01.2010

Немного доработал обработочку для корректного переноса остатков. Код конечно не "шедевральный", но работоспособный :)

Чтобы все это хозяйство запустить, нужно сделать небольшое изменение в УПП, согласно этому отчету о конфигурации.

- Конфигурации.УправлениеПроизводственнымПредприятием
  Имя: "УправлениеПроизводственнымПредприятием"
  Синоним: "Управление производственным предприятием, редакция 1.2"
  Комментарий: ""
  ВариантВстроенногоЯзыка: "Русский"
  ОсновнойСтиль: "Стиль.Основной"
  ОсновнойЯзык: "Язык.Русский"
  ОсновнойИнтерфейс: "Интерфейс.Полный"
  ОсновнаяРоль: "Роль.ПолныеПрава"
  КраткаяИнформация: "Управление производственным предприятием, редакция 1.2"
  ПодробнаяИнформация: "Управление производственным предприятием, редакция 1.2"
  АвторскиеПрава: "Copyright (С) ЗАО "1C", 2004-2009. Все права защищены"
  АдресИнформацииОПоставщике: ""
  АдресИнформацииОКонфигурации: ""
  Поставщик: "Фирма "1С""
  Версия: "1.2.27.1"
  АдресКаталогаОбновлений: "http://downloads.v8.1c.ru/tmplts/"
  РежимУправленияБлокировкойДанных: "Автоматический"
  ВключатьСправкуВСодержание: "Истина"
  ДополнительныеСловариПолнотекстовогоПоиска:
  РежимАвтонумерацииОбъектов: "НеОсвобождатьАвтоматически"
  ОсновнаяФормаКонстант: "ОбщаяФорма.ОсновнаяФормаКонстант"
  - Документы.Вспомогательный
   Имя: "Вспомогательный"
   Синоним: "Вспомогательный"
   Комментарий: ""
   Подсистемы:
    "Конфигурация.УправлениеПроизводственнымПредприятием"
   Нумератор: ""
   ТипНомера: "Строка"
   ДлинаНомера: "9"
   ПериодичностьНомера: "Непериодический"
   КонтрольУникальности: "Истина"
   АвтоНумерация: "Истина"
   ВводитсяНаОсновании:
   ВводПоСтроке:
    "Номер"
   ОсновнаяФормаОбъекта: "Документ.Вспомогательный.Форма.ФормаДокумента"
   ОсновнаяФормаСписка: ""
   ОсновнаяФормаДляВыбора: ""
   Проведение: "Запретить"
   ОперативноеПроведение: "Разрешить"
   УдалениеДвижений: "УдалятьАвтоматически"
   ЗаполнениеПоследовательностей: "ЗаполнятьАвтоматически"
   Движения:
   ВключатьСправкуВСодержание: "Ложь"
   РежимУправленияБлокировкойДанных: "Автоматический"
   ПолнотекстовыйПоиск: "Использовать"
   - Документы.Вспомогательный.Реквизиты.Организация
    Имя: "Организация"
    Синоним: "Организация"
    Комментарий: "(Общ)"
    Тип:
     "СправочникСсылка.Организации"
    Индексирование: "Индексировать"
    ПолнотекстовыйПоиск: "Использовать"
   - Документы.Вспомогательный.Реквизиты.ГруппаНоменклатуры
    Имя: "ГруппаНоменклатуры"
    Синоним: "Группа номенклатуры"
    Комментарий: ""
    Тип:
     "СправочникСсылка.Номенклатура"
    Индексирование: "Индексировать"
    ПолнотекстовыйПоиск: "Использовать"
   - Документы.Вспомогательный.Формы.ФормаДокумента
    Имя: "ФормаДокумента"
    Синоним: "Форма документа"
    Комментарий: ""
    ВключатьСправкуВСодержание: "Ложь"
   - Документы.Вспомогательный.ТабличныеЧасти.ТЧ
    Имя: "ТЧ"
    Синоним: "ТЧ"
    Комментарий: ""
    - Документы.Вспомогательный.ТабличныеЧасти.ТЧ.Реквизиты.ДокументОприходования
     Имя: "ДокументОприходования"
     Синоним: "Документ оприходования"
     Комментарий: ""
     Тип:
      "ДокументСсылка"
     Индексирование: "НеИндексировать"
     ПолнотекстовыйПоиск: "Использовать"

Для чего это нужно? А для того, чтобы несколько раз не перезагружать остатки по всем номенклатурных позициям. Идея простая до безобразия. Перенос остатков осуществляется индивидуально по каждой группе товаров, и этой группе в соответствие ставится документ "Вспомогательный" в который, в свою очередь, вкладываются документу "Оприходования товаров" с раскладкой по складам. Т.е, при нахождении-исправлении ошибок в базе источнике, ответственный по группе самостоятельно, не нервируя программистов :) , осуществляет перезагрузку в своей группе. Когда эпопея внедрения восьмерки завершится, этот документ "Вспомогательный" можно будет без страха удалить из конфигурации. Перед использованием этой фичи внимательно ознакомьтесь с комментариями в коде (обработка кнопки Остатки). Вам надо будет кое что подрихтовать для Ваших конкретных условий. Будут вопросы - спрашивайте. Качать версию 2.  

См. также

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 руб.

21.04.2017    90838    108    40    

197

SALE! 10%

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки

Обмен между базами 1C Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) в продаже с 2015 года, постоянно работаем над их развитием | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

50722 45650 руб.

04.08.2015    160201    369    268    

348

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    135472    729    291    

391

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.223.x) и БП 3.0 (3.0.149.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    20544    136    38    

93

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 руб.

29.10.2014    210954    630    526    

445

SALE! 10%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

38500 34650 руб.

15.04.2019    68769    179    139    

111

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 руб.

23.07.2020    46704    199    64    

162

Модуль "Ответственное хранение" или фулфилмент (FBS / FBO) для 1С:УТ 11.5, КА 2.5, ERP 2.5

Логистика, склад и ТМЦ Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Модуль "Ответственное хранение" для 1С (УТ 11.5, КА 2.5, ERP 2.5) позволяет организовать учет ответственного хранения товаров с весовыми характеристиками, в том числе со сроком годности и личным кабинетом Поклажедателя. Модуль реализован в виде расширения конфигурации, устанавливается в режиме 1С:Предприятие 8 за 5 минут по инструкции, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С".

60000 руб.

09.06.2020    34800    27    57    

54
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. PRoman 73 02.11.09 10:41 Сейчас в теме
Спасибо, обработка в тему пришлась. Поюзаю, отпишусь.
+
2. maxlab 76 02.11.09 11:04 Сейчас в теме
(1)
Там артефакт вылез :) Нужно подрихтовать код в форме "Синхронизация" процедура "СвестиЭлементыНажатие" в самом конце

Для Каждого СтрокаТЗ Из Тз Цикл
Попытка
НСтрока =Номенклатура.Найти(СтрокаТЗ.Колонка1,"Наименование");
НСтрока.Привязка = СтрокаТЗ.Привязка;
Нстрока.Характеристика = СтрокаТЗ.Характеристика;
ПривязатьКодВИсточнике(Нстрока);
Исключение
КонецПопытки;
КонецЦикла;

+
3. maxlab 76 02.11.09 11:25 Сейчас в теме
(2) И для дополнительного удобства переписать событие ТабличногоПоля2
Процедура ТабличноеПоле2ПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
ТекСтрока = Элемент.ТекущаяСтрока;
ПривязатьКодВИсточнике(ТекСтрока);
Если (ТекСтрока.Привязка.ВестиУчетПоХарактеристикам И (НЕ ЗначениеЗаполнено(ТекСтрока.Характеристика))) Тогда
Предупреждение("Элемент использует режим учета по характеристикам!"+Символы.ПС+"Не забудте сделать сопоставление");
КонецЕсли;
КонецПроцедуры
+
4. maxlab 76 02.11.09 11:59 Сейчас в теме
(2) и еще одно усовершенствование в догонку
форма "Синхронизация" в процедуре "ПривязатьЭлементНажатие" в ответвлении "привязываем к существующему" заменить кон на следующий:
		// привязываем к существующему
		СуществующийЭлемент = МассивПривязки[1];
		// Проверим есть ли учет в разрезе характеристик
		Если СуществующийЭлемент.ВестиУчетПоХарактеристикам Тогда
			СпрХарактеристики = Справочники.ХарактеристикиНоменклатуры;
			Форма = СпрХарактеристики.ПолучитьФорму("ФормаСписка");
			Форма.ПараметрОтборПоВладельцу = СуществующийЭлемент.Ссылка;
			Форма.РежимВыбора = Истина;
			Результат = Неопределено;
			Пока (ТипЗнч(Результат)=Тип("Неопределено")) Цикл
				Результат = Форма.ОткрытьМодально();
			КонецЦикла;
			// Привязываем
			ТекСтрока.Привязка = СуществующийЭлемент;
			ТекСтрока.Характеристика = Результат.Ссылка;
			ПривязатьКодВИсточнике(ТекСтрока);
		Иначе
			ТекСтрока.Привязка = СуществующийЭлемент;
			ПривязатьКодВИсточнике(ТекСтрока);
		КонецЕсли;	
Показать

:) наконец разобрался с тегами
+
6. maxlab 76 02.11.09 13:15 Сейчас в теме
(2) еще один косметический штрих
в форме "СвестиВЭлемент" в процедуре "КнопкаВыполнитьНажатие" код
СпрХарНом = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
ЗнХарактНоменкл = Сред(ЗнХарактНоменкл,1,СтрДлина(ЗнХарактНоменкл)-1);
СпрХарНом.Активная = Истина;
СпрХарНом.Наименование = ЗнХарактНоменкл;
СпрХарНом.Владелец = НовЭлемент.Ссылка;
СпрХарНом.Записать();


заменить на
// исключим случайные дубли в характеристиках номенклатуры
ЗнХарактНоменкл = Сред(ЗнХарактНоменкл,1,СтрДлина(ЗнХарактНоменкл)-1);
Найдено = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию(ЗнХарактНоменкл,Истина,,НовЭлемент.Ссылка);
Если Найдено.Пустая() Тогда
 СпрХарНом = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
 СпрХарНом.Активная = Истина;
 СпрХарНом.Наименование = ЗнХарактНоменкл;
 СпрХарНом.Владелец = НовЭлемент.Ссылка;
 СпрХарНом.Записать();
Иначе
 СпрХарНом = Найдено;
КонецЕсли;	
Показать
+
5. PRoman 73 02.11.09 12:42 Сейчас в теме
Для универсальности можно задать список реквизитов для обмена.
За обработку +
+
7. PRoman 73 27.11.09 15:11 Сейчас в теме
У меня выполнение кода:
ОлеСпрНоменклатура = Оле.CreateObject("Справочник.Номенклатура");
ОлеСпрНоменклатура.НайтиПоКоду(СокрЛП(СквознойКод.Код));
ОлеЭлемент = ОлеСпрНоменклатура.ТекущийЭлемент();

ОлеСпрНоменклатура.Записать();


провоцирует появление ошибки :
"Произошла исключительная ситуация (1С:Предприятие): Не выбран элемент!"
+
8. PRoman 73 27.11.09 15:29 Сейчас в теме
Внимание! Тема сдана в архив