НайтиПоНаименованию
19.04.2004
16:13
#1
"Подскажите плиз в чем ошибка , не находит элемент по наименованию...комл 4.4<br><br><br><br>СпрНом=СоздатьОбъект("Справочник.Номенклатура");<br><br>СпрНом.ВыбратьЭлементы();<br><br>Если СпрНом.НайтиПоНаименованию(Строка(ТаблицаТоваров.Товар))=1 Тогда<br><br> Ном=СпрНом.ТекущийЭлемент();<br><br>КонецЕсли;<br><br><br><br>СпрЦ=СоздатьОбъект("Справочник.Цены");<br><br>СпрЦ.ИспользоватьВладельца(Ном);<br><br>СпрЦ.ИспользоватьДату(ТекущаяДата()); <br><br>СпрЦ.ВыбратьЭлементы();<br><br>Если СпрЦ.НайтиПоРеквизиту("ТипЦен","Розничные",0)=1 Тогда<br><br> ЦенаР=СпрЦ.Цена;<br><br>КонецЕсли;<br><br>Строка1 = "Цена: "+ Строка(ЦенаР) + " Руб.";<br><br><br><br>хотя в варианте через цикл работает.....<br><br><br><br>СпрНом=СоздатьОбъект("Справочник.Номенклатура");<br><br>СпрНом.ВыбратьЭлементы();<br><br>Пока СпрНом.ПолучитьЭлемент() = 1 Цикл<br><br> Если СпрНом.Наименование = ТаблицаТоваров.Товар Тогда<br><br> Ном=СпрНом.ТекущийЭлемент();<br><br> КонецЕсли;<br><br>КонецЦикла;<br><br>СпрЦ=СоздатьОбъект("Справочник.Цены");<br><br>СпрЦ.ИспользоватьВладельца(Ном);<br><br>СпрЦ.ИспользоватьДату(ТекущаяДата()); <br><br>СпрЦ.ВыбратьЭлементы();<br><br>Пока СпрЦ.ПолучитьЭлемент() =1 Цикл<br><br> Если Строка(СпрЦ.ТипЦен) = "Розничные" Тогда<br><br> ЦенаР=СпрЦ.Цена;<br><br> КонецЕсли;<br><br>КонецЦикла;<br><br>Строка1 = "Цена: "+ Строка(ЦенаР) + " Руб.";<br><br><br><br>"
19.04.2004
22:07
#2
В строке:<br><br>Если СпрНом.НайтиПоНаименованию(Строка(ТаблицаТоваров.Товар))=1 Тогда Если <br><br>Строка(ТаблицаТоваров.Товар)="<br><br>Замени<br><br><br><br>Если СпрНом.НайтиПоНаименованию(СокрЛП(Строка(ТаблицаТоваров.Товар.Наименование)))=1 Тогда <br><br>
20.04.2004
00:00
#3
что такое ТаблицеТоваров.Товар ? наименование товара ? возможно надо искать во всём справочнике: СпрНом.НайтиПоНаименованию(СОКРЛП(ТаблицаТоваров.Товар),0)<br><br><br><br>если в ТаблицеТоваров.Товар - ссылка на элемент справочника Номенклатура не проще ли использовать СпрНом.НайтиЭлемент(ТаблицаТоваров.Товар)
20.04.2004
11:47
#4
Спасибо, да верно не отрабатывал поиск во всем справочнике....<br><br>Если СпрНом.НайтиПоНаименованию(СокрЛП(ТаблицаТоваров.Товар),0)=1 Тогда<br><br>данная строка работает....Но все равно не находит Если СпрЦ.НайтиПоРеквизиту("ТипЦен","Розничные",0)=1 Тогда
20.04.2004
11:49
#5
Спасибо за помощь.....рабочая строка Если СпрНом.НайтиПоНаименованию(СокрЛП(Строка(ТаблицаТоваров.Товар.Наименование)),0)=1 Тогда
20.04.2004
12:27
#6
"Реквизит ТипЦен - это справочник, а Вы пытаетесь найти по строке.... т.е. сначала надо что то типа<br><br>СпрТипЦ = СоздатьОбъект("Справочник.ТипЦен");<br><br>СпрТипЦ.НайтиПоНаименованию("Розничные");<br><br>... а потом уже искать СпрЦ.НайтиПоРеквизиту("ТипЦен",СпрТипЦ.ТекущийЭлемент(),0)"
Читают тему
(гостей: 1)