Патч УТ 11.4 для возможности работы с документом "Установка цен номенклатуры" в серверном контексте

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

Разработка - Обработки - Ценообразование, прайсы

УТ_11 УстановкаЦенНоменклатуры Расширение

В статье опишу патч и тест проверки работы.

Вводные

1. Конфигурация УТ 11.4

2. Нужно после загрузки цен в фоновом задании рассчитать зависимые цены.

 

Реализация

 

Реализация расчета цен завязана на форму документа Для решения задачи нужно эмулировать форму через структуру.

 
 Код основного модуля

 

Эмуляция усложняется тем что в ряде табличных частей реквизит типа таблица значений. Решается формированием таблицы значений перед заполнением.

 
 Заполнение таблицы значений

 

Основная масса правок из за различий работы с деревом значений и ДанныеФормыКоллекция.

 
 Пример корректировки

 

Тестирование

Тестировал на демо базе, версия 11.4.11.100.

Для тестирования создал

  • два элемента номенклатуры: "Тест1", "Тест2".
  • элемент спр. "Ценовые группы": "Контроль РРЦ"
  • элемент спр цены номенлклатуры контрагента
  • виды цен
    • "От поступления": Произвольный запрос к данным ИБ, Минимальные цены поставщиков
    • "РРЦ": Ручное назначение
    • РозничнаяРасчетная: Наценка на другой вид цен, "От поступления" * 1,2
    • РозничнаяДляПродажи: Если "Ценовые группа"= "Контроль РРЦ" Тогда "РРЦ" Иначе "РозничнаяРасчетная"
  • документ регистрация цен поставщика, цена на оба товара 1000 руб.
  • документ установка цен номенклатуры
    • виды цен: все вышеперечисленные
    • товары: на оба товара РРЦ = 1100 руб.

Результат заполнения до запуска (Универсальный редактор реквизитов объектов.)

 
 Картинка

Форма обработки запуска теста

 
 Картинка

Результат

 
 Картинка

 

Фиксация изменений в GIT

Из разбора в смежной статье: "и даже когда конфигурация будет обновляться, то переписывать расширение длительное время не придется".

В своей статье про GIT обозначил вариант фиксации изменений, следующий шаг "атомарная" фиксация изменений, для удобства анализа изменений.

При доработке общих модулей можно выделить в отдельный коммит добавление кода из общего модуля и после отразить изменения. Модули добавлял последовательно (отлавливая ошибки), для разбивки на коммиты потребовалось отдельное время.

Результат изменений можно увидеть в коммите, изменений в файле много, поэтому нужно развернуть. Возможно оптимально будет "добавил процедуру - сделай коммит".

 
 Картинка

Так же изменения обрамлены маркером //malikov_pro

 

Итог

При желании можно доработать общие модули типовой для более удобного использования. Хорошо если данную возможность сделают на уровне типовой УТ 11.

 

Благодарю за внимание.

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

Наименование Файл Версия Размер
Патч УТ 11.4 для возможности работы с документом "Установка цен номенклатуры" в серверном контексте:

.cfe 25,60Kb
29.06.20
1
.cfe 25,60Kb 1 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Rustig 1478 29.06.20 11:18 Сейчас в теме
(0) интересное решение. я бы попробовал просто создать пустой документ УЦН, записать его, чтобы получить ссылку. В регистр сведений Цены номенклатуры записал бы новые цены отдельным алгоритмом, при этом в качестве документа-регистратора указал бы вновь созданный пустой документ.
Это все на сервере выполняем после загрузки цен в фоновом задании.

Далее понадобится запрограммировать только клиентскую интерфейсную часть - к примеру, при открытии заполняем табличную часть Товары ценами из связанного регистра сведений Цены номенклатуры. Или вовсе не заполняем, открываем пустой документ с запретом "на проведение и отмену проведения", с надписью что это служебный документ и руками изменять его нельзя...
2. kwazi 394 29.06.20 11:30 Сейчас в теме
(1) костыли. Я тоже не стал заморачиваться, когда потерял пол-дня и не понял как же оно работает.
Респект автору.
3. Rustig 1478 29.06.20 12:24 Сейчас в теме
(2) ну я полдня еще не терял на это... про "костыли" не понял мысль...никогда не нравилось это слово, только вдумайтесь....я предложил идею, что-то подобное делал уже для другого документа, для другой задачи. В обработке проведения надо проверять "Служебный" документ или нет, чтобы групповым перепроведением не удалить движения.
4. malikov_pro 338 29.06.20 12:32 Сейчас в теме
(3) "ну я полдня еще не терял на это" - как раз потратил рабочий день, опубликовал чтобы остальным было чуть проще.

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

"В обработке проведения надо проверять "Служебный" - групповым перепроведением установок цен не пользуюсь, не вижу смысла (если есть кейс - опишите). В моем контексте загрузки цен с сайта https://infostart.ru/public/1256276/ использую ссылку на документ установки цен в настройках обработки и перезаписываю документ.
5. Rustig 1478 29.06.20 13:13 Сейчас в теме
(4) а) нюансов много в этой задаче, как раз хотел услышать от первого лица
б) групповое перепроведение всех документов используется в любых учетных системах, единственно, что УЦН возможно не попадает в последовательность проводимых документов по смыслу...
ладно, вопросов больше нет
Оставьте свое сообщение

См. также

Универсальная выгрузка/загрузка данных для отличающихся конфигураций (JSON, Такси+ОФ) Промо

Перенос данных из 1C8 в 1C8 Универсальные обработки Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Абонемент ($m)

Простой перенос через JSON данных между двумя базами 1С (документов, справочников, ПВХ, ПВР, счетов). Аналогична произвольной выгрузке в типовой "Выгрузка/загрузка XML", но может использоваться для отличающихся конфигураций. Подходит для любых пар баз с любым интерфейсом (управляемый + обычный). Без настроек. Не требует идентичности конфигураций и платформ. При переносе типы данных сопоставляются по наименованиям метаданных, объекты и ссылки по UID.

1 стартмани

22.10.2014    202098    3077    ekaruk    178    

Загрузка данных из 1С МиниДеньги в 1С:Деньги 8, редакция 2.0

Обмен через XML Перенос данных из 1C8 в 1C8 v8 Домашние учет и финансы УУ Абонемент ($m)

Обработка для первоначальной загрузки данных (справочников и операций) в настольную программу 1С:Деньги 8, редакция 2.0 из файлы резервной копии мобильной программы 1С Миниденьги.

2 стартмани

01.10.2015    14832    14    Claus32    5    

Редактор чеков ККМ Розница 2.0 - 2.3

Обработка документов Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд БУ НУ Абонемент ($m)

Обработка чеков ККМ списком (редактирование, удаление, ...). Переформирование ОРП, связь чеков с ОРП. Редактирование времени КС. Редактирование суммы и времени выемки.

1 стартмани

06.08.2015    47878    450    Dima_    83    

Загрузка из Excel в 1С:Розница

Обработка документов Обработка справочников Загрузка и выгрузка в Excel Учет ТМЦ Учет ТМЦ v8 Розница Россия УУ Абонемент ($m)

Универсальная загрузка Excel файлов в 1С:Розница 2.0

1 стартмани

27.05.2015    14613    90    KarinaSV    7    

Автоматическая установка себестоимости номенклатуры для конфигурации Розница 2.0 (2.1) +Бонус, исправляем ошибки при настройке расписания запуска для внешних обработок в Рознице 2.0

Ценообразование, прайсы Обработка документов Розничная торговля Ценообразование, анализ цен Розничная торговля Ценообразование, анализ цен v8 Розница Розничная и сетевая торговля (FMCG) Россия УУ Абонемент ($m)

Обработка для автоматического создания документов Установка себестоимости, в случае если себестоимость не установлена на момент продажи. Помогает упростить установку себестоимости номенклатуры, если у вас в базе ведется учет по нескольким магазинам. Тестировалась на релизе 2.0.8.12 и 2.1.7.14. Подойдет для тех систем, где себестоимость номенклатуры одинакова для всех магазинов.

1 стартмани

31.03.2014    26199    38    sanches    15    

Выемка денежных средств из КассыККМ. Розница 2.0

Кассовые операции ККМ Кассовые операции v8 Розница УУ Абонемент ($m)

Уставшим от отсутствия ВыемкиДС после закрытия кассовой смены посвящается. Подключаемая обработка. Управляемый интерфейс.

1 стартмани

12.12.2012    74963    287    StepByStep    40