Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
30 Май 2017, 08:23
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Выделение заданного количества строк в списке.  (Прочитано 2162 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн redoks

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-24
  • Сайт: 
  • Профессия: Ученик 1С
    День добрый!
Сформировал журнал документов, на форум повесил поле для ввода числа - N и кнопку "выделить".
Нужно при нажатии на кнопку, выделить в списке документов N записей, начиная с той, на которой стоит курсор в текущий момент.

Как человек имеющий опыт в программировании понимаю что это легко делается.
Как человек не имеющий опыт работы с 1С, не представляю как это сделать.

Процедура ВыделитьПак(Команда)
НомерТекущейСтроки = Элементы.Список.ТекущаяСтрока
        ...?
КонецПроцедуры
:dfbsdfbsdf:


З.Ы.: так же можно посоветовать хороший ресурс со справочником функций и по работе с элементами, буду признателен.


Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
никак. Динамический список не индексируется. что находится в следующей строке узнать невозможно.

Оффлайн redoks

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-24
  • Сайт: 
  • Профессия: Ученик 1С
	НомерТекущейСтроки = Элементы.Список.ТекущаяСтрока;
КоличествоСтрок = Элементы.КоличествоСтрокВыбора;


Для каждого стр из  Элементы.Список.ТекущиеДанные Цикл

Если стр.ПометкаУдаления = ложь
Тогда
        Элементы.Список.ВыделенныеСтроки.Добавить(стр.НомерСтроки);
КонецЕсли;

Если Элементы.Список.ВыделенныеСтроки.Количество() = КоличествоСтрок
Тогда
Прервать;
КонецЕсли;

КонецЦикла;

А как прописать что с текущей позиции?

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Для каждого стр из  Элементы.Список.ТекущиеДанные Цикл
Это бессмыслица. Текущие данные - это данные строки, перебором не выполняется.

Оффлайн redoks

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-24
  • Сайт: 
  • Профессия: Ученик 1С
Для каждого стр из  Элементы.Список.ТекущиеДанные Цикл
Это бессмыслица. Текущие данные - это данные строки, перебором не выполняется.
тогда что вот это: Элементы.Список.ТекущаяСтрока?
Добавлено: 13 Апр 2016, 11:36

Ну и как тогда сделать?
Есть динамический список, нужно просто выделять по 100 записей, так же как бы я это делал бы мышкой с зажатой клавишей ctrl

Последний раз редактировалось: redoks; 13 Апр 2016, 11:36. Причина: Объединение сообщений

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
тогда что вот это: Элементы.Список.ТекущаяСтрока?

Для вашего уровня знаний текущая строка и текущие данные - это одно и тоже
Ну и как тогда сделать?

что в моем ответе
никак.
вам непонятно?

Оффлайн LexaK

  • *****
  • Сообщений: 1216
  • РЕПУТАЦИЯ: 333
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
"ширее" надо думать товариши ! :befhbt:
задачка показалась интересной, решил попробовать решить.
Конечно практического смысла особо не видно, так как все данные, в 1С принято получать запросами и др.механизмами 1С.
тем более что динамические списки и элементы формы связанные с ними не дают обычного доступа к данным.
можно конечно придумать практическое применение такой задачки
например: Есть журнал документов, пользователю необходимо из журнала, порциями (по 100 документов) выполнять с ними какие-то действия, например пакетная печать, и т.д.

ЕСТЬ РЕШЕНИЕ!!!

1С (под Виндами) отлично понимает посылку кнопок (SendKeys)

вот рабочий пример, отметки строк в журнале документов.

&НаКлиенте
Процедура КомандаВыделить(Команда)

Ws = Новый COMОбъект("Wscript.shell");
ЭтаФорма.ТекущийЭлемент = Элементы.Список;
Для лкИндекс=0 По КолОтм Цикл
Ws.SendKeys("+{DOWN}");
КонецЦикла;

КонецПроцедуры


 


Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
LexaK, а по времени сколько выполняется посылка ста нажатий?
не успеют в другое окно переключиться? )
"+"-это CTRL?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн LexaK

  • *****
  • Сообщений: 1216
  • РЕПУТАЦИЯ: 333
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
cska-fanat-kz, "+" - это шифт
у меня в тестовой базе 100 строчек отмечается около секунды
1000 - примерно 6 секунд,
да наверно большие объемы данных не оптимально так обрабатывать,
лучше использовать отборы в списке и кнопками - Стрл/А (выделить все)
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн redoks

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-02-24
  • Сайт: 
  • Профессия: Ученик 1С
лкИндекс - индекс текущей строки?

И где бы добротный справочник по методам и функциям для 1С найти.
Мне гугл ничего толкового не дал.


Теги:
 

(Копирование строк из ТЧ документа в ТЧ другого документа в Обычном приложении)

Автор GanG031Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 988
Последний ответ 25 Янв 2016, 19:01
от cska-fanat-kz
Рассчет НДФЛ в документе "Начисление зарплаты" при вводе строк вручную

Автор AzgerdРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 3059
Последний ответ 28 Янв 2013, 08:33
от Azgerd
Перенесено: Сбросить пользователей в "списке активных пользователей" 1С 8.1

Автор KlyacksaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 2491
Последний ответ 12 Май 2011, 21:37
от Klyacksa
как настроить реглам.отчетность, чтобы из расшифровок строк попадать в оборотно-сальдовые ведомости

Автор ВофисРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 1264
Последний ответ 06 Авг 2015, 09:36
от vitasw
Что значит пунктир в макетах? И как изменить ширину ячейки в одной строк?

Автор DirecTwiXРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 6014
Последний ответ 19 Апр 2012, 12:05
от evialen

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
89 Сообщений
wise wise
68 Сообщений
MuI_I_Ika MuI_I_Ika
51 Сообщений
alex0402
49 Сообщений
Dethmontt Dethmontt
48 Сообщений
Сергей Федоров Сергей Федоров
29 Сообщений
ilyay ilyay
28 Сообщений
ilnur75
25 Сообщений
Дмитрий Медведков Дмитрий Медведков
19 Сообщений
DmitriyF DmitriyF
17 Сообщений

* Кто онлайн

  • Точка Гостей: 551
  • Точка Скрытых: 0
  • Точка Пользователей: 11
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal