Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 10:44

Автоматическое заполнение реквизитов из справочника в документ

Автор KATERINA 861, 14 мая 2021, 03:01

0 Пользователей и 1 гость просматривают эту тему.

SERG30RUS

LexaK, уже каша в голове )) последний вид кода такой

&НаКлиенте
Процедура ПереченьНоменклатурыНоменклатураПриИзменении(Элемент)
СтрокаТЧ = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
СтрокаТЧ.Цена = ПолучитьРеквизитыОбъекта(СтрокаТЧ.Номенклатура,);                                           
РеквизитыОбъекта = ПолучитьРеквизитыОбъекта(СтрокаТЧ.Номенклатура,Новый Структура("Цена",ЭлементНоменклатуры));
СтрокаТЧ.Цена = РеквизитыОбъекта.Цена;
                                    

КонецПроцедуры
 
&НаСервереБезКонтекста
Функция ПолучитьРеквизит(Ссылка, Цена)
    Возврат Ссылка[Цена];
КонецФункции

&НаСервереБезКонтекста
Функция ПолучитьРеквизитыОбъекта(Объект, знач Реквизиты);
   ЗаполнитьЗначенияСвойст(Реквизиты,Объект);
   Возврат Реквизиты;
КонецФункции

ругается на :
{Документ.ВыписатьСчет.Форма.ФормаДокумента.Форма(29,4)}: Процедура или функция с указанным именем не определена (ЗаполнитьЗначенияСвойст)
   <<?>>ЗаполнитьЗначенияСвойст(Реквизиты,Объект); (Проверка: Сервер)
{Документ.ВыписатьСчет.Форма.ФормаДокумента.Форма(16,90)}: Переменная не определена (ЭлементНоменклатуры)
РеквизитыОбъекта = ПолучитьРеквизитыОбъекта(СтрокаТЧ.Номенклатура,Новый Структура("Цена",<<?>>ЭлементНоменклатуры)); (Проверка: Тонкий клиент)

LexaK

ну опечатка! что же вы с элементарным преткновением справиться не можете (САМОСТОЯТЕЛЬНО)
должно быть так
ЗаполнитьЗначенияСвойств 
если помогло нажмите: Спасибо!

Kvark5d

SERG30RUS,
&НаКлиенте
Процедура ПереченьНоменклатурыНоменклатураПриИзменении(Элемент)
СтрокаТЧ = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
НужныеРеквизиты = Новый Структура ("Цена,ЕдиницаИзмерения"); // перечислить нужные названия реквизитов
РеквизитыОбъекта = ПолучитьРеквизитыОбъекта(СтрокаТЧ.Номенклатура,НужныеРеквизиты));
СтрокаТЧ.Цена = РеквизитыОбъекта.Цена;
СтрокаТЧ.ЕдиницаИзмерения=РеквизитыОбъекта.ЕдиницаИзмерения;                                   

КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьРеквизитыОбъекта(Объект, знач Реквизиты);
   ЗаполнитьЗначенияСвойстВ(Реквизиты,Объект);
   Возврат Реквизиты;
КонецФункции   

SERG30RUS

Kvark5d, благодарю...Kvark5d, заранее прошу прощения...я только учусь на практике и голова и глаза еще не настроились на 1С.
 
&НаКлиенте
Процедура ПереченьНоменклатурыНоменклатураПриИзменении(Элемент)
  СтрокаТЧ = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
  НужныеРеквизиты = Новый Структура ("Цена"); // перечислить нужные названия реквизитов
  РеквизитыОбъекта = ПолучитьРеквизитыОбъекта(СтрокаТЧ.Номенклатура,Цена);
  СтрокаТЧ.Цена = РеквизитыОбъекта.Цена;                           
КонецПроцедуры
 
&НаСервереБезКонтекста
Функция ПолучитьРеквизитыОбъекта(Объект, знач Реквизиты);
   ЗаполнитьЗначенияСвойстВ(Реквизиты,Объект);
   Возврат Реквизиты;
КонецФункции   

ругается на {Документ.ВыписатьСчет.Форма.ФормаДокумента.Форма(37,69)}: Переменная не определена (Цена)
  РеквизитыОбъекта = ПолучитьРеквизитыОбъекта(СтрокаТЧ.Номенклатура,<<?>>Цена); (Проверка: Тонкий клиент)


Kvark5d

SERG30RUS, внимательнее
все нужные реквизиты перечислены в переменной НужныеРеквизиты.
поэтому НЕ
РеквизитыОбъекта = ПолучитьРеквизитыОбъекта(СтрокаТЧ.Номенклатура,Цена);
а как было написано:
РеквизитыОбъекта = ПолучитьРеквизитыОбъекта(СтрокаТЧ.Номенклатура,НужныеРеквизиты));

SERG30RUS


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск