Конфигурация 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; КонецЕсли; КонецФункции
Конечно, здесь опубликован не весь программный код обработки для изменения цен товаров. Но его можно увидеть, да и опробовать саму эту обработку, если скачать её по ссылке. Если у вас другие данные или другая конфигурация, то мы можем помочь изменить обработку под ваши нужды, обращайтесь.