Заполнение цены из справочника в документ
Здравствуйте, вопрос таков -
Есть расходная накладная, табличная часть которой содержит номенклатуру, количество, цену и сумму. Есть справочник номенклатуры, который содержит цену за одну единицу товара. Номенклатура в табличной части документа ссылается типом данных на этот справочник.
Мне нужно, при выборе элемента номенклатуры в табличной части расходной накладной, автоматически подставлялась цена на него из справочника
Есть расходная накладная, табличная часть которой содержит номенклатуру, количество, цену и сумму. Есть справочник номенклатуры, который содержит цену за одну единицу товара. Номенклатура в табличной части документа ссылается типом данных на этот справочник.
Мне нужно, при выборе элемента номенклатуры в табличной части расходной накладной, автоматически подставлялась цена на него из справочника
По теме из базы знаний
- [БП 3.0] Свертка БП 2.0 или БП 3.0 документами "Ввод начальных остатков" в БП 3.0 beta
- Заполнение цен номенклатуры. Бухгалтерия 3.0
- Заполнение таблицы товаров в документе по отрицательным остаткам в конфигурации 1С: Бухгалтерия
- Создание справочников "Номенклатура" и "Номенклатура поставщика" из внешнего файла, электронной таблицы с заполнением табличной части "Товары" документов закупки (ERP 2.4, 2.5, КА 2.4, 2.5, УТ 11)
- Изменение цен табличной части документов для КА 2, УТ 11, ERP 2
Найденные решения
(11)
И покажи структуру конфигурации справочника номенклатуры (продукции, товара или как он там называется). По аналогии как в (10)
Так попробуй =)
И покажи структуру конфигурации справочника номенклатуры (продукции, товара или как он там называется). По аналогии как в (10)
Так попробуй =)
&НаКлиенте
Процедура НоменклатураПродукцияПриИзменении(Элемент)
ТекДанные = Объект.Номенклатура.НайтиПоИдентификатору(Элементы.Номенклатура.ТекущаяСтрока);
Если ЗначениеЗаполнено(ТекДанные.Продукция) Тогда
ТекДанные.Цена=ПолучитьЦенуНаСервере(ТекДанные.Продукция);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьЦенуНаСервере(Продукция)
Возврат Продукция.Цена
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
Дело в том, что не зная ни конфигурации, ни даже вид формы, в которой должно происходить событие, как должен выглядеть этот код, никто другой так же не сможет сказать.
Максимум, чем смогут вам помочь - это общими советами. Но без базовых знаний синтаксиса эти советы будут совершенно бесполезны.
Я догадался, что нужно написать маленький запрос в обработчик события, но я не знаю, как он будет выглядеть на языке 1С
Дело в том, что не зная ни конфигурации, ни даже вид формы, в которой должно происходить событие, как должен выглядеть этот код, никто другой так же не сможет сказать.
Максимум, чем смогут вам помочь - это общими советами. Но без базовых знаний синтаксиса эти советы будут совершенно бесполезны.
(5)
Это если у вас цена и вправду в справочнике товаров хранится.
Хотя как правило, это происходит в отдельном регистре.
ТекДанные = Объект.Товары.НайтиПоИдентификатору(Элементы.Товары.ТекущаяСтрока);
Если ЗначениеЗаполнено(ТекДанные.Номенклатура) Тогда
ТекДанные.Цена = ТекДанные.Номенклатура.Цена;
КонецЕсли;
Это если у вас цена и вправду в справочнике товаров хранится.
Хотя как правило, это происходит в отдельном регистре.
(6)
Изменил в запросе Товары на Продукция, потому что мой справочник называется так, но получается ошибка
ТекДанные = Объект.Продукция.НайтиПоИдентификатору(Элементы.Продукция.ТекущаяСтрока);
Если ЗначениеЗаполнено(ТекДанные.Номенклатура) Тогда
ТекДанные.Цена = ТекДанные.Номенклатура.Цена;
КонецЕсли;
Изменил в запросе Товары на Продукция, потому что мой справочник называется так, но получается ошибка
Прикрепленные файлы:
(7)
&НаКлиенте
Процедура НоменклатураПродукцияПриИзменении(Элемент);
ТекущиеДанные=Элементы.Продукция.ТекущиеДанные;
ТекущиеДанные.Цена=ПолучитьЦенуНаСервере(ТекущиеДанные.Номенклатура);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьЦенуНаСервере(Номенклатура)
Возврат Номенклатура.Цена
КонецФункции
Показать
(7) Значит, всё-таки не "продукция" он называется.
Или таблицы из формы вообще нет в объекте.
Можно заменить на
ТекДанные = Элементы.Продукция.ТекущиеДанные;
В этом случае ссылка строки будет получена непосредственно с самой формы и в ней таблица "продукция" точно будет
Или таблицы из формы вообще нет в объекте.
Можно заменить на
ТекДанные = Элементы.Продукция.ТекущиеДанные;
В этом случае ссылка строки будет получена непосредственно с самой формы и в ней таблица "продукция" точно будет
(10) хех -)
Таблица называется "Номенклатура"
А реквизит товара "Продукция".
Т.о. должно быть
Ну, или как в (8)
Не помню точно, заберётся цена на клиенте или нет...
Таблица называется "Номенклатура"
А реквизит товара "Продукция".
Т.о. должно быть
ТекДанные = Объект.Номенклатура.НайтиПоИдентификатору(Элементы.Номенклатура.ТекущаяСтрока);
Если ЗначениеЗаполнено(ТекДанные.Продукция) Тогда
ТекДанные.Цена = ТекДанные.Продукция.Цена;
КонецЕсли;
Ну, или как в (8)
ТекущиеДанные.Цена=ПолучитьЦенуНаСервере(ТекДанные.Продукция);
&НаСервереБезКонтекста
Функция ПолучитьЦенуНаСервере(Продукция)
Возврат Продукция.Цена
КонецФункции
Не помню точно, заберётся цена на клиенте или нет...
(11)
И покажи структуру конфигурации справочника номенклатуры (продукции, товара или как он там называется). По аналогии как в (10)
Так попробуй =)
И покажи структуру конфигурации справочника номенклатуры (продукции, товара или как он там называется). По аналогии как в (10)
Так попробуй =)
&НаКлиенте
Процедура НоменклатураПродукцияПриИзменении(Элемент)
ТекДанные = Объект.Номенклатура.НайтиПоИдентификатору(Элементы.Номенклатура.ТекущаяСтрока);
Если ЗначениеЗаполнено(ТекДанные.Продукция) Тогда
ТекДанные.Цена=ПолучитьЦенуНаСервере(ТекДанные.Продукция);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьЦенуНаСервере(Продукция)
Возврат Продукция.Цена
КонецФункции
Показать
это учебная версия.
вы откуда делали движения в конфигурации ?
или по какому учебнику..
есть видео курс , там преподаватель просит создавать объекты
с таким же названием , что он , чтобы легче было искать ошибки
но находятся умники , чтобы не как у всех .
а если плохо знаешь теорию , то лучше делать , как говорят
вы учитесь или хотите научиться ?
откуда конфигурация и почему вам так захотелось сделать ?
вы откуда делали движения в конфигурации ?
или по какому учебнику..
есть видео курс , там преподаватель просит создавать объекты
с таким же названием , что он , чтобы легче было искать ошибки
но находятся умники , чтобы не как у всех .
а если плохо знаешь теорию , то лучше делать , как говорят
вы учитесь или хотите научиться ?
откуда конфигурация и почему вам так захотелось сделать ?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот