Здравствуйте. Мне нужно сделать так, что бы в Документе при изменении Элемента ВидЦены изменялась Цена в табличной части документа, которая берется из регистра сведений.
В общем модуле я прописал:
Функция ВидЦены(ВидЦены,ЭлементТМЦ) Экспорт
Отбор = Новый Структура("ВидЦены",ЭлементТМЦ);
ЗначенияРесурсов = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ЭлементТМЦ,Отбор);
Возврат ЗначенияРесурсов.Цена;
КонецФункции
&НаКлиенте
Процедура ВидЦеныПриИзменении(Элемент)
Для каждого СтрокаТабличнойЧасти Из Объект.ПереченьТМЦ Цикл
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками2.ВидЦены(Объект.ВидЦены, СтрокаТабличнойЧасти.ТМЦ);
РаботаСДокументами.РасчитатьСумму(СтрокаТабличнойЧасти);
КонецЦикла;
КонецПроцедуры
РегистрСведенийМенеджер.<Имя регистра сведений>.ПолучитьПоследнее (InformationRegisterManager.<Имя регистра сведений>.GetLast)
РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>)
ПолучитьПоследнее (GetLast)
Синтаксис:
ПолучитьПоследнее(<КонецПериода>, <Отбор>)
Параметры:
<КонецПериода> (необязательный)
Тип: Дата; МоментВремени; Граница.
Определяет момент времени, по который необходимо получить значения ресурсов. Может задаваться значениями типа Дата, МоментВремени или Граница. Если параметр не указан, то будут возвращены значения ресурсов самой последней записи регистра.
<Отбор> (необязательный)
Тип: Структура.
Структура, содержащая отбор по измерениям регистра. Имя ключа структуры должно совпадать с именем измерения регистра, заданного в конфигураторе, а значение элемента структуры - задает отбираемое по данному измерению значение.
Структура дополнительно может иметь элементы, соответствующие разделителям регистра с уровнем разделения НезависимоИСовместно, в состав которых входит регистр. Если такой элемент структуры задан для используемого в сеансе разделителя, значение для этого элемента должно совпадать со значением разделителя, иначе будет вызвано исключение.
Если параметр не указан, то отбор не используется.
Возвращаемое значение:
Тип: Структура.
Возвращает структуру, содержащую значения ресурсов.
Описание:
Получает значения ресурсов наиболее поздней записи регистра, соответствующей указанным периоду и значениям измерений регистра.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Применим только для периодических регистров сведений.
Пример:
Доллары = Справочники.Валюты.НайтиПоНаименованию("USD");
Отбор = Новый Структура;
Отбор.Вставить("Валюта", Доллары);
Курсы = РегистрыСведений.КурсыВалют;
ТекКурс = Курсы.ПолучитьПоследнее(ТекущаяДата(), Отбор);
Сообщить("Текущий курс доллара: " + ТекКурс.Курс + " руб.");
То есть в
ЗначенияРесурсов = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ЭлементТМЦ,Отбор);
ЗначенияРесурсов = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(),Отбор)
Отбор тоже неправильный.
Отбор = Новый Структура;
Отбор.Вставить("ВидЦены", тутВидЦены);
Отбор.Вставить("Номенклатура", тутНоенклатура);
Извиняюсь, я просто практикуюсь по Радченко и взял пример оттуда.
Сейчас общий модуль выглядит так:
Функция ВидЦены(ВидЦены,ТМЦ) Экспорт
Отбор = Новый Структура;
Отбор.Вставить("ВидЦены",ВидЦены);
Отбор.Вставить("ТМЦ",ТМЦ);
ЗначенияРесурсов = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(),Отбор);
Возврат ЗначенияРесурсов.Цена;
КонецФункции
Для каждого СтрокаТабличнойЧасти Из Объект.ПереченьТМЦ Цикл
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками2.ВидЦены(Объект.Дата, СтрокаТабличнойЧасти.ТМЦ);
РаботаСДокументами.РасчитатьСумму(СтрокаТабличнойЧасти);
КонецЦикла;
КонецПроцедуры
Какая конфигурация?
1С:Предприятие 8.2, учебная версия (8.2.17.169)
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками2.ВидЦены(Объект.Дата, СтрокаТабличнойЧасти.ТМЦ);
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками2.ВидЦены(Объект.ВидЦены, СтрокаТабличнойЧасти.ТМЦ);
Все, справился.
Нужно было сделать так:
Общий модуль -
Функция ВидЦены(ВидЦены,ТМЦ) Экспорт
Отбор = Новый Структура;
Отбор.Вставить("ВидЦены",ВидЦены);
Отбор.Вставить("ТМЦ",ТМЦ);
ЗначенияРесурсов = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(),Отбор);
Возврат ЗначенияРесурсов.Цена;
КонецФункции
&НаКлиенте
Процедура ВидЦеныПриИзменении(Элемент)
Для каждого СтрокаТабличнойЧасти Из Объект.ПереченьТМЦ Цикл
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками2.ВидЦены(Объект.ВидЦены, СтрокаТабличнойЧасти.ТМЦ);
РаботаСДокументами.РасчитатьСумму(СтрокаТабличнойЧасти);
КонецЦикла;
КонецПроцедуры
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua