Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 14:06

Сумма Документа

Автор Вожак, 15 мар 2012, 15:55

0 Пользователей и 1 гость просматривают эту тему.

Вожак

Почему не работает код? пишет при запуске 1ски:

{Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(12,2)}: Недостаточно фактических параметров (РассчитатьСумму)
   <<?>>РассчитатьСумму();
{Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(16,2)}: Недостаточно фактических параметров (РассчитатьСумму)
   <<?>>РассчитатьСумму();

Вот Код:

   Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт
    СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
КонецПроцедуры







Процедура ТоварыЦенаПриИзменении(Элемент)
   РассчитатьСумму();
КонецПроцедуры

Процедура ТоварыКоличествоПриИзменении(Элемент)
   РассчитатьСумму();
КонецПроцедуры


cska-fanat-kz

Читать умеете?

НЕ ДО СТА ТОЧ НО   ФАК ТИ ЧЕС КИХ   ПА РА МЕТ РОВ!!!

У вашей процедуры есть параметр СтрокаТабличнойЧасти.
А при вызове вы его не задаете...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Вожак

Цитата: cska-fanat-kz от 15 мар 2012, 16:07
Читать умеете?

НЕ ДО СТА ТОЧ НО   ФАК ТИ ЧЕС КИХ   ПА РА МЕТ РОВ!!!

У вашей процедуры есть параметр СтрокаТабличнойЧасти.
А при вызове вы его не задаете...

Я передавал значение параметра как СтрокаТабличнойЧасти, он мне выдает ошибку, что переменная не определена

Вожак

Цитата: Вожак от 15 мар 2012, 16:09
Цитата: cska-fanat-kz от 15 мар 2012, 16:07
Читать умеете?

НЕ ДО СТА ТОЧ НО   ФАК ТИ ЧЕС КИХ   ПА РА МЕТ РОВ!!!

У вашей процедуры есть параметр СтрокаТабличнойЧасти.
А при вызове вы его не задаете...

Я передавал значение параметра как СтрокаТабличнойЧасти, он мне выдает ошибку, что переменная не определена
{Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(16,18)}: Переменная не определена (СтрокаТабличнойЧасти)
   РассчитатьСумму(<<?>>СтрокаТабличнойЧасти);
{Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(20,18)}: Переменная не определена (СтрокаТабличнойЧасти)
   РассчитатьСумму(<<?>>СтрокаТабличнойЧасти);


Вожак

можно сделать через Итого, но все равно получается ни как мне нужно. В хелпере написано что для подсчета общего итога используют такую команду, но она не помогает, она не дает изменить значения в выбранной строке, дает поставить только галочку, которую если убрать, то будет просто значение 1, в чем проблема?
как мне сделать чтобы сумма считалась построчно, а внизу где общая сумма документа выводилась вся сумма?
обычное приложение 8.2

cska-fanat-kz

И это правильно Вам пишут!

Вы хотя бы азы программирования (в целом, не важно на каком языке!) изучали когда-нибудь?

У вас есть описание процедуры

Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт
   СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
КонецПроцедуры

Вы показываете что у вашей процедуры есть параметр, который в теле процедуры используется.

Далее вы начинаете процедуру вызывать. Внутри другой процедуры.

Процедура ТоварыЦенаПриИзменении(Элемент)
  РассчитатьСумму(...);
КонецПроцедуры

Так как у вас процедура с параметром то вместо точек нужно что то передать.
Просто повторить имя параметра мало, можно даже написать


Процедура ТоварыЦенаПриИзменении(Элемент)
  РассчитатьСумму(Ж);
КонецПроцедуры

Просто важно понимать что Ж - это переменная которая должна быть объявлена:
1. В начале всего модуля с помощью служебного слова Перем
2. В начале процедуры с помощью того же слова Перем
3. Присвоив переменной Ж перед использованием какое нибудь начальное значение

Это так сказать теория.

А теперь правильный код того, что вы хотели добиться:

Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт
   СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
КонецПроцедуры

Процедура ТоварыЦенаПриИзменении(Элемент)
  СтрокаТЧ = ЭлементыФормы.Товары.ТекущиеДанные;
  РассчитатьСумму(СтрокаТЧ);
КонецПроцедуры
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Вожак

Спасибо, сделал для обычной суммы, а как сделать для общей суммы документа? пробовал тут сделать через Итог, но результат опять не положительный((

Вожак

и как сделать при выборе номенклатуры, чтобы ценник сразу ставился сам?
не понимаю просто до конца синтаксиса 1с
а так он прописывается для данного задания в номенклатура при изменении, так ведь?

cska-fanat-kz

И чего такого неправильного выдает

Товары.Итог("Сумма");

??
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

cska-fanat-kz

Цитата: Вожак от 15 мар 2012, 16:59
и как сделать при выборе номенклатуры, чтобы ценник сразу ставился сам?
не понимаю просто до конца синтаксиса 1с
а так он прописывается для данного задания в номенклатура при изменении, так ведь?

Фигасе Вы скачете! Я за Вами не успеваю ))

И переведите теперь на русский язык...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск