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

Хранилище

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

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



> Вычисления в модуле печатной формы          
k.fasad2015 Подменю пользователя
сообщение 21.04.16, 9:17
Сообщение #1

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

Добрый день. Ситуация наверное стандартная, я сисадмин - требуют подправить 1С.

Нужно в модуле печатной формы счета провести вычисления - есть значения в строках: количество товара и сумма, надо поделить сумму на количество и получить цену, как это сделать?

Как получить значение ячейки количество? Я нашел цикл в котором нужно вычислять ПечЦена:

    Пока ПолучитьСтроку()=1 Цикл                
        Если Набор.Выбран()=1 Тогда
            Если ПустоеЗначение(ВСоставе)=1 Тогда
                Таб.ВывестиСекцию("ВСоставе");
                ВСоставе=Набор;
            ИначеЕсли ВСоставе<>Набор Тогда
                Таб.ВывестиСекцию("ВСоставе");
                ВСоставе=Набор;
            КонецЕсли;
        Иначе
            Если ПустоеЗначение(ВСоставе)=0 Тогда
                ВСоставе=0;
            КонецЕсли;
        КонецЕсли;      
        ПечЦена = глФРМ(глПересчет(ЦенаБезНДС,Валюта,Курс,ВП,ДатаДок),ВП,0); // старая строка  
        // старая строка - ПечСумма = глФРМ(глПересчет(СуммаБезСкидки,Валюта,Курс,ВП,ДатаДок),ВП,0);  
                           ПечСумма = глФРМ(глПересчет(СуммаСНДС,Валюта,Курс,ВП,ДатаДок),ВП,0);
                        
                            
        Таб.ВывестиСекцию("Строка");
        Ном = Ном+1;
    КонецЦикла;


Я уверен что это делается как-то элементарно, но тонкостей 1С я не знаю.

Sharzem Подменю пользователя
сообщение 21.04.16, 9:25
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

k.fasad2015 @ Сегодня, 9:17 *,
А где количество ?
Заскриньте лучше и выложите сам шаблон (таблицу) печ. формы.

Сообщение отредактировал Sharzem - 21.04.16, 9:28


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

k.fasad2015 Подменю пользователя
сообщение 21.04.16, 10:03
Сообщение #3

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

Sharzem @ Сегодня, 10:25 *,

Я не знаю, этот кусок кода из стандартного модуля счета, в этом же и вопрос как получить его значение?

Вот скрин


 ! 

Правила: 8
 


Сумма у меня есть, нужно взять количество, поделить на него сумму и получить цену.

Если писать вот так:

ПечЦена = ПечСумма/Формат(Количество,"Ч14.3");


или

ПечЦена = ПечСумма/Количество


В консоль пишет ошибку:

ПечЦена = ПечСумма/Формат(Количество,"Ч14.3");          
{Документ.Счет.Форма.Модуль(235)}: Операция деления не определена для строковых величин


Сообщение отредактировал logist - 21.04.16, 10:04

sava1 Подменю пользователя
сообщение 21.04.16, 10:11
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2691
Из: Проскуров
Спасибо сказали: 682 раз
Рейтинг: 661

Цена = Формат(?(Количество=0,0,Сумма/Количество),"ч14.3")

k.fasad2015 Подменю пользователя
сообщение 21.04.16, 10:50
Сообщение #5

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

sava1 @ Сегодня, 11:11 *,

Пробовал по разному ругается:

Цена = Формат(?(Количество=0,0,Сумма<<?>>/Количество),"ч14.3");          
{Документ.Счет.Форма.Модуль(235)}: Переменная не определена (Сумма)
ПечЦена = Формат(?(Количество=0,0,Сумма<<?>>/Количество),"ч14.3");          
{Документ.Счет.Форма.Модуль(236)}: Переменная не определена (Сумма)
<<?>>ПечЦена = Формат(?(Количество=0,0,Сумма/Количество),"ч14.3");          
{Документ.Счет.Форма.Модуль(237)}: Переменная не определена (ПечЦена)
<<?>>Цена = Формат(?(Количество=0,0,Сумма/Количество),"ч14.3");          
{Документ.Счет.Форма.Модуль(237)}: Переменная не определена (Цена)


Разобрался, вот так работает:

ПечЦена = глФРМ(глПересчет(СуммаСНДС,Валюта,Курс,ВП,ДатаДок)/Количество,ВП,0);


daveal Подменю пользователя
сообщение 21.04.16, 11:01
Сообщение #6

Говорящий
***
Группа: Пользователи
Сообщений: 70
Из: Киев
Спасибо сказали: 25 раз
Рейтинг: 0

ПечЦена = глФРМ(глПересчет(?(Количество=0,0,СуммаСНДС/Количество),Валюта,Курс,ВП,ДатаДок),ВП,0);

или
ПечЦена = глФРМ(глПересчет(?(Количество=0,0,СуммаБезНДС/Количество),Валюта,Курс,ВП,ДатаДок),ВП,0);


В зависимости от того какая цена нужна (с/без НДС)
Можно просто

ПечЦена = Формат(?(Количество=0,0,СуммаСНДС/Количество),"ч14.3");

Если не нужен пересчет валюты

Сообщение отредактировал Vofka - 21.04.16, 12:00
Причина редактирования: Выделяйте код

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


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

 

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