Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 13:35

Замена НДС через обработку

Автор Uinsux, 02 мар 2021, 11:56

0 Пользователей и 1 гость просматривают эту тему.

Uinsux

Здравствуйте, нужно через обработку выполнить замену НДС, предварительно выгрузив все данные в таблицу и у выбранного заменить НДС, выгрузить знаю как, а вот замена хзПроцедура КнопкаВыполнитьНажатие(Кнопка)

КонецПроцедуры

Процедура КнопкаВыгрузитьНажатие(Элемент)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("НДС", ЭлементыФормы.ПолеВводаНДС.Значение);

ТаблицаНоменклатуры.Очистить();


Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Артикул,
| Номенклатура.Наименование,
| Номенклатура.СтавкаНДС
|ИЗ Справочник.Номенклатура КАК Номенклатура
|ГДЕ Номенклатура.СтавкаНДС = &НДС";
Данные = Запрос.Выполнить().Выгрузить();

ЭлементыФормы.ТаблицаНоменклатуры.Значение = Данные;
ЭлементыФормы.ТаблицаНоменклатуры.СоздатьКолонки();
КонецПроцедуры

Процедура КнопкаЗаменаНажатие(Элемент)
Запрос = Новый Запрос;
Запрос.
КонецПроцедуры

ls600

Есть готовые обработки для этого дела.
Обработка

Uinsux

Цитата: ls600 от 02 мар 2021, 12:43
Есть готовые обработки для этого дела.
Обработка
Месяц в койке больничной провалялся, а препод требует это задание сделать, поэтому готовые препод явно не оценит, решать не обязательно, достаточно объяснить и направить)

ls600

Для примера накидал, не стал выбирать всю номенклатуру. Выбрал одну позицию. Свой код номенклатуры подставишь, НДС поменяется.
В базе было 20% поменял на 10%. Смысл в том что ставка поменялась.

&НаСервере
Процедура Команда1НаСервере()

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               | Номенклатура.Ссылка,
               | Номенклатура.СтавкаНДС
               |ИЗ
               | Справочник.Номенклатура КАК Номенклатура
               |ГДЕ
               | Номенклатура.Ссылка = &Ссылка";
   
Запрос.УстановитьПараметр("Ссылка", Справочники.Номенклатура.НайтиПоКоду("00000071968"));
Данные = Запрос.Выполнить().Выгрузить();

Для Каждого Строка Из Данные Цикл
ТЗНоменклатура = Строка.Ссылка.ПолучитьОбъект();

ТЗНоменклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС10;
ТЗНоменклатура.Записать();
Сообщить(ТЗНоменклатура);
КонецЦикла;

КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
Команда1НаСервере();
КонецПроцедуры


it9094


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск