![]() |
![]() |
|
Поменять ставку ндс у всех элементов группы справочника УТ 11.1 | ☑ | ||
---|---|---|---|---|
0
anshnine
09.02.21
✎
13:01
|
Добрый день. Есть необходимость поменять у всех элементов определённой группы справочника ставку ндс на 20% , если такая еще не стоит. Решил это делать через запрос. Получаю все позиции определенной группы , где ндс не равен 20% и уже там пытаюсь перезаписать. Но дело в том что запись не происходит, если у товара стояла БезНДС то так и остается. На самой форме вобще нет возможности вручную изменить ставку , заблокировано. Групповая обработка по изменению реквизитов не работает на этой конфигураци..сказывается очень много допилов и так далее. Видимо , я что-то делаю не так или проблема и правда заключается втом , что реквзит не доступен для редактирования , но я не смог его разблокировать
Группа =Справочники.Номенклатура.НайтиПоНаименованию("ПрограммноеОбеспечение"); запрос = Новый Запрос; НДС20 = Перечисления.СтавкиНДС.БезНДС; Запрос.Текст="ВЫБРАТЬ | Номенклатура.Ссылка, | Номенклатура.ЭтоГруппа, | Номенклатура.Родитель, | Номенклатура.Наименование, | Номенклатура.СтавкаНДС |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Родитель = &Группа | И Номенклатура.ЭтоГруппа = &Ложь | И Номенклатура.СтавкаНДС <> &НДС20" ; Запрос.УстановитьПараметр("Группа",Группа); Запрос.УстановитьПараметр("Ложь",Ложь); Запрос.УстановитьПараметр("НДС20",НДС20); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл //Выборка.Ссылка.ПолучитьОбъект().СтавкаНДС.Доступность = Истина; Выборка.Ссылка.ПолучитьОбъект().СтавкаНДС=НДС20; Выборка.Ссылка.ПолучитьОбъект().Записать(); КонецЦикла; |
|||
1
Галахад
гуру
09.02.21
✎
13:07
|
Выборка.Ссылка.ПолучитьОбъект()...
Выборка.Ссылка.ПолучитьОбъект()... Это разные объекты. |
|||
2
hhhh
09.02.21
✎
13:16
|
(0) да, и вот это хрень
НДС20 = Перечисления.СтавкиНДС.БезНДС; |
|||
3
mikecool
09.02.21
✎
13:18
|
(0) используй инструменты разработчика и не пиши больше такой код
|
|||
4
Галахад
гуру
09.02.21
✎
13:22
|
(3) Хм, а чем лучше "не писать"?
|
|||
5
sitex
naïve
09.02.21
✎
13:26
|
(0) Куча обработок уже создано - пересоздано . Зачем писать эту Дичь*?
|
|||
6
hhhh
09.02.21
✎
13:28
|
(0) откойте Администрирование - обслуживание и там где-то есть пункт Групповое изменение реквизитов
|
|||
7
anshnine
09.02.21
✎
13:31
|
(2) Тут согласен , изначально там ндс20 было , просто тестировал изменения и скинул сюда в таком виде.
(5) в свободном доступе обработки найти не всегда получается , а если и получается то не факт , что она взлетит на конктреной конфигурации..В данном случае пишу для себя , использовать один раз и удалить ее нафиг , не на продажу... (6) Как уже сказал , данной обработки нет в конфе , скачивал ее под 11.1 но там из-за ошибок совместимости или что-то такое не запустилась . В любом случае спасибо за совет |
|||
8
azernot
09.02.21
✎
13:31
|
Пока Выборка.Следующий() Цикл
Объект = Выборка.Ссылка.ПолучитьОбъект(); Объект.СтавкаНДС=НДС20; Объект.Записать(); КонецЦикла; И будет счастье |
|||
9
Krendel
09.02.21
✎
13:33
|
(0) а нафига ты пишешь обработку если это Типовой функционал, типовая обработка поиск и замена значений
|
|||
10
d_monah
09.02.21
✎
13:36
|
(6) И там ОбменДанными.Загрузка=Истина ,НДС вроде просто так не меняется,если номенклатуру использовали
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |