НайтиПоНаименованию

Новая тема
"Подскажите плиз в чем ошибка , не находит элемент по наименованию...комл 4.4



СпрНом=СоздатьОбъект("Справочник.Номенклатура");

СпрНом.ВыбратьЭлементы();

Если СпрНом.НайтиПоНаименованию(Строка(ТаблицаТоваров.Товар))=1 Тогда

    Ном=СпрНом.ТекущийЭлемент();

КонецЕсли;



СпрЦ=СоздатьОбъект("Справочник.Цены");

СпрЦ.ИспользоватьВладельца(Ном);

СпрЦ.ИспользоватьДату(ТекущаяДата());

СпрЦ.ВыбратьЭлементы();

Если СпрЦ.НайтиПоРеквизиту("ТипЦен","Розничные",0)=1 Тогда

    ЦенаР=СпрЦ.Цена;

КонецЕсли;

Строка1 = "Цена: "+ Строка(ЦенаР) + " Руб.";



хотя в варианте через цикл работает.....



СпрНом=СоздатьОбъект("Справочник.Номенклатура");

СпрНом.ВыбратьЭлементы();

Пока СпрНом.ПолучитьЭлемент() = 1 Цикл

    Если СпрНом.Наименование = ТаблицаТоваров.Товар Тогда

 Ном=СпрНом.ТекущийЭлемент();

    КонецЕсли;

КонецЦикла;

СпрЦ=СоздатьОбъект("Справочник.Цены");

СпрЦ.ИспользоватьВладельца(Ном);

СпрЦ.ИспользоватьДату(ТекущаяДата());

СпрЦ.ВыбратьЭлементы();

Пока СпрЦ.ПолучитьЭлемент() =1 Цикл

    Если Строка(СпрЦ.ТипЦен) = "Розничные" Тогда

 ЦенаР=СпрЦ.Цена;

    КонецЕсли;

КонецЦикла;

Строка1 = "Цена: "+ Строка(ЦенаР) + " Руб.";



"
В строке:

Если СпрНом.НайтиПоНаименованию(Строка(ТаблицаТоваров.Товар))=1 Тогда Если

Строка(ТаблицаТоваров.Товар)="

Замени



Если СпрНом.НайтиПоНаименованию(СокрЛП(Строка(ТаблицаТоваров.Товар.Наименование)))=1 Тогда

что такое ТаблицеТоваров.Товар ? наименование товара ? возможно надо искать во всём справочнике: СпрНом.НайтиПоНаименованию(СОКРЛП(ТаблицаТоваров.Товар),0)



если в ТаблицеТоваров.Товар - ссылка на элемент справочника Номенклатура не проще ли использовать СпрНом.НайтиЭлемент(ТаблицаТоваров.Товар)
Спасибо, да верно не отрабатывал поиск во всем справочнике....

Если СпрНом.НайтиПоНаименованию(СокрЛП(ТаблицаТоваров.Товар),0)=1 Тогда

данная строка работает....Но все равно не находит Если СпрЦ.НайтиПоРеквизиту("ТипЦен","Розничные",0)=1 Тогда
Спасибо за помощь.....рабочая строка Если СпрНом.НайтиПоНаименованию(СокрЛП(Строка(ТаблицаТоваров.Товар.Наименование)),0)=1 Тогда
"Реквизит ТипЦен - это справочник, а Вы пытаетесь найти по строке.... т.е. сначала надо что то типа

СпрТипЦ = СоздатьОбъект("Справочник.ТипЦен");

СпрТипЦ.НайтиПоНаименованию("Розничные");

... а потом уже искать СпрЦ.НайтиПоРеквизиту("ТипЦен",СпрТипЦ.ТекущийЭлемент(),0)"
Спасибо..... все получилось :)
Читают тему
(гостей: 1)

Быстрый переход