IE2017

Переоценка по всем характеристикам номенклатуры УТ 10.3

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

В УТ 10.3 при накоплении большого количества характеристик для номенклатуры пользователю приходится потратить много времени на переоценку всех характеристик по одной и той же цене! В статье описывается доработка документа "Установка цен номеклатуры" для быстрой переоценки всех характеристик.

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

 

1. Заходим в конфигуратор 1с 8.2
2. Ищем документ УстановкаЦенНоменклатуры
3. Открываем Модуль Объекта
4. В процедуре ОбработкаПроведения ищем текст

ПроверитьЗаполнениеТабличнойЧастиТовары(ТаблицаПоТоварам, СтруктураШапкиДокумента, Отказ, Заголовок);

После этой строчки текст нужно заменить на :

 

Запрос=Новый запрос;
МенеджерВТ = Новый МенеджерВременныхТаблиц;

Запрос.МенеджерВременныхТаблиц = МенеджерВТ;

ЗАпрос.Текст="ВЫБРАТЬ
| ТЗ.НомерСтроки,
| ТЗ.Номенклатура,
| ТЗ.ИндексСтрокиТаблицыЦен,
| ТЗ.Набор,
| ТЗ.Услуга,
| ТЗ.Цена,
| ТЗ.Валюта,
| ТЗ.ЕдиницаИзмерения,
| ТЗ.ПроцентСкидкиНаценки,
| ТЗ.СпособРасчетаЦены,
| ТЗ.Рассчитывается,
| ТЗ.БазовыйТипЦен,
| ТЗ.ХарактеристикаНоменклатуры,
| ТЗ.ТипЦен
|ПОМЕСТИТЬ ВТ
|ИЗ
| &ТЗ КАК ТЗ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ.НомерСтроки,
| ВТ.Номенклатура,
| ВТ.ИндексСтрокиТаблицыЦен,
| ВТ.Набор,
| ВТ.Услуга,
| ВТ.Цена,
| ВТ.Валюта,
| ВТ.ЕдиницаИзмерения,
| ВТ.ПроцентСкидкиНаценки,
| ВТ.СпособРасчетаЦены,
| ВТ.Рассчитывается,
| ВТ.БазовыйТипЦен,
| ХарактеристикиНоменклатуры.Ссылка КАК ХарактеристикаНоменклатуры,
| ВТ.ТипЦен
|ИЗ
| ВТ КАК ВТ
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
| ПО ВТ.ХарактеристикаНоменклатуры.Владелец = ХарактеристикиНоменклатуры.Владелец";


Запрос.УстановитьПараметр("ТЗ",ТаблицаПоТоварам);

Табл=Новый ТаблицаЗначений;

Табл=Запрос.Выполнить().Выгрузить();
// Табл.ВыбратьСтроку();


Если Не Отказ Тогда
Если УстановитьЦеныНаВсеХарактеристики=Истина тогда
ДвиженияПоРегистрам(СтруктураШапкиДокумента, Табл, Отказ, Заголовок);

иначе

ДвиженияПоРегистрам(СтруктураШапкиДокумента, ТаблицаПоТоварам, Отказ, Заголовок);
Конецесли
КонецЕсли;

 

Далее в реквизиты добавляем реквизит типа булево УстановитьЦеныНаВсеХарактеристики.

Добавляем на форму Поле типа Флажок с данными из УстановитьЦеныНаВсеХарактеристики.

Вот и все!

См. также

Автор запретил комментарии