|
Как создать регламентное задание во внешней обработке для установки пометки | ☑ | ||
---|---|---|---|---|
0
1сhelp
29.10.21
✎
07:41
|
Добрый день, ситуация следующая: нужно создать обработку к регламентному заданию которая в запросе вызывает справочник и смотрит по его элементу если значение булево то установить на другой элемент флажка значение булево
Процедура АвтоматическаяБлокировка() Экспорт Менеджер = Справочники.ВариантыНоменклатуры.Выбрать(); ВыборкаБлокировки = Менеджер.ЗаблокироватьДляЗаявокНаПриобретениеТМЦ; ВыборкаУдаления = Менеджер.ПометкаУдаления; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВариантыНоменклатуры.Ссылка КАК Ссылка |ПОМЕСТИТЬ ВТ_Варианты |ИЗ | Справочник.ВариантыНоменклатуры КАК ВариантыНоменклатуры |ГДЕ | НЕ ВариантыНоменклатуры.ПометкаУдаления | И ВариантыНоменклатуры.ЗаблокироватьДляЗаявокНаПриобретениеТМЦ; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПартииВариантовНоменклатурыНаСкладахОстатки.ВариантНоменклатуры КАК ВариантНоменклатуры, | ПартииВариантовНоменклатурыНаСкладахОстатки.ВНаличииОстаток КАК ВНаличииОстаток |ИЗ | РегистрНакопления.ПартииВариантовНоменклатурыНаСкладах.Остатки КАК ПартииВариантовНоменклатурыНаСкладахОстатки |ГДЕ | ПартииВариантовНоменклатурыНаСкладахОстатки.ВНаличииОстаток = 0 | И ПартииВариантовНоменклатурыНаСкладахОстатки.ВариантНоменклатуры В | (ВЫБРАТЬ | ВТ_Варианты.Ссылка | ИЗ | ВТ_Варианты)"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл //Если ВыборкаБлокировки = Истина Тогда // ВыборкаУдаления = Истина; //КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
1
ДенисЧ
29.10.21
✎
07:49
|
Вопрос-то в чём?
|
|||
2
1сhelp
29.10.21
✎
07:55
|
Вот смотрите у меня 2 флажка надо чтобы в цикле было условие для того чтобы если флажок1= истина тогда флажок 2 истина как это сделать?
|
|||
3
Admin_Net_1C
29.10.21
✎
08:01
|
А как между собой связаны запрос и установка значений переменных в цикле обхода результатов запроса?
|
|||
4
Мультук
гуру
29.10.21
✎
08:02
|
(3) Это метод псевдослучайного программирования. Итерационный.
|
|||
5
1сhelp
29.10.21
✎
08:07
|
(3) Я ведь создаю внешнюю обработку и в нём делаю запрос
|
|||
6
Гений 1С
гуру
29.10.21
✎
08:16
|
ничего не понял из вопроса. в чем задача то?
|
|||
7
RomaH
naïve
29.10.21
✎
08:47
|
Менеджер = Справочники.ВариантыНоменклатуры.Выбрать();
ВыборкаБлокировки = Менеджер.ЗаблокироватьДляЗаявокНаПриобретениеТМЦ; ВыборкаУдаления = Менеджер.ПометкаУдаления; этот код работает? |
|||
8
1сhelp
29.10.21
✎
08:48
|
(7) вроде ошибок не выдаёт но и не делает ничего
|
|||
9
Irbis
29.10.21
✎
08:51
|
(6) Ну, какой ты после этого гений?!
|
|||
10
RomaH
naïve
29.10.21
✎
08:54
|
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл Если Выборка.ЗаблокироватьДляЗаявокНаПриобретениеТМЦИ НЕ Выборка.ПометкаУдаления Тогда ВариантНоменклатуры = Выборка.ПолучитьОбъект(); Если ВариантНоменклатуры.ЗаблокироватьДляЗаявокНаПриобретениеТМЦТогда ВариантНоменклатуры.ПометкаУдаления= Истина; КонецЕсли; ВариантНоменклатуры.Записать(); КонецЦикла; |
|||
11
RomaH
naïve
29.10.21
✎
08:56
|
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл Если Выборка.ЗаблокироватьДляЗаявокНаПриобретениеТМЦИ НЕ Выборка.ПометкаУдаления Тогда ВариантНоменклатуры = Выборка.ПолучитьОбъект(); ВариантНоменклатуры.ПометкаУдаления = Истина; ВариантНоменклатуры.Записать(); КонецЕсли; КонецЦикла; |
|||
12
1сhelp
29.10.21
✎
09:22
|
(11) ваш код очень подходит но при выполнении регламентного задания все равно флажок в ПометкаУдаления не ставиться
|
|||
13
Kassern
29.10.21
✎
09:24
|
(12) потому что пометка удаления ставится вот так: ВариантНоменклатуры.УстановитьПометкуУдаления(Истина);
|
|||
14
1сhelp
29.10.21
✎
09:26
|
(13) ПометкаУдаления Это Элемент справочника
|
|||
15
1сhelp
29.10.21
✎
09:27
|
(13) попробовал не сработало
|
|||
16
Kassern
29.10.21
✎
09:30
|
(15) напишите во внешней обработке:
ВариантНоменклатуры=Справочники.ВариантыНоменклатуры.НайтиПоКоду(Код позиции).ПолучитьОбъект(); Если Не ВариантНоменклатуры.ПометкаУдаления Тогда ВариантНоменклатуры.УстановитьПометкуУдаления(Истина); КонецЕсли; И посмотрите ставится ли пометка удаления. Если ставится, значит проблема в логике установки этой пометки |
|||
17
Kassern
29.10.21
✎
09:31
|
и научитесь уже пользоваться отладкой, посмотрите, попадает ли вообще отладчик на установку пометки удаления у вас в коде
|
|||
18
Guk
29.10.21
✎
10:14
|
(14) о как!...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |