Конфигурация 1c Торговля – Изменение цен номенклатуры

Доброго времени суток, уважаемые посетители! На этом блоге мы уже выкладывали обработку, которая наглядно показывала, как удалить элементы справочника, в наименовании которых встречается введенная пользователем строка. Сегодня мы рассмотрим, как изменить цены в справочнике номенклатура в конфигурации 1C:Торговля версии системы 1C:Предприятие 7.7. Итак, приступим.

Внешний вид обработки для изменения цен такой:

Форма Обработки Изменения Цен Номенклатуры

Описание работы с обработкой изменения цен

  • Скачайте обработку по ссылке в конце статьи.
  • Затем откройте её в режиме 1С:Предприятие.
  • Перейдите к пункту меню «Файл» | «Открыть…» (Ctrl+O).
  • Заполните поля на форме данными, которые вам необходимы. 
  • Нажмите на кнопку «Изменить». 

Пример исходного кода обработки для изменения цен

Для начала рассмотрим процедуру «Сформировать» обработки «Изменение цен номенклатуры», её код здесь:

Процедура Сформировать()
	НеВыбран = 0; СтрокаНеВыбран = "";
 //Сначала нужно проверить заполнены ли необходимые реквизиты формы:
 Если ВалютаЦены.Выбран() = 0 Тогда
	НеВыбран = 1;
	СтрокаНеВыбран = "Валюта цены";
	Активизировать("ВалютаЦены");
 КонецЕсли;
 Если ЕдИзмЦены.Выбран() = 0 Тогда
	НеВыбран = 1;
	СтрокаНеВыбран = СтрокаНеВыбран + " Единица измерения цены";
	Активизировать("ЕдИзмЦены");
 КонецЕсли;
 Если Дата(0) = ДатаЦены Тогда
	НеВыбран = 1;
	СтрокаНеВыбран = СтрокаНеВыбран + " Дата цены";
	Активизировать("ДатаЦены");
 КонецЕсли;
 ...
 КонецЕсли;
 // Проверяю у скольки элементов нужно поменять цену...
	...
 // У всех элементов справочника номенклатура, если Товар.ЭтоГруппа() = 0
	СпрТов.ВыбратьЭлементы();
 Пока СпрТов.ПолучитьЭлемент() = 1 Цикл
	Если СпрТов.ЭтоГруппа() = 1 Тогда
 Продолжить;
 КонецЕсли;
 Если ИзменитьЭлемент(СпрТов.ТекущийЭлемент()) = 0 Тогда
 Возврат;
 КонецЕсли;
 КонецЦикла;
КонецПроцедуры

Как можно догадаться в этом коде главным является функция:

//*******************************************
Функция ИзменитьЭлемент(Эл)
	Был = 0;
	СпрЦен = СоздатьОбъект("Справочник.Цены");
 ...
	// Находим в справочнике Цен, только те элементы, которые принадлежат,

 //выбранной нами номенклатуре:
	СпрЦен.ИспользоватьВладельца(Эл);
	Если ТипЦены.Выбран() = 1 Тогда
	СпрЦен.ВыбратьЭлементы();
 Пока СпрЦен.ПолучитьЭлемент() = 1 Цикл
	// Здесь находим тот тип цены, который нам нужно изменить
 Если СокрЛП(СпрЦен.ТипЦен.Наименование) = СокрЛП(ТипЦены.Наименование) Тогда
	...
 КонецЕсли;
	СпрЦен.Записать();
 Возврат 1;
	Иначе
	Сообщить("Не выбран тип цены!", "!");
	Активизировать("ТипЦены",1);
 Возврат 0;
	КонецЕсли;
КонецФункции

Конечно, здесь опубликован не весь программный код обработки для изменения цен товаров. Но его можно увидеть, да и опробовать саму эту обработку, если скачать её по ссылке. Если у вас другие данные или другая конфигурация, то мы можем помочь изменить обработку под ваши нужды, обращайтесь.

ПОДПИСКА