Имя: Пароль:
1C
 
Формирование списка статусов в процедуре НачалоВыбораПосле
0 NIGHTHUNTER
 
21.09.22
07:12
У документа ЗаявкаНаРасходованиеДенежныхСредств, есть поле статус.
Мне нужно при определенных условиях не давать выбрать значение Согласована.
Я делаю это в процедуре Процедура Закупки_СтатусНачалоВыбораПосле(Элемент, ДанныеВыбора, СтандартнаяОбработка) .

Но почему то за место, 3х из 4х имеющихся статусов http://joxi.ru/EA40apjUXQlGlA ,
там появляются другие: http://joxi.ru/n2YpYzvCkvWd8m .

Вот такая процедура, -

&НаКлиенте
Процедура Закупки_СтатусНачалоВыбораПосле(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    ТекФизЛицо                                   = ПолучитьФизЛицоТекущегоПользователя();
    ХХХ_ЗаявкиНаРасходованиеДССогласовательИП = ПолучитьХХХ_ЗаявкиНаРасходованиеДССогласовательИП();
    //
    Если Объект.ХХХ_Классификация = ПредопределенноеЗначение("Перечисление.ХХХ_КлассификацииЗаявокНаРасходДС.ИП") И ПолучитьДополнительноеСведение(ТекФизЛицо, ХХХ_ЗаявкиНаРасходованиеДССогласовательИП, Истина) Тогда
        СтандартнаяОбработка = Ложь;
        СписокСтатусов            = Новый СписокЗначений;
        СписокСтатусов.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыЗаявокНаРасходованиеДенежныхСредств.НеСогласована"));
        //СписокСтатусов.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыЗаявокНаРасходованиеДенежныхСредств.Согласована"));
        СписокСтатусов.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыЗаявокНаРасходованиеДенежныхСредств.КОплате"));
        СписокСтатусов.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыЗаявокНаРасходованиеДенежныхСредств.Отклонена"));
        ДанныеВыбора = СписокСтатусов;
    КонецЕсли;
    // <-
КонецПроцедуры
1 NIGHTHUNTER
 
21.09.22
07:16
Я в данные выбора добавляю список из 3х перечислений. Почему эти три перечисления добавляются к существующим 4м, а не за место них становятся?
2 Мимохожий Однако
 
21.09.22
07:24
(1) Перед добавлением очисти список
3 NIGHTHUNTER
 
21.09.22
08:04
(2) Какой именно?

Я проверяю ДанныеВыбора, на выходе. Там три значения.

Может дело в процедуре расширения? Может ее нужно делать Не после , а Вместо ?
4 Мимохожий Однако
 
21.09.22
08:08
(3) Тот список, в который добавляешь свои элементы
5 NIGHTHUNTER
 
21.09.22
08:13
(4) я же его создаю новый, и вижу что там 3 элемента, и передаю из, три
6 Мимохожий Однако
 
21.09.22
08:15
(5) Тогда расшифруй свои слова "ти три перечисления добавляются к существующим 4м"
7 NIGHTHUNTER
 
21.09.22
08:16
Из за того что не понятно как это устранить (0), я начал делать в процедуре Процедура Закупки_СтатусОбработкаВыбораПосле(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
8 NIGHTHUNTER
 
21.09.22
08:17
(6) Может дело в расширении? Я же в расширении делаю????
9 Мимохожий Однако
 
21.09.22
08:18
ОФФ(8) Что за манера вместо прямых ответов задавать еще кучу вопросов?
10 NIGHTHUNTER
 
21.09.22
08:19
(6) что именно очистить? Я же смотрю что в этих списках. Если бы увидел лишнее, то и очищал бы!
11 NIGHTHUNTER
 
21.09.22
08:20
(9) Я создаю новый чистый список и очищаю его что ли?
12 NIGHTHUNTER
 
21.09.22
08:23
Попытка удалась только вот эта

&НаКлиенте
Процедура Закупки_СтатусОбработкаВыбораПосле(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    // LivingStar 2022_09_12 000001650.2 ->
    ТекФизЛицо                                   = ПолучитьФизЛицоТекущегоПользователя();
    ХХХ_ЗаявкиНаРасходованиеДССогласовательИП = ПолучитьХХХ_ЗаявкиНаРасходованиеДССогласовательИП();
    //
    Если Объект.ХХХ_Классификация = ПредопределенноеЗначение("Перечисление.ХХХ_КлассификацииЗаявокНаРасходДС.ИП") И ПолучитьДополнительноеСведение(ТекФизЛицо, ХХХ_ЗаявкиНаРасходованиеДССогласовательИП, Истина) Тогда
        Если ВыбранноеЗначение = ПредопределенноеЗначение("Перечисление.СтатусыЗаявокНаРасходованиеДенежныхСредств.Согласована") Тогда
            ВыбранноеЗначение    = Неопределено;
            СтандартнаяОбработка = Ложь;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры


Что нужно изменить в (0) я не знаю. Я же так уже делал и все работало именно так. И код от туда взял. Значит в расширении дело!
13 NIGHTHUNTER
 
21.09.22
08:54
Все в порядке.

Элементы.Статус.СписокВыбора.Очистить();
14 NIGHTHUNTER
 
21.09.22
09:45
(13) Если я делаю это (13) То в списке 3 значения, но они не выбираются в поле само статус ( Почему?