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


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

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


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

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

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

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

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


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

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

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


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