Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 6, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )

> Учетная цена при проведении          
Астахов Подменю пользователя
сообщение 08.03.15, 12:52
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 27
Спасибо сказали: 0 раз
Рейтинг: 0

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

&НаСервере
Функция ПолучитьУчЦену(тмц,дата,склад)
    Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
    |    ТМЦОстатки.ТМЦ,
    |    ТМЦОстатки.Склад,
    |    ТМЦОстатки.КоличествоОстаток,
    |    ТМЦОстатки.СуммаОстаток
    |ИЗ
    |    РегистрНакопления.ТМЦ.Остатки(
    |            &Дата,
    |            Склад = &Склад
    |                И ТМЦ = &ТМЦ) КАК ТМЦОстатки";    
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("ТМЦ", ТМЦ);
    Запрос.УстановитьПараметр("Склад",Склад);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Выборка = РезультатЗапроса.Выбрать();
    
    Если Выборка.Следующий() Тогда
        УчЦена = Выборка.СуммаОстаток/Выборка.КоличествоОстаток;
        Возврат    УчЦена;
    КонецЕсли;    
КонецФункции

Кто может подсказать как это сделать при проведении расходной накладной?

Астахов Подменю пользователя
сообщение 09.03.15, 17:29
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 27
Спасибо сказали: 0 раз
Рейтинг: 0

Правильный ответ
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    СуммаСНДС=Расход.Итог("СуммаСНДС");
    Для каждого ТекСтрокаРасход из Расход цикл
        ТекСтрокаРасход.УчЦена = ПолучитьУчЦену(ТекСтрокаРасход.ТМЦ,Дата,Склад);
        ТекСтрокаРасход.УчСумма = ТекСтрокаРасход.УчЦена * ТекСтрокаРасход.Количество;
    КонецЦикла;    
КонецПроцедуры

Функция ПолучитьУчЦену(тмц,дата,склад)
    Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
    |    ТМЦОстатки.ТМЦ,
    |    ТМЦОстатки.Склад,
    |    ТМЦОстатки.КоличествоОстаток,
    |    ТМЦОстатки.СуммаОстаток
    |ИЗ
    |    РегистрНакопления.ТМЦ.Остатки(
    |            &Дата,
    |            Склад = &Склад
    |                И ТМЦ = &ТМЦ) КАК ТМЦОстатки";    
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("ТМЦ", ТМЦ);
    Запрос.УстановитьПараметр("Склад",Склад);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Выборка = РезультатЗапроса.Выбрать();
    
    Если Выборка.Следующий() Тогда
        УчЦена = Выборка.СуммаОстаток/Выборка.КоличествоОстаток;
        Возврат    УчЦена;
    КонецЕсли;    
КонецФункции

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 14.10.19, 10:54
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!