powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / помогите новичку. Удаление помеченных значений в списке значений
25 сообщений из 25, страница 1 из 1
помогите новичку. Удаление помеченных значений в списке значений
    #36534406
maxfaq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
списзнач=создатьобъект("списокзначений");
спрсотр=создатьобъект("справочник.сотрудники");
спрсотр.выбратьэлементы();
пока спрсотр.получитьэлемент()=1 цикл
списзнач.добавитьзначение(спрсотр.наименование);
конеццикла;
списзнач.выгрузить(списоксотрудников);//// передали в список значений инфу со справочника


процедура удалить()
для н=1 по списоксотрудников.размерсписка() цикл
если списоксотрудников.пометка(н)=1 тогда
списоксотрудников.удалитьзначение(н);
конецесли;
конеццикла;
конецпроцедуры
удаляет не все значения. выдает следующую ошибку
если списоксотрудников.пометка(н)=1 тогда
{D:\DOCUMENTS AND SETTINGS\ADMIN\МОИ ДОКУМЕНТЫ\INFOBASE1\EXTFORMS\РАБОТА СО СПИСКОМ ЗНАЧЕНИЙ.ERT(72)}: Индекс не входит в границы списка значений.


помогите, что в цикле не так. Заранее спасибо.
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534448
Нет реги
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0) элемента."
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534456
maxfaq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет реги,

я прочитал, по поводу формата удальтьзапись(с какой, количенство удаляемых) но не совсем понял, можно ли поподробнее ,как осущиствить удаление, что и как изменить. Подскажите пожалуйста
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534475
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxfaqНет реги,

я прочитал, по поводу формата удальтьзапись(с какой, количенство удаляемых) но не совсем понял, можно ли поподробнее ,как осущиствить удаление, что и как изменить. Подскажите пожалуйста

Ты последовательно уменьшаешь список методом списоксотрудников.удалитьзначение(н), а количество итераций в цикле у тебя равно первоначальному списоксотрудников.размерсписка().

Поэтому не удаляй значения из списка, а заполняй по новой.
_списСотрудников = СоздатьОбъект("СписокЗначений");
Если списоксотрудников.пометка(н)=1 Тогда
_списСотрудников.ДобавитьЗначение(списоксотрудников.ПолучитьЗначение(н));
КонецЕсли;
_списСотрудников.Выгрузить(списСотрудников);
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534553
maxfaq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vitkhv,
тоесть мы помещаем всех помеченных в новый список?
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534569
maxfaq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vitkhv,

опять ругается.причем так же
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534609
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxfaqvitkhv,

опять ругается.причем так же


Так ругается?

_списСотрудников = СоздатьОбъект("СписокЗначений");
Для н=1 по списоксотрудников.размерсписка() цикл
Если списоксотрудников.пометка(н)=1 Тогда
_списСотрудников.ДобавитьЗначение(списоксотрудников.ПолучитьЗначение(н));
КонецЕсли;
Конеццикла;
_списСотрудников.Выгрузить(списСотрудников);
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534651
maxfaq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vitkhv,

если так то первый раз нормально, а когда еще раз выделяешь и опять запускаешь функцию то он делает обратное , тоесть оставляет только помеченных
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534667
rigus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
процедура удалить()
н=списоксотрудников.размерсписка()
Пока н>=1 цикл
если списоксотрудников.пометка(н)=1 тогда
списоксотрудников.удалитьзначение(н);
конецесли;
н=н-1;
конеццикла;
конецпроцедуры
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534695
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxfaqvitkhv,

если так то первый раз нормально, а когда еще раз выделяешь и опять запускаешь функцию то он делает обратное , тоесть оставляет только помеченных

Ну елки зеленые, тебе принцип объяснили - дальше уже сам думай.

