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

Сумма Справочника

Автор xdto, 16 мая 2016, 21:24

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

xdto

Друзья подскажите как в форму справочника поле сумма посчитать и  вывести общую сумму всех с другого справочника

cska-fanat-kz

если речь идет про поле сумма табличной части то
    ОбщаяСумма = ТабличнаяЧасть.Итог("Сумма");

Цитата: xdto от 16 мая 2016, 21:24вывести общую сумму всех с другого справочника

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

xdto

нет ред идет не об этом есть форма элемента справочника в нем поле сумма в это поле нудно вывести сумму всех из другого справочника где есть форма списка и полей суммой

Kironten

Цитата: xdto от 17 мая 2016, 10:33
нет ред идет не об этом есть форма элемента справочника в нем поле сумма в это поле нудно вывести сумму всех из другого справочника где есть форма списка и полей суммой
Ну тогда в ПриСозданииНаСервере() формы элемента делайте запрос к нужному вам справочнику считайте сумму и выводите в форму.
Именно при такой постановке вопроса, по-моему больше никак.

xdto

Вроде пробовал так но почему та выводит ноль

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
      //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СУММА(Этап.Сумма) КАК Сумма
|ИЗ
| Справочник.Этап КАК Этап";

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
СуммаДоговора = ВыборкаДетальныеЗаписи;

//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

КонецПроцедуры


Kironten

Цитата: xdto от 17 мая 2016, 12:52
Вроде пробовал так но почему та выводит ноль

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
      //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СУММА(Этап.Сумма) КАК Сумма
|ИЗ
| Справочник.Этап КАК Этап";

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
СуммаДоговора = ВыборкаДетальныеЗаписи;

//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

КонецПроцедуры

Ну во-первых не:
СуммаДоговора = ВыборкаДетальныеЗаписи;
а
СуммаДоговора = 0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    СуммаДоговора = СуммаДоговора + ВыборкаДетальныеЗаписи.Сумма;
КонецЦикла;


Во-вторых, имейте ввиду, что если у вас в обрабатываемом справочнике будут группы, вы еще и ошибку получите. Потому как у групп, нет табличных частей.

А вообще, мне кажется где-то вы напортачили со структурой базы данных.
Не хорошо это, обрабатывать справочники для получения какого-либо числового результата.
Наверно надо было при записи элемента справочника писать данные ТЧ в регистр накопления, и уже потом работать с ним.

xdto

Групп нет попробовал Ваш код исправил но все равно не работает пусто ничего не выводит:fdbsdfbsd:

Kironten

Цитата: xdto от 17 мая 2016, 13:08
Групп нет попробовал Ваш код исправил но все равно не работает пусто ничего не выводит:fdbsdfbsd:
Проверяйте.
Точку останова на СуммаДоговора и смотрите, что считается.
Если сумма не меняется, значит запрос неверный.
Если меняется, значит проверяйте связь поля формы с данными.

Теги:

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

Рейтинг@Mail.ru

Поиск