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

Код детектора для статуса документа

Автор Karen9874, 03 июл 2024, 23:17

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

Karen9874

Здравствуйте! Я пару месяцев в 1с и решая задачу столкнулся с такой проблемой. Написал код для детектора статуса документа, но работает некорректно.
1. В запросе итоговая таблица получается из 4 колонок (ЗаказПоставщику, СуммаДокумента, СуммаОплаты, ДокументОснование)
2. Если Сумма оплаты не 0, то статусы "Полностью оплачен" или "Частично оплачен" 
3. Если создан документ основание, но сумма оплаты 0, то должен устанавливаться статус "Передан в оплату" если НЕ создан, то "Не передан в оплату"
Проблема в том, что статусы передан или не передан в оплату не ставятся и не могу разобраться в чем проблема.
Скриншот итоговой таблицы запроса прикреплю.

Пока Выборка.Следующий() Цикл

   ЗаказПоставщику = Выборка.ЗаказПоставщику;
   СуммаДокумента = Выборка.СуммаДокумента;
   СуммаОплаты = Выборка.СуммаОплаты;
   ДокументОснование = Выборка.ДокументОснование;
   
   Если СуммаОплаты >= СуммаДокумента И СуммаОплаты <> 0 Тогда
      ПолностьюОплаченныеЗП.Добавить(ЗаказПоставщику);
   ИначеЕсли СуммаОплаты > 0 И СуммаОплаты < СуммаДокумента Тогда
      ЧастичноОплаченныеЗП.Добавить(ЗаказПоставщику);
   ИначеЕсли СуммаОплаты = 0 И ДокументОснование = ЗаказПоставщику Тогда
      ПереданВОплатуЗП.Добавить(ЗаказПоставщику);
   ИначеЕсли СуммаОплаты = 0 И ДокументОснование = 7 Тогда
      НеПереданВОплатуЗП.Добавить(ЗаказПоставщику);
   КонецЕсли;

КонецЦикла;

СтруктураПараметров.Вставить("НеПереданВОплатуЗП", НеПереданВОплатуЗП);
СтруктураПараметров.Вставить("ПереданВОплатуЗП", ПереданВОплатуЗП);
СтруктураПараметров.Вставить("ЧастичноОплаченныеЗП", ЧастичноОплаченныеЗП);
СтруктураПараметров.Вставить("ПолностьюОплаченныеЗП", ПолностьюОплаченныеЗП);

Результат = Истина;
Таблица статусов.png

alexandr_ll

   ИначеЕсли СуммаОплаты = 0 И ДокументОснование = ЗаказПоставщику Тогда
      ПереданВОплатуЗП.Добавить(ЗаказПоставщику);
   ИначеЕсли СуммаОплаты = 0 И ДокументОснование = 7 Тогда
      НеПереданВОплатуЗП.Добавить(ЗаказПоставщику);
 
Что означают эти строки? Почему документОснование=7? Что такое переменная ЗаказПоставщику?

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

Рейтинг@Mail.ru

Поиск