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

Получение данных из запроса

Автор BrisS, 03 авг 2019, 11:34

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

BrisS

Друзья, доброго времени суток. Начал изучать программирование 1С и немного застрял при работе с запросом.
Суть конфигурации такова - сделал простенькую программу по учету моих денежных средств на различных кошельках. Появилась необходимость сделать документ перерасчёта денег, который бы вносил в регистр накопления исправленную сумму. Так как еще разбираюсь в алгоритмах, сделал большой код, в котором все действия идут по порядку(код во вложении).
Как видно, я хочу получить данные из регистра, а затем сравнить ту цифру, которая на данный момент в регистре, с той, что вводится в пользовательском приложении, а затем провести мероприятие по доначислению или списанию суммы. Самый главный вопрос - как получить ту самую "цифру из регистра, соответствующую кошельку, который указывается в пользовательском приложении", чтобы я мог использовать её в сравнениях.

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

alexandr_ll

Цитата: BrisS от 03 авг 2019, 11:34
Друзья, доброго времени суток. Начал изучать программирование 1С и немного застрял при работе с запросом.
Суть конфигурации такова - сделал простенькую программу по учету моих денежных средств на различных кошельках. Появилась необходимость сделать документ перерасчёта денег, который бы вносил в регистр накопления исправленную сумму. Так как еще разбираюсь в алгоритмах, сделал большой код, в котором все действия идут по порядку(код во вложении).
Как видно, я хочу получить данные из регистра, а затем сравнить ту цифру, которая на данный момент в регистре, с той, что вводится в пользовательском приложении, а затем провести мероприятие по доначислению или списанию суммы. Самый главный вопрос - как получить ту самую "цифру из регистра, соответствующую кошельку, который указывается в пользовательском приложении", чтобы я мог использовать её в сравнениях.

И вопрос номер 2 - можно ли обнулять данные в регистре, чтобы потом просто записать данные в пустой регистр? Само собой требуется обнулить данные только у соответствующего кошелька
Капитан Очевидность: "Если сумма вводится в пользовательском приложении, то она записана в реквизит документа".
По очистке регистра перед записью  https://helpme1c.ru/registry-nakopleniya-v-yazyke-1s-8-v-primerax

Yotram

Небольшие советы по программе.
1. Рекомендую выбирать остатки на дату документа, чтобы на него не влияли последующие проводки.
2. Рекомендую исключать из выборки виртуальной таблицы остатков регистратор - сам документ. Ибо если не исключать то при повторном проведении в поиск остатков включатся записи самого документа.
3. НИКОГДА не вставляйте сообщения в модули объекта.

А по факту вопроса:
Указанным запросом вы делаете выборку из ВСЕХ кошельков. Если Вам нужен только один, то в выборку виртуальной таблицы, передайте параметром искомый кошелек. Далее, если последовать совету достаточно будет обработать только одну итерацию выборки. В программе нет обработки выборки вообще, т.е. как минимум надо обработать

Если ВыборкаДетальныеЗаписи.Следующий() Тогда
//здесь кусок кода, описывающий что делать если выборка вообще есть
//к примеру:
    ОстЩа = ВыборкаДетальныеЗаписи.СуммаОстаток;
Иначе
//здесь кусок кода, который выполняется если в записях вообще ничего нет
    ОстЩа = 0;
КонецЕсли;
"Дай человеку рыбу, и ты накормишь его на один день, научи его рыбачить, и он будет сыт всю жизнь"

alexandr_ll

Можно вместо даты использовать момент времени документа.

Теги:

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

Рейтинг@Mail.ru

Поиск