Можеш делать как показал rigus.
Только запомни в данном конкрентном случае удалять значения из списка может и оправданно, но в случае когда список очень большой, время на перииндексацию списка при удалении из него значений будет выше чем заполнение списка по новой, это касается и таблиц значений.
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534713
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я если много значений то лучше таблицу с колонкой признака удаления а потом сортировать и выгрузить диапазон в итоговую
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534714
Нет реги
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую намекнуть еще раз: "Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс ( нумерация с 0 ) элемента."
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534742
maxfaq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rigus,
так же, при первом обращении работает при втором , делает наоборот, оставляет отмеченное,остальные удаляет
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534746
maxfaq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет реги,

))можно ли поточне)
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534792
Нет реги
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для н=1 по списоксотрудников.размерсписка() цикл и нумерация с 0 не наводит на мысли?
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534795
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет региПопробую намекнуть еще раз: "Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс ( нумерация с 0 ) элемента."

речь о 7ке

maxfaq, для начала
н=н-1;

вообще то если удаляешь элемент списка а у тебя оно постянно инкриментируется вне зависимости от того удали или инет
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534800
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
декрементируется прошу прощения
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534875
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxfaq, вот тебе правильный алгоритм: (надо было заменить 1 на 0 и было б тебе счастье.)

_списСотрудников = СоздатьОбъект("СписокЗначений");
Для н=1 по списоксотрудников.размерсписка() цикл
Если списоксотрудников.пометка(н)=0 Тогда
_списСотрудников.ДобавитьЗначение(списоксотрудников.ПолучитьЗначение(н));
КонецЕсли;
Конеццикла;
_списСотрудников.Выгрузить(списоксотрудников);
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534884
maxfaq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vitkhv,

я это сразу сделал))
но второй раз когда обращаешься к процедуре оно делает наоборот из осавшенгося списка убирает все кроме помеченного
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534892
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxfaqvitkhv,

я это сразу сделал))
но второй раз когда обращаешься к процедуре оно делает наоборот из осавшенгося списка убирает все кроме помеченного

можешь выложить ВЕСЬ текст... или вообще обработку прикрепить а то по фрагментам с кучей ощибок весело судить
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534903
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxfaqvitkhv,

я это сразу сделал))
но второй раз когда обращаешься к процедуре оно делает наоборот из осавшенгося списка убирает все кроме помеченного

Я вот для тебя даже тебе обработку написал..... во вложении......
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534960
maxfaq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1Cmen,

списзнач=создатьобъект("списокзначений");
спрсотр=создатьобъект("справочник.сотрудники");
спрсотр.выбратьэлементы();
пока спрсотр.получитьэлемент()=1 цикл
списзнач.добавитьзначение(спрсотр.наименование);
конеццикла;
списзнач.выгрузить(списоксотрудников);
процедура удалить()
_списСотрудников = СоздатьОбъект("СписокЗначений");
Для н=1 по списоксотрудников.размерсписка() цикл
Если списоксотрудников.пометка(н)=1 Тогда
_списСотрудников.ДобавитьЗначение(списоксотрудников.ПолучитьЗначение(н));
КонецЕсли;
Конеццикла;
_списСотрудников.Выгрузить(списокСотрудников);
конецпроцедуры
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534975
maxfaq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vitkhv,

я лошара) прости, я не сохранил тогда изменение условия если ))
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534984
maxfaq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо уловил разницу, я и по началу насчет етой строки засомневался,потому как ошубку давало на втором удаляемлом элементе , но я думал кфункция подсчета кол-ва элементов будет индексировать, ошибся. БОЛЬШОЕ СПАСИБО. кстати и за использования второго списка с записью в него необходимых элементов ет тоже интерестно)
...
Рейтинг: 0 / 0
помогите новичку. Удаление помеченных значений в списке значений
    #36534991
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и... после первого раза у тебя заново формируется тот список что на форме но без пометок уже и соответственно при повторном нажатии кнопки "удалить" одаляется уже весь список т.к. там нет ни одного отмеченного элемента

если хочешь чтоб галочки автоматом проставлялись у тех что не надо удалить то после

_списСотрудников.ДобавитьЗначение(списоксотрудников.ПолучитьЗначение(н));
надо еще и пометку добавляемому элементу присвоить
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / помогите новичку. Удаление помеченных значений в списке значений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]