Имя: Пароль:
1C
1C 7.7
v7: Не выбирается элемент справочника на форме.
, , , ,
0 Лалым
 
06.04.23
17:02
Есть некий документ в котором есть реквизит шапки "ГруппаТоваров" который будет использован для заполнения ТЧ.
В При открытии() стоит Форма.ГруппаТоваров.ВыборГруппы(1).
Но при выборе этого элемента открывается как надо форма выбора справочника, дает выбрать как группу так и элемент но поле остается чистым то есть никакого выбора не происходит.
1 ChMikle
 
06.04.23
17:09
в свойства реквизита посмотрите , возможно там только элемент м.б. ?
2 Kigo_Kigo
 
06.04.23
17:09
пройдись в модуле по идетентификатору, может есть функция которая при выборе
Если ГруппаТоваров.ЭтоГруппа =""
3 Kigo_Kigo
 
06.04.23
17:13
(1) Это Клюшки там такой хрени не было, а вот для некоторых справочников для выбора груп приходилось отдельную форму рисовать
4 Лалым
 
06.04.23
17:14
(1) В свойствах реквизити Кроме "Справочник.Товар" ничего нет
(2) В модуле ничего нет кроме
    Если ГруппаТоваров.Выбран() = 0 Тогда
        Предупреждение("Не выбрана Группа товаров",0);
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
5 Kigo_Kigo
 
06.04.23
17:16
Создай форму "ВыборГрупп"- тупо список "код  и наименование "
в модуле только одна строка
ВыборГрупп(1);
все
в параметрах реквизита укажи форму выбора= "ВыборГрупп" и не заморачивайся
6 Kigo_Kigo
 
06.04.23
17:18
делов еа 2 минуты с перерывами на попить
7 Kigo_Kigo
 
06.04.23
17:19
ма была в ТиСе именно с номенклатурой
8 Лалым
 
06.04.23
17:27
(5)  так даже если выбрать товар то все равно ничего не выбирается тут уже дело не в самом "ВыбратьГрупу"
Просто остаетсся пустое поле хоть группа хоть элемент
9 Лалым
 
06.04.23
17:48
и в отдельной форме для выбора та же история
10 Лалым
 
06.04.23
18:27
такое впечатление что вообще в шапке документа  нельзя нычего выбрать, обошел  в ПриОткрытии если этот реквизит пустой
вот гдето так
    Если ГруппаТоваров.Выбран() = 0 Тогда
        ГруппаТов = СоздатьОбъект("Справочник.Товар");
        ГруппаТов.ВыборГруппы(1);
        Если ГруппаТов.Выбрать("Выберите группу оваров",) = 0 Тогда
            Возврат;
        КонецЕсли;
        Если ГруппаТов.ЭтоГруппа() = 0 Тогда
            Предупреждение("Нужно выбрать группу ТМЦ!");
            Возврат;
        КонецЕсли;
        ГруппаТоваров = ГруппаТов.ТекущийЭлемент();
    КонецЕсли;
11 Злопчинский
 
06.04.23
21:11
(10) хрень какая
все должно работать без извращений
12 MWWRuza
 
гуру
06.04.23
23:43
+(11) Я тоже не пойму, в чем тут могут быть проблемы... Миллион раз на лазных формах обработок/документов вставлял поля выбора номенклатуры, как элеметов так и групп, и не разу такого не видел.
13 Харлампий Дымба
 
07.04.23
00:44
Может ГруппаТоваров объявлена как переменная модуля или как переменная процедуры? Ну или имеет тип отличный от "Справочник.Товар"
14 Лалым
 
07.04.23
06:08
(11) Согласен Хрень
(12) создаю как бы рядом для эксперимента новый (похожий) док там все выбирается
(13) ни то ни другое,
Мало того,  там еще в шапке еще один элемент - "Магазин" вот при открытии ему присваивалось значение из константы.
Когда убрал
    Магазин = Константа.МагазинПоУмолчанию;
стала та же история и с этим элементом.
Загвоздка я думаю все таки в свойствах самой формы документа.
Может кто то встречал. что то подобное.
Пока  пусть работает как есть через извращение.
15 AAA
 
07.04.23
06:18
Просмотрите внимательно весь модуль на предмет действий с этим реквизитом. Не надо в этой задаче никаких извращений
16 Лалым
 
07.04.23
06:41
(15) Нигде в модуле нет никаких действий с этим реквизитом кроме в черном запросе условие
    |Условие(Товар В ГруппаТоваров);
17 AAA
 
07.04.23
07:06
(16)Такого не бывает
18 AAA
 
07.04.23
07:11
Выложили бы какую нибудь базу, чтобы глянуть
19 Злопчинский
 
07.04.23
07:30
(17) согласен.
(14) удалить проблемный реквизит на форме. сохранить. закрыть конфигуратор. открыть конфигуратор. положить на форму нужные реквизит. далее проверить без всяких извращений.
20 Злопчинский
 
07.04.23
07:31
(16) или стукнись в Скайп Zlopun, посмотрим по АниДеск
21 Лалым
 
07.04.23
07:35
(18) ани деск на почту выслал
(20) щас поищу скайп давно его не юзал
22 Злопчинский
 
07.04.23
07:39
(21) да можно и не скайп, через мессенджеры. ща, с почты достану
23 AAA
 
07.04.23
07:49
а вообще выборгруппы(1) по моему надо устанавливать в форме списка выбираемого справочника, то есть ПриОткрытии в ГруппыТоваров
24 Лалым
 
07.04.23
08:23
(23) и так тоже сделано
25 Злопчинский
 
07.04.23
08:36
не надо ничего делать.
в самом документе
в модуле формы после всех процедур
ГруппаТоваров.ВыборГруппы(1);
и все
26 Злопчинский
 
07.04.23
08:39
все было просто
должно быть

Процедура ОбработкавыбораЗначения(ВыбЗнач,ИдентЭлемДиалога,Фл)
    Если ИдентЭлемДиалога = "Товар"  Тогда
        Фл = 0; // отмена присвоения выбранного значения ТОЛЬКО ДЛЯ ЭТОГО РЕКВИЗИТА, а было перед Если = для всех

а было

Процедура ОбработкавыбораЗначения(ВыбЗнач,ИдентЭлемДиалога,Фл)
        Фл = 0;
    Если ИдентЭлемДиалога = "Товар"  Тогда
27 Злопчинский
 
07.04.23
08:40
да, бывает тупишь отчаянно на каких-то простейших моментах.
Парадокс специалиста ;-)
.
"Я успел забыть больше чем вы знали"
28 Лалым
 
07.04.23
08:41
Итак головоломка решена всем неравнодушным спасибо за помощь а Злопу отдельное и огромное
29 AAA
 
07.04.23
09:04
(26)ну  косяк неочевидный, так как 1с могла бы и не затирать выбранное значение
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший