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

Простая задача! Плюс 5 к сумме

Автор Danceva, 04 июл 2014, 17:59

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

Danceva

Здравствуйте.

У меня простая задача! Я создала проводки. И теперь к каждой сумме в ней нужно прибавить 5.
Обработка ПослеПроведенияДокумента.
Но не могу понять какой должен быть итератор.

В результате на первом скрине должно быть не 90, а 95.

Прикрепляю необходимые скрины:
1) Проводка документа
2) Ошибка при событии ОбработкаПослеПроведения
3) Модуль с ошибкой

Klyacksa

По всей видимости, надо по Источнику бегать. Источник - видимо движения документа, посмотрите отладчиком.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Snaky

Цитата: Danceva от 04 июл 2014, 17:59
Здравствуйте.

У меня простая задача! Я создала проводки. И теперь к каждой сумме в ней нужно прибавить 5.
Обработка ПослеПроведенияДокумента.
Но не могу понять какой должен быть итератор.

В результате на первом скрине должно быть не 90, а 95.

Прикрепляю необходимые скрины:
1) Проводка документа
2) Ошибка при событии ОбработкаПослеПроведения
3) Модуль с ошибкой
Если я все правильно понял, после совершения проводки Вам требуется её изменить, выплывает вопрос, почему не изменить во время проводки сумму, но даже если так, Вам необходимо получить сам объект (Ваш документ), а потом уже менять его. Т.е. как то так:
Документ = Источник.ПолучитьОбъект();
Для Каждого Строка Из ТЧИсточника Цикл
    Строка.Сумма = Строка.Сумма + 5;
КонецЦикла;
Документ.Записать(РежимЗаписиДокумента.Проведение);

cska-fanat-kz

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

Snaky

Цитата: cska-fanat-kz от 07 июл 2014, 16:53
Snaky, проводки - это не данные документа. Это записи регистра бухгалтерии. То есть получать объект документа для того чтобы исправить проводки - не требуется.
Править проводки не исправляя документ который их делает это не верно (ИМХО) как потом искать ошибки, а таковых обычно очень много!

cska-fanat-kz

Цитата: Snaky от 08 июл 2014, 11:47Править проводки не исправляя документ который их делает это не верно (ИМХО) как потом искать ошибки, а таковых обычно очень много!

Задачи бывают разные. Например может звучать так: надо чтобы сумма проводки была на 5 больше суммы в документе.
В любом случае только ТС'у виднее ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

LexaK

блин, так реально ни кто, типа девушке и не помог.

то Danceva
в любое место вставльте такой код

лкДок = НужныйДокументСсылка.получитьОбъект();
лкРег = лкДок.Движения.Хозрасчетный; //Вместо Хозрасчетный напишите свой регистр, по картинке не понятно
лкРег.прочитать();
Для каждого лкСтр Из лкРег Цикл
  лкСтр.Сумма = лкСтр.Сумма + 5;
  //если по другим суммам СуммаНУ, СуммаПР и тд нужны изменения, сами допишите
КонецЦикла;
лкРег.Записать();

//я проверил на своей бухгалтерской базе, все сработало отлично.
//только надо иметь ввиду, что после перепроведения документов, суммы в регистрах будут "правильные"
//а вообще такая задача сильно на что-то смахивает B)
Добавлено: 08 июл 2014, 17:55


заранее пишу, что это не самый оптимальный метод, но автору задачи он подойдет.
если помогло нажмите: Спасибо!

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

Рейтинг@Mail.ru

Поиск