Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не присваивается значение реквизиту табличной части
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
Stiff
Не присваивается значение реквизиту табличной части Штрихкод, хотя значение возвращается.Не пойму в чем проблема. Присваивается только в том случае, если явно задать номенклатуру (не через параметр). Работает только если параметр строковый тип, а не ссылочный.
(Штрихкод-тип строка,Номенклатура-тип спр.номенклатура.)
&НаСервере
Функция ПолучитьНоменклатуруПоШтрихкоду (Номенклатура);
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    Номенклатура.Штрихкод
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура
                   |ГДЕ
                   |    Номенклатура.Наименование = &Номенклатура";
    Запрос.УстановитьПараметр("Номенклатура",Номенклатура);        
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
    
        
        Штрихкод = Выборка.Штрихкод;
        
    КонецЦикла;

    Возврат Штрихкод;
    
    
    
КонецФункции


&НаКлиенте
Процедура МатериалыНоменклатураПриИзменении(Элемент)
    
    МассивШтрихкод=ПолучитьНоменклатуруПоШтрихкоду(Элементы.Материалы.ТекущиеДанные.Номенклатура);

    СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;
    СтрокаТабличнойЧасти.Штрихкод = МассивШтрихкод;
    
    
    
КонецПроцедуры
logist
Вы же из ТЧ передаете в параметр ссылку, то какого лешего искать ее в наименовании??
                   |ГДЕ
                   |    Номенклатура.Ссылка = &Номенклатура";

Stiff
Блин...точно.туплю.Видимо надо отдохнуть..напрограммировался.Спасибо большое!
Stiff
Еще небольшое дополнение. Как можно в этой же процедуре ПриИзменении присвоить значение кроме того что я писал еще одно, которое вызывается с другой функции. Потому что я вызываю и оно выполняется по очереди, т.е нужно 2 раза выполнить событие ПриИзменении.
logist
Цитата(Stiff @ 17.06.12, 15:18) необходимо зарегистрироваться для просмотра ссылки
Видимо надо отдохнуть..

Простите, но после сообщения #4 Вам надо не отдыхать а читать литературу.

Цитата(Stiff @ 17.06.12, 16:44) необходимо зарегистрироваться для просмотра ссылки
которое вызывается с другой функции.

Так же как присвоили первое так же присваиваете и второе, третье и десятое.

Цитата(Stiff @ 17.06.12, 16:44) необходимо зарегистрироваться для просмотра ссылки
т.е нужно 2 раза выполнить событие ПриИзменении.

Вообще не понятно... что значит два раза выполнить? Читайте книжки и учитесь правильно ставить вопросы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.