Избавление от характеристик в УТ 11.2. Метод "Топора и педалей"

Программирование - Практика программирования

УТ11 характеристики номенклатура удаление Управленческий учёт торговля управление торговлей

8
Добрый день! Как вы поняли по заголовку статьи, речь пойдет об отказе от ведения учёта по характеристикам в программе 1С Предприятие: "Управление торговлей 11.2" (далее УТ) максимально простым, топорно-педальным методом, направленным исключительно на экономию нервов/ времени/ денег при минимальной потери эффективности. Статья основана на собственном опыте и, возможно, из разряда "накипело".

Данная статья рассчитана на то, что читающий владеет понятием, что такое характеристика и с чем её едят, но позволю себе напомнить вам в двух словах о последствиях начала использования характеристик в базах данных. Когда на предприятии начинают вести учёт характеристик (благо если с начала ведения учёта), все таблицы, использующие справочник номенклатуры, сильно прибавляют в весе. Это связанно с тем, что появляется в алгоритмах работы использование ещё одной колонки. Не буду валить вас интегралами и, к примеру, возьму один из простейших, но наглядных:

Есть в УТ такое понятие, как "КлючиАналитикиУчетаНоменклатуры" - это элемент конфигурации типа Справочник, используемый 1с для многократного увеличения объёма базы и её неповоротливости ускорения работы регистров и структуризации данных. Хранятся в нём такие данные, как Номенклатура, характеристика, склад, серия. Таким образом объём хранимых данных в данном справочнике при простом учёте данных (без характеристик, серий, нескольких складов) = Номенклатура. Если мы ведём учёт по нескольким складам (мало вероятно что учёт ведётся по одному складу) объём (теоретически)  КлючиАналитикиУчетаНоменклатуры = Номенклатура * склады. А если ко всему этому делу добавить характеристики то объём уже будет КлючиАналитикиУчетаНоменклатуры = Номенклатура * склады * характеристики. И упаси вас бог включить использование серий номенклатуры (что, кстати говоря, является тоже отдельным справочником, но это уже совсем другая история).

Такими нехитрыми формулами и расчётами мы можем понять как, с технической точки зрения, будет влиять включение ведения характеристик в базе. Стоит оговориться, что не все регистры и документы используют КлючиАналитикиУчетаНоменклатуры и в некоторых местах у нас просто будут "пачковаться" строки с номенклатурой и характеристикой. 

Теперь я постараюсь "провангавать" и ответить на вопрос "Зачем нам избавляться от характеристик?". Характеристики, как правило, используются для обозначения цвета, размера и прочих свойств номенклатуры. Но иногда "специалисты" проявляют необразованность и идиотизм смекалку и фантазию и настраивают характеристики для обозначения партий или скажем принадлежности организации. Возможно, такие решения и несут в себе долю здравого смысла и в комбинации с опытными пользователями и внимательными операционистами приводят компанию к прозрачному и обширному учёту, увеличит аналитические мощности программы и все ваши запланированные цели достигнуты, а планы выполнены. Однако, если в схеме работы "сильный специалист - опытный пользователь - внимательный операционист" есть слабое звено то вероятнее всего весь учёт и в целом работа программы полетит в тартарары. 

Вот мы и подошли к основной теме статьи Избавление от характеристик в УТ 11.2. Метод "Топора и педалей". Сам процесс не требует каких-то сверх человеческих сил и навыков супер специалиста по платформе 8.4. Практически всё можно сделать нехитрыми манипуляциями с функционалом платформы и конфигурации. Я бы выделил 3 основные этапа работы: удаляем, чистим, перенастраиваем. И перед тем как перейти к непосредственно разборам хотел бы отметить, что простое "отключение" галочки ведения учёта по характеристикам не спасёт отца русской демократии. 

Удаление:

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

&НаСервере
Процедура УбитьХарактеристикиНаСервере()
	Характеристика = Справочники.ХарактеристикиНоменклатуры.Выбрать();
	пока Характеристика.Следующий() Цикл
	
		ХарОб = Характеристика.ПолучитьОбъект();
		ХарОб.Удалить();
		
	КонецЦикла; 
КонецПроцедуры

Возможно, что понадобится разрешение на интерактивное удаление элементов характеристик, я на всякий случай сразу поставил роль. Теперь у нас на месте всех характеристик будут пустые ссылки.

Чистка:

Тут особо не о чем говорить, в конфигураторе запускаем механизм  очистки битых ссылок со следующими настройками:

По завершению переходим к самому интересному этапу.

Перенастраивание:

Данный этап несёт в себе некоторые "подводные камни". Казалось бы - перепровели, "выключили галочки" и в путь к светлому будущему. НО не все механизмы УТ отключаются выключением настройки ведения учёта в разрезе характеристик. Как минимум везде где в форме с товарами добавлен реквизит "ХарактеристикиИспользуются" код лезет в общие модули которые потайными путями определяют это значение в истина или ложь в зависимости от значения Номенклатура.ИспользованиеХарактеристик и если оно отлично от Перечисления.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать программа будет считать что нам нужно указать характеристику в таб. части. это произойдёт к примеру когда идёт обращение к настройкам обеспечения номенклатуры в заказах покупателей. Нам необходимо будет сделать групповое изменение реквизитов пройти по всем номенклатурам и установить данную настройку в нужное значение (для этого включите в настройке группового изменения реквизитов возможность менять системные поля и изменение в режиме обмена). Ещё важным моментом будет настройка характеристик в группах номенклатуры, если таковые используются, т.к. в случае перезаписи номенклатуры она может обратиться к своей группе и перезаполнить ИспользованиеХарактеристик. 

Настройки для номенклатуры:

Закончив манипуляции со справочниками мы переходим к работе с документами. Тут ничего сложного нет, но стоит отметить, что если вы используете обмен данными с другими решениями рекомендую подвинуть дату регистрации изменений к обмену на начало следующего века для избежания казусов с отделом бухгалтерии.

На данном этапе после такой схемы обработки запущен пилотный проект который успешно прошёл все тестирование клиентом на объект расхождений с базой "оригиналом" и ошибок в выполнении бизнес процессов. Отчеты по товаром совпадают на 100% трудностей в выписке документов не имеется.

8

См. также

Лучшие комментарии
9. gull22 84 16.05.18 09:06 Сейчас в теме
Отдельное спасибо за цитату:
Характеристики, как правило, используются для обозначения цвета, размера и прочих свойств номенклатуры. Но иногда "специалисты" проявляют необразованность и идиотизм смекалку и фантазию и настраивают характеристики для обозначения партий или скажем принадлежности организации.
snood; feva; +2 Ответить
Остальные комментарии
Избранное Подписка Сортировка: Древо
1. maxim_1c 60 11.05.18 15:44 Сейчас в теме
Добрый день, интересная статья, есть вопрос.

Как поведут себя записи регистра сведений, значения измерений которых отличаются только значениями характеристик? Например, цены одной номенклатуры с разными характеристиками, зарегистрированные в течение одних суток? После очистки ссылок не будет конфликта уникальности измерений? Или это решит тестирование и исправление?
2. feva 131 11.05.18 15:59 Сейчас в теме
(1) Добрый день!
С одинаковыми значениями цены - схлопнулись в одну в момент тестирования и исправления, а с разными ценами пока прецедентов не было. Может так получиться что ругнётся когда коснётся какого-то "толчка" в регистр цены, а до тех пор будет лежать как мины второй Мировой на дне океана.
Для решения можно сделать обработку в 2 шага. Находим все с одними ресурсами и двигаем посекундно (регистр в пределах секунды).
3. user861204 11.05.18 16:04 Сейчас в теме
Спасибо большое, Ваша статья нам очень помогла. Мы 3 недели сидели думали, а в итоге психанули, и решили это обойти. Спасибо большое еще раз, вы лучший!!! Слава 1С
4. kembrik 11.05.18 18:33 Сейчас в теме
Вызывает интерес ваш технический прогресс..

Включенный для использования справочник "Номенклатура контрагентов" способен преподнести массу сюрпризов закупщикам после подобного метода.. В заказ поставщику подставится первое попавшее?
5. feva 131 11.05.18 18:56 Сейчас в теме
(4) Работа с номенклатурами поставщиков - совершенно другая соната... Солидарен, тут действительно нужно быть аккуратней, особенно если настроен ЭДО. Нужно промониторить соответствия перед применения такого метода.
6. kn 62 12.05.18 14:26 Сейчас в теме
Объем базы? невозможность сделать по частям, время перепроведения.
7. feva 131 14.05.18 09:04 Сейчас в теме
База на SQL около 10 ГБ.
вот с центральной частью предложения я так и не разобрался...
Перепроведение шло около 20 часов
8. Terve!R 16.05.18 08:38 Сейчас в теме
(7) и что в итоге, база уменьшилась?
9. gull22 84 16.05.18 09:06 Сейчас в теме
Отдельное спасибо за цитату:
Характеристики, как правило, используются для обозначения цвета, размера и прочих свойств номенклатуры. Но иногда "специалисты" проявляют необразованность и идиотизм смекалку и фантазию и настраивают характеристики для обозначения партий или скажем принадлежности организации.
snood; feva; +2 Ответить
10. feva 131 16.05.18 13:36 Сейчас в теме
Оставьте свое сообщение