ЗЫ
Извинюсь сразу перед теми, кто не поймёт что то - срашивайте и не стесняйтесь.
Я не программист 1С, я больше сисадмин, но с 1С работал много, в частности с 7.7 версией.
Последнее время переквалифицируюсь на управленца и сейчас вообще админство заброшено.
Бизнес консультирование и управление заняло основное время (готовился к этому и учился 7-8 лет самостоятельно).
Хочу рассказать про (при внедрении 1С 8) решение одной из задач, которых нет в стандартной поставке 1С и естественно в яндексе тоже нет, все решают кто как может.
Я решил это так и старался расписать тут это подробно.
Текст связан с ценообразованием, типами цен, ценами на товары, справочником номенклатура, изменениями курса доллара.
Все фамилии и цифры вымышлены, дабы показать общность процесса и скрыть "реальные бизнесс секреты".
Моя ситуация упращалась тем, что главный продавец работал в фирме, был ответственным и внимательным, поэтому на первых порах все возникающие ошибки
ручного ввода (а ручной ввод конечно был на начальном этапе) минимизировались четким взором этого внимательного человека.
Так же я прибег к услугам программиста 1С для быстрого создания обработок, которые мне были нужны.
Цель - автоматизировать ценообразование в организации.
Задачи:
- ускорить процесс переоценки всей номенклатуры.
- избавиться от человеческого фактора в расчетах и перерасчетах.
- сделать так, что бы внесения изменений в конфигурацию были минимальны и осталась возможность обновления без потери данных.
- создать простой механизм.
- перейти с 1С 7.7 на 1С 8.2 безболезненно за минимальное количество времени(побочная цель ;-)
Входные данные:
1С 8.2 Комплексная, устоявщийся способ расчета цен на товары и способ внесения в базу, полученный список групп товаров.
Организация - малый и средний бизнес.
Первоисточник:
Была 1С 7.7 Комплексная, цены менялись руками на каждый товар в случае смены входной цены ИЛИ курса доллара,
цена DDP это цена входящая в долларах, остальные цены в рублях. Количество товара около 2 тысяч позиций в справочнике.
Существовали такие типы цен: "DDP, спец, пр1, пр2, пр3, опт, розница".
Я решил добавить ещё парочку и получился такой список в порядке возрастания цены:
"DDP, закупочные, минимальная, спец, пр1, пр2, пр3, опт, розница".
Закупочная - это цена DDP, но в рублях на дату курса валюты.
Минимальная - это цена ниже которой будет не выгодно продавать вообще, и для того, что бы её внести в настройки пользователей минимальной цены,
точнее что бы по ней контролировать продажу в убыток (процент наценки я посчитал вручную сам, по предыдущим периодам работы организации).
Ценообразование строилось таким образом:
Были товары в справочнике Номенклатура, каждый товар мысленно относился к какой то группе товаров,
которые так же мысленно были в голове у начальника и главного продавца.
Цена предыдущего типа цены отличалась от следующего на сколько то процентов.
Тут было у меня 2 желания: сделать либо просчёт цены от входящей цены, либо от предыдущего типа цен как устоялось.
Начальник дал наценки только от предыдущего типа цен, я же вычислил от входящей, но получились "некрасивые" проценты, например 12,56% (от входящей).
Я решил, что некрасивыми цифрами оперировать сложнее и перерасчеты менее точные получатся, поэтому второй вариант отпал.
Ситуации когда нужно было переоценить товар:
1) При смене курса доллара цены менялись все ибо DDP цена была именно в долларах и не пересчитывалась от какой либо.
Ввели внутренний курс и округляли до целого числа, что бы не пересчитывать каждый день цены по РБК.
2) При смене входной цены (она DDP).
В итоге получил от начальника такую вот таблицу, я её прозвал "матрица цен":
спец | прайс1 | прайс2 | прайс3 | опт | розн | |
группа1 | 2 | 6 | 4 | 8 | 5 | 6 |
группа2 | 3 | 3 | 2 | 2 | 6 | 3 |
группа3 | 5 | 6 | 6 | 3 | 4 | 4 |
группа4 | 2 | 3 | 6 | 8 | 7 | 8 |
группа5 | 6 | 3 | 8 | 5 | 8 | 9 |
группа6 | 3 | 6 | 2 | 4 | 3 | 4 |
группа7 | 6 | 7 | 4 | 3 | 3 | 5 |
группа8 | 5 | 4 | 5 | 2 | 2 | 3 |
В этой таблице видно что существуют группы товаров и на каждую может быть своя наценка от предыдущего типа цен.
Эту таблицу я доработал, что бы были ещё те типы цен, которые я добавил сам.
Например, товар из группы "ГРУППА1" имеет наценку 3% от входящей и это получается СПЕЦПРАЙС, ПРАЙС1 считается добавлением к СПЕЦПРАЙСу 5%,
ПРАЙС2 считается добавлением 7% к ПРАЙС1 и так далее в этой группе "ГРУППА1". Для других аналогично, но проценты другие.
Такое в стандартной конфигурации не решается.
В 1С для этого я задействовал справоник Ценовые группы, внёс туда все группы товаров.
Попросил продавцов проставить в каждом товаре поле "Ценовая группа", НО можно было и задействовать для этого "Груповая обработка справочников и документов".
Теперь задача как связать эти группы с процентами типов цен, ведь нет места где можно хранить проценты.
Программистом был создан Регистр сведений "Матрица цен" с измерениями ЦеноваяГруппа, ТипЦены, БазовыйТипЦен и ресурсом ПроцентНаценки.
ТипЦены это цена которую расчитываю, БазовыйТипЦен это цена на которую добавляю, ПроцентНаценки это то сколько добавляю.
Внесение в эту матрицу всей таблицы заняло времени много изза того, что не был продуман удобный вариант добавления, это было не приоритетно и не было времени ждать "красивостей".
При внесении этих данных Регистр сведений "Матрица цен" выглядит теперь примерно так:
группа1 закупочные DDP 0 (здесь нужен НОЛЬ для того, что бы перевести доллары в рубли, а это просто перерасчет валют)
группа1 минимальная закупочные 2
группа1 спецпрайс минимальная 3
группа1 прайс1 спецпрайс 5
группа1 прайс2 прайс1 7
группа1 прайс3 прайс2 9
группа1 опт прайс3 11
группа1 розница опт 13
и так далее столько таких записей сколько групп товаров
Что имеем:
Номенклатуру, проставленные в ней поле "Ценовая группа", заполненную "Матрицу Цен", правильный курс доллара, осталось понять сам процесс КАК будет делаться цереоценка.
В 1С стандартно есть такой документ "Установка цен номенклатуры", в нём есть возможность ставить цены на товары.
Разобравшись с этим документов решил использовать его, но с дописанной возможностью прикрученной внешней обработкой заполнения табличной части.
Обработку написал программист, я её назвал "обработка таблицы по матрице цен"и добавил в кнопку ЗАПОЛНИТЬ.
Обработка сама пробегается по записанному документу и проставляет цены (заполняет ячейки) относительно матрице цен.
В этот документ можно внести номенклатуру руками или выбрать стандартными средствами по разным критериям.
Перед внесением товаров в табличную часть нужно обязательно выбрать типы цен с которыми нужно работать.
ОКОНЧАНИЕ:
Теперь процесс изменения цены быстр и прост.
1) Ставлю в валюте USD внутренний курс на день переоценки - будет использоваться при просчетах.
2) Выбираю номенклатуру всю или какую то группу.
3) Делаю пересчёт по матрице цен, если это переоценка изза изменения курса доллара ИЛИ вношу новые DDP цены, если это изменение входной цены.
Обычно у нас входные цены могут меняться раз (максимум два) в год.
4) Провожу документ и готово - новые цены изменены на всю выбранную номенклатуру.
5) Написал памятку как пользоваться - отдал ответственному лицу.
Задача решена.