• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Список Значений Как Элемент Диалога

  • Автор темы lsnbox
  • Дата начала
L

lsnbox

Народ, помогите чайнику!
Есть форма, в ней список значений с пометками.
Формирую список, выбираю значение для дальнейшей обработки, а результат пустой.
Вот текст:

Процедура ВыборРаб();
СпрРаб = СоздатьОбъект("Справочник.ФизЛица");
Режим = 1;
СпрРаб.ВыбратьЭлементы(Режим);
Пока СпрРаб.ПолучитьЭлемент()=1 Цикл
Если СпрРаб.ЭтоГруппа()=0 Тогда
СписРаб.ДобавитьЗначение(СпрРаб);
Сообщить(СпрРаб);
Иначе Продолжить;
КонецЕсли;
КонецЦикла;
КонецПроцедуры

Процедура Сформировать()
Для Сч = 1 По СписРаб.РазмерСписка() Цикл
Если СписРаб.Пометка(Сч) = 0 Тогда
Продолжить;
КонецЕсли;
ВыбрРаб = СписРаб.ПолучитьЗначение(Сч);
Если ПустоеЗначение(ВыбрРаб)=1 Тогда
Сообщить("строка № "+Сч+" пустая");
Продолжить;
КонецЕсли;
Сообщить(Сч+", "+ВыбрРаб);
КонецЦикла;
КонецПроцедуры

Вот итог:
строка № 1 пустая
На период внимания не обращайте.
Понимаю, что я тупила, но где конкретно???
Скрин на всякий.
 

Вложения

  • СписЗнач.gif
    СписЗнач.gif
    105,6 КБ · Просмотры: 629
K

KiR

так у тебя ведь не список на форме, а скорее всего таблица значений скорее всего с флагом выбора - т.е. есть что-то типа ТЗ.выводитьПиктограммы() Вот и обходи ее по условию типа если флаг = 2 тогда
 
L

lsnbox

KiR,
это именно Список Значений, с дополнительным свойством "Список с пометками",
вставленный в форму как элемент диалога.
Я кое-что предпринял:
1. Проверил тип выбираемого значения. Оказалось, "справочник". Думал, здесь собака.
Поправил обработку, теперь он "строка". Но результат тот же :D .
Причем, проверяю на "пустое значение" - сообщения об этом не появляется.
Приложил работающий кусок обработки (надо расширение поменять на .ert), может кто ткнет меня, тупыря, носом.
 

Вложения

  • Отчет_по_премиям.txt
    33,5 КБ · Просмотры: 193
V

vbs

СписРаб.ДобавитьЗначение(СпрРаб.ТекущийЭлемент());
 
L

lsnbox

vbs,
Спасибо за ответ. Я сделал так:
СписРаб.ДобавитьЗначение(СпрРаб.ТекущийЭлемент().Наименование);
Однако, дело было не в этом.
Просто при использовании "Сообщить(Сч+", "+ВыбрРаб)" - сообщаемое значение приводится к числу, т.к. первый аргумент - число. Нужно было:
Сообщить(""+Сч+", "+ВыбрРаб); Тогда все нормально видно и правильно выбирается.
Недостаток опыта мой :D
С уважением
Тему можно закрывать.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!