С Новым годом! Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
1

Подсчет суммы по документам, получить переменную из функции

30.04.2015, 15:57. Показов 1063. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как поместить в поле СуммаШтрафов значение поля СуммаШ и как в СуммаШ помещать сумму штрафов по всем документам сотрудника?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Процедура СотрудникПриИзменении(Элемент)
    Зарплата=ПолучитьЗначениеРеквизита(Объект.Сотрудник,"Зарплата");
    СуммаШтрафов=ПолучитьСуммуШтрафовСотрудника();
    ЗарплатаСучетомШтрафов=Зарплата- СуммаШтрафов;
КонецПроцедуры
 
 
Функция ПолучитьСуммуШтрафовСотрудника ()
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   Штрафы.Регистратор,
        |   СУММА(Штрафы.Сумма) КАК Сумма,
        |   Штрафы.Сотрудник,
        |   Штрафы.ВидШтрафа,
        |   Штрафы.Дата
        |ИЗ
        |   РегистрСведений.Штрафы КАК Штрафы
        |ГДЕ
        |   Штрафы.Сотрудник = &Сотрудник
        |
        |СГРУППИРОВАТЬ ПО
        |   Штрафы.Регистратор,
        |   Штрафы.Сотрудник,
        |   Штрафы.ВидШтрафа,
        |   Штрафы.Дата";
    
    Запрос.УстановитьПараметр("Сотрудник", Объект.Сотрудник);
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Если Год (ТекущаяДата())=Год(ВыборкаДетальныеЗаписи.Дата) Тогда
            Если Месяц (ТекущаяДата())=Месяц(ВыборкаДетальныеЗаписи.Дата) Тогда
                Сообщить(""+ ВыборкаДетальныеЗаписи.Сумма +"");
                 СуммаШ=ВыборкаДетальныеЗаписи.Сумма;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
КонецФункции
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.04.2015, 15:57
Ответы с готовыми решениями:

В отдельной функции организовать подсчет суммы элементов
Помогите пожалуйста исправить ошибку, почему программа не работает. Составить программу, в которой...

Подсчет суммы чисел в строке не используя функции string.h
Доброго времени суток.Задача состоит в том , чтобы подсчитать сумму чисел в строке, слова в которой...

Как получить переменную из функции?
Здравствуйте, вопрос в названии темы))

Получить результат функции в переменную
Объясните пожалуйста, в чем моя ошибка? Вот простенькая функция, которая считывает из файла строки...

5
Модератор
Эксперт 1С
4029 / 2974 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
30.04.2015, 16:53 2
Выкинуть из запроса все поля кроме СУММА

и наложить условие на поле ДАТА

тогда и кодом проверять дату будет не нужно
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
30.04.2015, 20:18  [ТС] 3
а что писать в дате?
я пробовала писать "Месяц (ТекущаяДата())" но он выдает ошибку
0
Эксперт 1С
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,247
30.04.2015, 23:48 4
Эмили, Таб1.ДатаДок = &Дата в условие запроса, и в параметры Запрос.УстановитьПараметр("Дата",ТекущаяДата());
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
01.05.2015, 15:57  [ТС] 5
теперь вообще ничего не работает

Добавлено через 1 час 20 минут
подскажите как заставить отбирать только этот месяц и год

1C
1
2
3
4
5
6
7
8
9
10
11
12
СуммаШ=0;
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        //Год = ДатаГод(ТекущаяДата());
        //Месяц = ДатаМесяц(ТекущаяДата());
        Если Год(ТекущаяДата()) =Год(ВыборкаДетальныеЗаписи.Период) Тогда
            Если Месяц(ТекущаяДата()) =Месяц(ВыборкаДетальныеЗаписи.Период) Тогда
                Сообщить(""+ ВыборкаДетальныеЗаписи.Сумма +"");
                 СуммаШ=СуммаШ+ВыборкаДетальныеЗаписи.Сумма;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    Возврат СуммаШ;
0
Модератор
Эксперт 1С
4029 / 2974 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
02.05.2015, 22:48 6
1C
1
2
3
4
| ГДЕ Дата МЕЖДУ &ДатаНач и &ДатаКон
 
Запрос.УстановитьПараметр("ДатаНач", НачалоМесяца(ТекущаяДата()));
Запрос.УстановитьПараметр("ДатаКон", КонецМесяца(ТекущаяДата()));
1
02.05.2015, 22:48
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.05.2015, 22:48
Помогаю со студенческими работами здесь

Как получить переменную из сторонней функции?
Подскажите пожалуйста, есть функция attrchange ,которая была подключена через плагин (функция...

Получить ссылку на строковую переменную в другой функции
Добрый вечер! Помогите написать ссылку на переменную bin using System; using...

В отдельной функции организовать подсчет суммы элементов динамического массива, которые удовлетворяют условию
Составить программу, в которой сформировать прямоугольную таблицу С из n×m целых чисел в...

Подсчет суммы в столбце до первой пустой строки и новый подсчет
Уже подзабыл как писать макросы, последний раз это делал несколько лет назад, поэтому прошу помощи...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­­­­­­­х­р­о­н­­н­­­ы­­й счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru