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

Хранилище

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

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



> Запись в регистр накопления в цикле          
vitaliklibra Подменю пользователя
сообщение 28.05.15, 8:10
Сообщение #1

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

Добрый день!

Опишу ситуацию. Это пример того, как реализованы банковские выписки в 7-ке. У меня есть такой же документ, где в табличной части построчно вписаны мои платежи с соответствующим видом ДДС. Так вот. Существует ли возможность при проведении учитывать движение по регистру после обработки каждой такой строки? В том смысле, что если у меня есть приход по какому-то измерению по одной строке, и если у меня будет еще такая строка с таким же измерением, но только расход, чтобы произошёл сразу взаимозачет. Поясню на своем примере:

У меня есть 3 платежа (3 строки):
- Платеж входящий на сумму 50;
- Платеж исходящий на сумму 70;
- Платеж входящий на сумму 50.


В регистре у меня есть 2 ресурса: "НашДолг" и "ДолгКонтрагента".

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


ВЫБРАТЬ 
    ЕСТЬNULL(СУММА(ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОстатки.НашДолгОстаток, 0)), 0) КАК НашДолгОстаток,
    ЕСТЬNULL(СУММА(ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОстатки.ДолгКонтрагентаОстаток, 0)), 0) КАК ДолгКонтрагентаОстаток
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки КАК ВзаиморасчетыСКонтрагентамиОстатки
ГДЕ
    ВзаиморасчетыСКонтрагентамиОстатки.Контрагент.Ссылка = &Контрагент



Но пока транзакция не пройдет по конца ТЧ документа, у меня запрос не видит никаких остатков, хотя они там реально появляются!( Должна картина быть примерно такой (это условно):


sava1 Подменю пользователя
сообщение 28.05.15, 8:24
Сообщение #2

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

ВременныйРасчет + Актуальность

vitaliklibra Подменю пользователя
сообщение 28.05.15, 8:27
Сообщение #3

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

Цитата(sava1 @ 28.05.15, 9:24) *
ВременныйРасчет + Актуальность


Эммм... Разъясни, если не трудно: что делать с этими свойствами/методами? 09000000.gif

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

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

из КЖК:
Устанавливает флаг актуальности временного расчета.
Синтаксис:
Актуальность(<ФлагАктуальности>)
Англоязычный синоним:
Actual
Параметры:

<ФлагАктуальности>    Необязательный параметр. Число: 1 — временный расчет поддерживать в актуальном состоянии; 0 — не поддерживать актуальность временного расчета. Если параметр не задан, то метод просто возвращает текущий флат актуальности не меняя его.
Возвращаемое значение:
Текущее состояние флага актуальности временного расчета. Число: 1 — временный расчет поддерживается в актуальном состоянии; 0 — не поддерживается.
Описание:
Метод Актуальность устанавливает для объекта типа «Регистры» флаг актуальности временного расчета. Если флаг установлен, то все последующие движения регистров будут изменять итоги временного расчета, а значит итоги регистров временного расчета будут все время (при проведении документа) находиться в актуальном состоянии.

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

Пример:
// стоимости берем из временного расчета
// регистра УчетРеализации
СпецРег = СоздатьОбъект("Регистры");
СпецРег.Актуальность(1);
Рег = СпецРег.УчетРеализации;
Рег.ВременныйРасчет();
СпецРег.РассчитатьРегистрыНа(ТекущийДокумент());
Рег.Товар = Товар;
Рег.Клиент = Клиент;
Рег.ОстаткиПолучить();
ТекОстаток = Рег.ОстатокТовара;
ТекСтоимость = Рег.Стоимость;
ТекПродСтоимость = Рег.ПродСтоимость;

vitaliklibra Подменю пользователя
сообщение 28.05.15, 8:56
Сообщение #5

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

Цитата(sava1 @ 28.05.15, 9:31) *
из КЖК:


Что это?

Цитата(sava1 @ 28.05.15, 9:31) *
Устанавливает флаг актуальности временного расчета.
Синтаксис:
Актуальность(<ФлагАктуальности>)


В принципе, судя из описания, это то, что надо! Но я такого свойства в СП не могу найти... ПодскажиТЕ, где размещать этот код из ВАШЕГО примера? По логике в обработке проведения. Верно?


 ! 

Правила, п.1
 


Сообщение отредактировал logist - 28.05.15, 9:05

logist Подменю пользователя
сообщение 28.05.15, 9:06
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(vitaliklibra @ 28.05.15, 9:56) *
Но я такого свойства в СП не могу найти..

И не найдете, потому, что Вам дали совет для платформы 7.7


Signature
Личные бесплатные консультации не даю, для этого есть форум!

vitaliklibra Подменю пользователя
сообщение 28.05.15, 9:10
Сообщение #7

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

Цитата(logist @ 28.05.15, 10:06) *
И не найдете, потому, что Вам дали совет для платформы 7.7


Я ведь тему создал в разделе "1С 8.2 Обычный интерфейс"!

Но, правила есть правила... Прошу прощения.

1С:Предприятие 8.2 (8.2.19.130).

Есть ли аналог для 8.2?

sava1 Подменю пользователя
сообщение 28.05.15, 9:19
Сообщение #8

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

УПС. Не посмотрел на платформу...

Цитата(vitaliklibra @ 28.05.15, 9:10) *
как обойтись здесь без цикла

Выбрать остатки для всех контрагентов в тз
Цикл по строкам
ищем в тз контрагента, меняем текущий остаток
добавляем запись в набор записей
конеццикла

vitaliklibra Подменю пользователя
сообщение 28.05.15, 9:34
Сообщение #9

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

Цитата(sava1 @ 28.05.15, 10:19) *
Выбрать остатки для всех контрагентов в тз
Цикл по строкам
ищем в тз контрагента, меняем текущий остаток
добавляем запись в набор записей
конеццикла


В принципе, хороший вариант! Только получается, что цикл первый будет тот, который переберет ТЧ и найдет всех контрагентов, для которых нужно запросить остатки. Вот только проблема одна: если у нас есть еще измерения, к примеру, статья затрат, основание оплаты и др, то это будет та же самая ТЧ, которую я сначала и перебираю для передачи её значений в ТЗ.

Цитата(vitaliklibra @ 28.05.15, 9:56) *
Устанавливает флаг актуальности временного расчета.
Синтаксис:
Актуальность(<ФлагАктуальности>)


Так все же, есть ли аналог в 8.2?

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

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

Нет и не может быть. в 8 другой подход к работе с БД.
В-принципе можно каждый раз делать Записать(), ВыполнитьЗапрос - но это дико кривое решение.

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

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

Цитата(sava1 @ 28.05.15, 11:07) *



Такое дико-кривое решение я пробовал тестировать - результат не тот: система записывает в регистр только первую строку (первую итерацию), хотя обрабатывает в цикле все. Посему, коллега, это не подходит тоже... =( Спасибо, что помогли разбираться! Я оставил всего один ресурс в регистре и на нем буду накапливать все суммы, а в зависимости от знака буду выводить в отчете, соответственно, либо наш долг (если +), либо долг контрагента перед нами (если -).

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


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

 

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