powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Поиск строки в табличной части 1С 8.3
9 сообщений из 9, страница 1 из 1
Поиск строки в табличной части 1С 8.3
    #39153331
Draginsv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я учусь.
Задал себе простую задачку найти в длинной табличной части документа строку с нужной номенклатурой
Для эксперимента создал в форме дополнительный реквизит типа справочникссылка.номенклатура, перетащил его на форму и создал обработчик приизменении, теперь пробую танцевать
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
&НаКлиенте
Процедура НоменклатураПриИзменении(Элемент)
	
	ПараметрыПоиска = Новый Структура("Номенклатура", Элементы.Номенклатура);
	НужнаяСтрока =  Объект.Товары.НайтиСтроки(ПараметрыПоиска );
	Элементы.Товары.ТекущаяСтрока = НужнаяСтрока;
	
КонецПроцедуры


Реакции никакой после выбора номенклатуры в полеввода
...
Рейтинг: 0 / 0
Поиск строки в табличной части 1С 8.3
    #39153400
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Draginsv, старайтесь чаще заглядывать в синтаксис помощник кода учитесь. Посмотрите в нем что возвращает метод "НайтиСтроки", что такое "ТекущаяСтрока" для табличной части в форме, что такое идентификатор строки, ну и просто подумайте какую строку вы хотите увидеть если у вас несколько одинаковых номенклатур в табличной части.
...
Рейтинг: 0 / 0
Поиск строки в табличной части 1С 8.3
    #39153404
Draginsv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понял, надо смотреть теорию соотношения между реквизитом и табличным полем.
В акцесе проще: клонировал рекорсет, в клоне нашел что искал, присвоил указатель записи клона указателю записи источника и все позиционируется. Была бы хоть какая нибудь аналогия, но нет. Все по новой с нуля.
...
Рейтинг: 0 / 0
Поиск строки в табличной части 1С 8.3
    #39153407
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Draginsv,Была бы хоть какая нибудь аналогия, но нет. По мне так везде одно и то же
...
Рейтинг: 0 / 0
Поиск строки в табличной части 1С 8.3
    #39153440
Draginsv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
методом теста добился

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
	ПараметрыОтбора = Новый Структура("Номенклатура", Номенклатура);
	СтрокиТЧ =  Объект.Товары.НайтиСтроки(ПараметрыОтбора);
	Если СтрокиТЧ.Количество()=0 тогда
		Номенклатура = Неопределено;
		Возврат;
	КонецЕсли;
	Элементы.Товары.ТекущаяСтрока = СтрокиТЧ[0].НомерСтроки-1;


мне кажется это не правильно.
...
Рейтинг: 0 / 0
Поиск строки в табличной части 1С 8.3
    #39153450
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТекущаяСтрока это не номер строки.

Откройте синтаксис.
...
Рейтинг: 0 / 0
Поиск строки в табличной части 1С 8.3
    #39158312
Draginsv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с,

Разобрался "Идентификатор - НайтиПоИдетификатору". В принципе в документе не должно быть двойных позиций иначе регистр закричит о неуникальности строк например регистратор-номенклатура. А так нашел интересный вариант где если много строк должно быть найдено, то это решается с помощью условного оформления.
...
Рейтинг: 0 / 0
Поиск строки в табличной части 1С 8.3
    #39158638
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DraginsvПрограммист 1с,

Разобрался "Идентификатор - НайтиПоИдетификатору". В принципе в документе не должно быть двойных позиций иначе регистр закричит о неуникальности строк например регистратор-номенклатура. А так нашел интересный вариант где если много строк должно быть найдено, то это решается с помощью условного оформления.создайте 10 строк. Удалить парочку в середине и потом добавьте парочку в конце. Номер строки будет выдавать ошибки. А идентификатор нет.
...
Рейтинг: 0 / 0
Поиск строки в табличной части 1С 8.3
    #39330091
ShinR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1сDraginsvПрограммист 1с,

Разобрался "Идентификатор - НайтиПоИдетификатору". В принципе в документе не должно быть двойных позиций иначе регистр закричит о неуникальности строк например регистратор-номенклатура. А так нашел интересный вариант где если много строк должно быть найдено, то это решается с помощью условного оформления.создайте 10 строк. Удалить парочку в середине и потом добавьте парочку в конце. Номер строки будет выдавать ошибки. А идентификатор нет.


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

Draginsv, Программист 1С правильно Вам пишет и ваш код всего лишь немного в этом плане поменяется:

Код: c#
1.
2.
3.
4.
5.
6.
7.
ПараметрыОтбора = Новый Структура("Номенклатура", Номенклатура);
	СтрокиТЧ =  Объект.Товары.НайтиСтроки(ПараметрыОтбора);
	Если СтрокиТЧ.Количество()=0 тогда
		Номенклатура = Неопределено;
		Возврат;
	КонецЕсли;
	Элементы.Товары.ТекущаяСтрока = СтрокиТЧ[0].ПолучитьИдентификатор();
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Поиск строки в табличной части 1С 8.3
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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