Правильные аналоги номенклатуры (кроссы запчастей) для 1С / Управляемые формы

Публикация № 383922

Администрирование - Администрирование данных 1С - Обработка справочников

Аналоги кроссы

По опыту работы с запчастями много раз сталкивался с проблемой организации кроссов в разных 1С - от записи артикулов через запятую в текстовом поле до хранения кроссов в документах. Предлагаю одну из простейших и функциональных на мой взгляд схем "одноуровневого" хранения кроссов.

"Правильная" организация одноуровневых*** аналогов:

  • Хранение аналогов в одном регистре сведений. Скорость работы выше, чем аналогичное хранение в справочниках или связках справочник+регистр, что явно заметно при работе с большими объемами данных, например, заливке кросс-файлов в несколько сотен тысяч записей. 
  • Слияние группы аналогов. Есть группа аналогов Товар А - Товар В, и еще одна группа Товар С - Товар D. При добавлении в аналоги Товару А Товара C или D - получится одна общая группа аналогов A,B,C,D.
  • Быстрая загрузка аналогов из таблицы (кросс-файла) с учетом слияния. Необходимы как минимум артикулы товаров, или артикулы + производители.
  • Выгрузка аналогов в таблицу в удобном формате "имя-производитель-артикул - имя-производитель-артикул"


Список аналогов текущего товара отображается в форме элемента товара при нажатии на соответствующую кнопку в разделе "Перейти".
Общий список аналогов можно вывести в любую подсистему, в общем списке доступны функции загрузки из таблицы и выгрузки.

Требования к 1С:

  • только управляемые формы
  • любая конфигурация, имеющая справочник Номенклатура и Производители
  • у номенклатуры обязательно должны быть реквизиты "Артикул" и "Производитель"


Инструкция по установке:

  • Открыть через конфигуратор cf-файл.
  • Перенести в свою конфигурацию:
  1. Регистр сведений "Кроссы". Задать ему хотя бы 1 подсистему для отображения.
  2. Обработку "ЗагрузкаКроссов"
  3. Команду "ОткрытьКроссы" из справочника "Номенклатура"
  4. Форму "Кроссы" из справочника "Номенклатура"

 

  • Проверить права доступа на перенесенные объекты.
  • Запустить 1с

Как работать:

Заходим внутрь товара, справа в разделе "Перейти" выбираем "Кроссы", откроется список кроссов текущего товара.
В списке можно добавлять-удалять кроссы.

После добавления регистра сведений "Кроссы" в одну из подсистем, в ней повится ссылка "Кроссы", нажав на которую вы попадете в общий список. В нем сверху есть 2 кнопки - "загрузить" и "выгрузить" через которые соотвественно можно загружать в базу новые кроссы  и выгружать имеющиеся в таблицу.

 

Условия работы:

Код открыт.



***Одноуровневые аналоги - все аналоги в группе равноправны и хранятся единой группой. Возможна индивидуальная доработка до многоуровневой схемы аля autodoc.ru, emex.ru , где можно выбирать уровни "достоверности" аналогов - "минимальный", "базовый", "профессионал" т.д.

 

ВНИМАНИЕ!! РЕШЕНИЕ НЕ СОДЕРЖИТ В СЕБЕ ЗАПОЛНЕННОЙ БАЗЫ АНАЛОГОВ/КРОССОВ!!

Проверено на платформе 8.3.14.1779

Скачать файлы

Наименование Файл Версия Размер
Правильные аналоги номенклатуры (кроссы запчастей) для 1С / Управляемые формы:
.cf 41,91Kb
26.02.20
1
.cf 41,91Kb 1 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. serp83 32 12.07.17 16:44 Сейчас в теме


Продавцы автозапчастей, которые читают данную статью, могут действительно подумать, что можно так сделать. Но ваш подход неверен: хранение кроссов в одном регистре сведений - бред. Например, в файловом варианте в один регистр смог записать только 14 млн. записей. База кроссов автозапчастей FAPI, например, раз в 5 больше. Для нее нужно 5 регистров и 6-й в виде карты, чтобы алгоритм знал в какой регистр делать запрос. И еще момент: после загрузки максимального лимита данных в регистр, база разрослась до 8.5 гб. Архивы будете выгружать по 2 часа. Прикрепил тестовую базу к посту, которая обосновывает мои слова.
Прикрепленные файлы:
DB_FAPI_1С.dt
2. taurus__ 65 12.07.17 17:25 Сейчас в теме
Продавцы запчастей, которые прочитали отзыв выше, не верьте, человек плохо шарит в вопросе, он пытается погрузить БЕЛАЗ в КАМАЗ, думая что кузов КАМАЗА безграничных размеров! =)

Хранить 14 млн записей в файловом варианте - это априори неверный подход, и все вытекающие последствия - именно последствия неверного выбора файловая/клиент-сервер.

Работа с большими объемами данных, а в запчастях это почти всегда происходит, подразумевает клиент-серверный вариант. При росте регистра до совсем космических размеров имеет смысл разнесение на отдельные таблицы/регистры, секционирование, вынесение на отдельные ЖД.

"Бред" - это вам только кажется, любую здравую идею неправильные руки и головы могут превратить в бред. В реальности на этой схеме работают сейчас пара десятков фирм (вот прямо сейчас в текущий момент), с объемами регистра до 30 млн записей. И проблем не знают.

Вы хотите загрузить в файловую 1с всю базу кроссов ФАПИ 92 млн и работать с ней? Желаю удачи. Если хотите это сделать и комфортно работать, не делая бэкапы по 3 часа - советую влить ее вообще в отдельную SQL-базу (можно продублировать схему регистра) и писать прямые запросы.
3. taurus__ 65 12.07.17 17:37 Сейчас в теме
Если углубиться в вопрос - то для таких объемов одноуровневая схема вообще не лучший выбор. Тем более, как вы написали "Для нее нужно 5 регистров и 6-й в виде карты" - это еще хуже, это как минимум 2 JOINa на 1 запрос вывода аналогов по детали. А если надо получится аналоги по списку. Это будет более чем неоптимально и долго для менеджера-подборщика.

Для таких целей надо делать многоуровневую схему+идельно написанные запросы и заточенные под них индексы, + как я писал, вынесение таблицы на другой диск или отдельную SQl-базу кроссов+прямые запросы. Тогда с таким объемом будет удобно работать.
4. serp83 32 12.07.17 23:15 Сейчас в теме
(3) Дмитрий, я вам описал ограничение, которые вы несоизволи написать в разделе 'Требования к 1с' в вашей статье. Вместо поноса,который услышал в свой адрес, вы могли бы меня поблагодарить за найденные неточности вашей статьи. Я за научный подход к таким вопросам.
5. omut 12.07.17 23:36 Сейчас в теме
(4) Чисто теоретически вы правы. Но на практике все бывает иначе. Автор прав (хотя бы в том, что описал в статье область применения своей разработки). Сами работаем на аналогично построенной системе, все пашет без проблем. А тьма тьмущая кроссов тянется из внешних источников (техдоки, поставщики). Хранить в своей базе полный массив данных не нужно хотя бы потому, что вам никогда не понадобится узнать аналоги какого-нибудь шруса на британские авто не поставляемые в РФ. Рынок уже всего доступного многообразия, так что... Кроме того, проблема подбора аналогов в принципе не решаема на 100%. Поэтому работу менеджера никто не отменял, без него никак не обойтись. А он ориентируется не только на кроссы в программе, но и на другие источники, и свой опыт использует. Автору плюс, Можно рекомендовать любой не слишком крупной фирме. И вопрос: а первоначальное наполнение базы кроссами входит в поставку? И реализованы ли интеграции с внешними системами подбора запчастей, коих развелось море.
6. serp83 32 13.07.17 00:00 Сейчас в теме
(5) Евгений, автор будет правым, когда сделает изменения в своей статье со ссылкой на на автора, который аргументировал ошибки его творчества.
8. taurus__ 65 13.07.17 09:29 Сейчас в теме
(5)
И вопрос: а первоначальное наполнение базы кроссами входит в поставку? И реализованы ли интеграции с внешними системами подбора запчастей, коих развелось море.


Нет, наполнение не входит, это всего лишь схема хранения+инструмент для загрузки аналогов из экселя и прочих табличных файлов в 1с. Подразумеавается, что дальше эту схему будут дорабатывать уже под конкретные цели в конфигурации, например вывод аналогов в рабочем месте, документах продажи, подбор предложений поставщиков с учетом аналогов. Но с помощью этой штуки можно без проблем залить кроссы из того же текдока (предварительно выгруженные) или ФАПИ.

Интеграции с внешними источниками также нет, это отдельная история. На практике такие штуки индивидуальны, допиливаются под клиентов по-разному, через WEb-сервисы и парсеры и работают параллельно со схемой внутреннего хранения "своих" аналогов.

Тут всего лишь простенькое решение чтобы загружать, выгружать, хранить и отображать в нужных местах (после доработки) аналоги. Потому как типовые 1совские схемы аналогов обычно не подходят под запчасти.
9. taurus__ 65 13.07.17 09:56 Сейчас в теме
(5)
Кроме того, проблема подбора аналогов в принципе не решаема на 100%


Вот вот, поэтому решения загрузить 90 млн кроссов из ФАПИ или 50 из текдока сразу в 1с - плохое решение, даже не в плане техническом, а в плане достоверности. Там много ошибок. И в текдоке, и тем более в составных базах из интернета, куда сливают все отовсюду. Свои базы аналогов нормальные фирмы нарабатывают годами и десятками лет, таская по-немного из разных мест, меняются, покупают, проверяя актуальность данных. И стоят такие проверенные базы очень немалые деньги, потому как хорошие кроссы напрямую влияют на продажи и скорость подбора.
7. taurus__ 65 13.07.17 09:17 Сейчас в теме
(4) Это ограничения платформы 1с и файлового режима хранения базы, а не моего решения. Эти ограничения должен знать любой, кто устанавливает себе 1с.
Вот, почитайте, http://www.gilev.ru/mssqlvsfile/.
10. serp83 32 13.07.17 13:22 Сейчас в теме
(7) Дмитрий, давайте посмотрим на описание раздела "Требования к 1С" глазами простого потребителя, который вряд ли задумывается о таблицах и их объемах. Он купил конфигурацию 1С и пытается адаптировать ее под свои нужды, находит ваше решение, которое по описанию ему подходит, и покупает его. Из-за неполноты описания в требованиях(в требованиях нет ни слова об ограничении в файловом варианте) потребитель оказывается введенным в заблуждение. И, как следствие, у него формируется негативное мнение.
11. taurus__ 65 13.07.17 13:55 Сейчас в теме
(10) Сергей, я еще раз повторяю, это не "требования к 1с", это специфика самой платформы 1с, которую я не должен указывать. 1с 8.3 не будет работать на windows 3.11, это же я не должен написать.

Вобщем не будем спорить, останемся при своих мнениях. Можете написать жалобу в техподдержку.
14. alf2006x 25 13.11.18 00:38 Сейчас в теме
День добрый.
Все прикрутил, но на форме элемента в меню Перейти не появляется кнопка "Кроссы".
Подскажите, пожалуйста, где какую галку я забыл поставить?
15. taurus__ 65 13.11.18 20:26 Сейчас в теме
(14)Добрый день!
Команду "Открыть кроссы" перенесли? Права на все добавленные объекты есть у юзера? В форме элемента справочника номенклатуры в командном интерфейсе есть пункт "открыть кроссы"? (см. вложенный файл).
Если никак не получается, могу по удаленке помочь.
Прикрепленные файлы:
16. alf2006x 25 13.11.18 21:39 Сейчас в теме
Вроде бы всё сделал (см. скрин):
команду "Кроссы" перенёс, права на неё добавил в роль "Полные права", РС добавил в подсистему "НСИ и Администрирование", она там, кстати, нормально открывается.
Но в меню "Перейти" элемента номенклатуры почему-то строка открыть кроссы не появляется...
Прикрепленные файлы:
17. taurus__ 65 14.11.18 10:40 Сейчас в теме
А что у вас в параметрах команды?
Прикрепленные файлы:
18. alf2006x 25 14.11.18 22:43 Сейчас в теме
Вроде бы всё то же самое
Прикрепленные файлы:
19. taurus__ 65 15.11.18 10:11 Сейчас в теме
(18) Так вот же на вашем предыдущем скриншоте нужный пункт. Поставьте там галку "Видимость" и должно появиться.
Прикрепленные файлы:
20. alf2006x 25 15.11.18 22:38 Сейчас в теме
Это может показаться странным, но ни установка галочки "Видимость",
ни установка галочки "Автовидимость" не привели у положительному результату: пункт меню так и не появился.
21. taurus__ 65 17.11.18 17:34 Сейчас в теме
(20) Написал вам в личку, нужно будет подключить по удаленке и посмотреть, в чем рпоблема
Оставьте свое сообщение

См. также

Публикаций не найдено

Попробуйте расширить область поиска, проверьте поисковый запрос и повторите попытку.

Или закажите индивидуальную разработку вашего решения.

Создать заказ на разработку