Можно ли при получении цен из регистра сведений учитывать количество у последней покупки и...
... и если количество например 2, то делить цену на это количество, что бы в документ подтягивалась правильная цена.
Предыстория: у меня есть конфигурация домашняя бухгалтерия, в ней я решил сохранять цены купленных товаров, что бы потом можно было смотреть сколько стоил товар когда-то. Написав функцию и поправив авто заполнение цены из регистра пришёл к такой ситуации, что в введённых мною данных товары приобретаются в количестве не одной штуки и цена получается в регистре некорректная...
Вот функция (она в общем модуле):
И вот изменение цены:
Я начинающий и пока только тренируюсь, спасибо за ответы.
Предыстория: у меня есть конфигурация домашняя бухгалтерия, в ней я решил сохранять цены купленных товаров, что бы потом можно было смотреть сколько стоил товар когда-то. Написав функцию и поправив авто заполнение цены из регистра пришёл к такой ситуации, что в введённых мною данных товары приобретаются в количестве не одной штуки и цена получается в регистре некорректная...
Вот функция (она в общем модуле):
Функция Цена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт
Отбор = Новый Структура ("Покупка", ЭлементНоменклатуры);
ЗначениеРесурса = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначениеРесурса.Цена;
КонецФункции
ПоказатьИ вот изменение цены:
&НаКлиенте
Процедура ТабличнаяЧасть4ТоварПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.ТабличнаяЧасть4.ТекущиеДанные;
СтрокаТабличнойЧасти.Цена = ЦеныТоваров.Цена(Объект.Дата, СтрокаТабличнойЧасти.Товар);
КонецПроцедуры
Я начинающий и пока только тренируюсь, спасибо за ответы.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
у меня есть конфигурация домашняя бухгалтерия, в ней я решил сохранять цены купленных товаров, что бы потом можно было смотреть сколько стоил товар когда-то.
А что за структура регистра, такая как ниже?
дата - категория товара - наименование товара - количество- цена- сумма
Я так догадываюсь, что в регистре цен не хранится количество.
Для получения цены рекомендую использовать запрос, а не "РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор)".
В запросе так же подтягиваешь документ-регистратор, в котором находишь строчку с этой номенклатурой и полученную цену делишь на количество из документа-регистратора.
А по хорошему - надо переписать механизм записи в этот регистр. Туда должна попадать цена на единицу.
Для получения цены рекомендую использовать запрос, а не "РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор)".
В запросе так же подтягиваешь документ-регистратор, в котором находишь строчку с этой номенклатурой и полученную цену делишь на количество из документа-регистратора.
А по хорошему - надо переписать механизм записи в этот регистр. Туда должна попадать цена на единицу.
(11) Всем спасибо!
Всё работает!
Последний код рабочий. Не работало потому что у меня два документа и я проводил в одном, а результата ждал в другом!
* * *
Теперь другая штука!
Есть документы в которых строчка с товаром повторяется и у каждой стоит количество 1.
В регистр сведений Цены этот документ не пишется потому что ошибка из-за невозможности проведения повторок.
* * *
Как сделать так , может обработкой, что бы строки с одинаковым товаром схлопнуть и поставить им количество 2.
:)
Всё работает!
Последний код рабочий. Не работало потому что у меня два документа и я проводил в одном, а результата ждал в другом!
* * *
Теперь другая штука!
Есть документы в которых строчка с товаром повторяется и у каждой стоит количество 1.
В регистр сведений Цены этот документ не пишется потому что ошибка из-за невозможности проведения повторок.
* * *
Как сделать так , может обработкой, что бы строки с одинаковым товаром схлопнуть и поставить им количество 2.
:)
Табличная часть (Tabular section)
Свернуть (GroupBy)
Синтаксис:
Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>)
Пример:
Свернуть (GroupBy)
Синтаксис:
Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>)
Пример:
Процедура ПослеЗаписи()
Продукция.Свернуть("Номенклатура, ЕдиницаИзмерения, Цена", "Количество");
КонецПроцедуры
(14) Вы применяете метод свернуть() к таблице формы, а у него совершенно другой синтаксис. Применять надо к табличной части и именно на стороне сервера.
ТаблицаНомеровГТД = ТаблицаВидыЗапасов.Скопировать(, "АналитикаУчетаНоменклатуры, НомерГТД, Количество");
ТаблицаНомеровГТД.Свернуть("АналитикаУчетаНоменклатуры, НомерГТД", "Количество");
Как то так
ТаблицаНомеровГТД = ТаблицаВидыЗапасов.Скопировать(, "АналитикаУчетаНоменклатуры, НомерГТД, Количество");
ТаблицаНомеровГТД.Свернуть("АналитикаУчетаНоменклатуры, НомерГТД", "Количество");
Как то так
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот