7.7 нужен совет. зик(не типовая)

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем fiskal, 29 апр 2010.

  1. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    Всем добрый день ,нужен совет.
    вобшем есть не типовая конфг.. бюджетной орг...
    задача след..
    документ выплата зп.. как сделать так чтоб если нехватает начисления на выбранном ИФ(выберается в форме)он переключался на следующий и добирал сумму с него. сумма вводиться вручную в форме...
    на данный момент он просто тупо пишет в долг за сотрудником ,сумму котой нехватет.
    спасибо за помощь.
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Не проще ли воспользоваться кнопками "заполнить", "Расчитать"
  3. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    :) логично... ну проблема остается..
    он при расчете не видит того что уже было выплаченно..(до этого был выплачен аванс..)
    видит только ндфл и выводит сумму -ндфл.. а нужно чтоб он видел и то что до этого было выплаченно...
    буду благодарен если поможете разобраться..
    могу выложить глКВыплатеЗаПериод... в данный момент пытаюсь сам дописать чтоб он обрашал внимания на выплаты... пока не очень получается...
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    выложите функцию - теоретически она должена видеть
  5. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    на форум не вставляется... длинновата будет :)
    прикрепляю..

    Вложения:

  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    у вас же в начале цикла выбора ВР есть условие
    Код:
    (ЖурналЗарплата.ВидРасч <> ВидРасчета.ВыплатаЗарплаты)
    
    
    уберите его и добавьте:
    Код:
    Если ЖурналЗарплата.ВидРасч = ВидРасчета.ВыплатаЗарплаты Тогда
    УжеВыплачено = УжеВыплачено + ЖурналЗарплата.Результат;
    Продолжить;  
    КонецЕсли;
    
    
    .. и будет вам счастье)))))
  7. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    сделал следующим образом
    Код:
    Пока ЖурналЗарплата.ПолучитьЗапись()=1 Цикл
    Если (ЖурналЗарплата.Документ = Документ) или (ЖурналЗарплата.Результат = 0) Тогда
    Продолжить;
    КонецЕсли;
    Если ЖурналЗарплата.ВидРасч = ВидРасчета.ВыплатаЗарплаты Тогда
    УжеВыплачено = УжеВыплачено + ЖурналЗарплата.Результат;
    Продолжить;  
    КонецЕсли;
    Если 	(ПоИсточникуФинансирования=1) И 
    (ЖурналЗарплата.ВидРасч.ВходитВГруппу(ГруппаРасчетов.ВозвратыНДФЛ) = 0) И
    (ЖурналЗарплата.ВидРасч <> ВидРасчета.НачальноеСальдоПереплатаНДФЛ) И 
    (ЖурналЗарплата.ВидРасч <> ВидРасчета.Возврат)                     
    
    Тогда
    глПолучитьРаспределениеРезультата(ЖурналЗарплата, ТаблицаРаспределения);			
    КонецЕсли;
    
    а счастья как небыло так и нет :)))
    я не так давно занемаюсь всей этой херомантией.. много еше не знаю... как говориться еше мал и глуп :))
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Хм.... Ну так вы получили сумму того что УЖЕ выплатили - смотри тальше по тексту! Или разжевать? Попробуте САМИ иличе ничему не раучитесь
  9. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    по логике теперь мы эту сумму должны отнять от сальдо? я правельно понимаю?
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В логике вам не откажешь))))))) Только смотрите чтобы результат не стал отрицательным - это реально
  11. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    :) а вот в том как ее правельно применить...
    хелп., неполучаеться :)) перепробывал массу вариантов....
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В процедуре глКВыплатеЗаПериод
    Титаническое усилие мысли... Идем в самый конец процедуры...
    Код:
    Если Документ.Вид() = "ВыплатаЗаработнойПлаты" Тогда  
    Если погашение = 1 тогда 	
    Если СуммаПереплаты > Сальдо Тогда
    СуммаПереплаты = Сальдо;
    КонецЕсли;               
    Отправка = СоздатьОбъект("СписокЗначений");
    Отправка.ДобавитьЗначение(Сальдо - СуммаПереплаты);
    Отправка.ДобавитьЗначение(СуммаПереплаты);
    Возврат Отправка;             
    КонецЕсли;	 
    КонецЕсли;
    //=================================================================================================	
    Если ВыводитьОтрицательныеЗначения = 0 тогда 
    //Возврат Макс(Сальдо,0); // возвращаем только положительное сальдо по сотруднику  //MAW18  
    Возврат (Макс(Сальдо + ЗадолжПрошПер + ЗадолжСотра,0));                                                         //MAW18
    Иначе
    //Возврат Сальдо;                                                                   //MAW18 
    Возврат (Сальдо + ЗадолжПрошПер + ЗадолжСотра);                                     //MAW18 
    КонецЕсли;
    
    
    Вот где на пригодится вычисленная сумма
  13. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    я понимаю что это уже верх тупизма...
    но все таки как должно быть?
  14. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    задача немного усложнилась (для меня)
    вобшем нужно не просто сделать сальдо-выплаченные суммы ,
    а СУММАб=всеначисления -выплаты-удержания сравнить с сальдо(сумма которая лезет к выплате когда нажимаем расчитать)
    и если суммаб>сальдо сделать так чтоб сальдо=суммаб


    вроде бы все просто.... но я боюсь не справиться :)
    уделите пожалуйста еше пару минут и наставте на путь истенный! :)
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    СУММАб=всеначисления -выплаты-удержания сравнить с сальдо(сумма которая лезет к выплате когда нажимаем расчитать)

    Эта функция возвращает в качестве параметра ТаблицуЗначений (7й параметр) структура ТЗ описана внутри функции. В этой таблице содержатся суммы по источникам финансирования.... Все просто. после вызова функции берем ТЗ (источник в документе нам известен) - вычисляем...
  16. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    мде.. понятно что не чего не понятно :)
    по конкретнее не затруднит?
  17. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В настоящей момент на компе нет бюджетной поэтому нет возможности привести кусок кода - пытаюсь объяснить вам "на пальцах".. В ДОКУМЕНТЕ: Смотрите где происходит вызов вышеописанной функции. Она возвращает сумму. После вызова ее надо изменить согласно формуле. Имеем ТЗ с необходимыми данными - ВЫЧИСЛЯЙТЕ. Или вам показать как цикл по ТаблицеЗначений организовать?
  18. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    да уж я предстовляю как это тупо выглядит со стороны когда объясняешь элементарные весчи :)

    как выташить из функции "ужевыплачено"?
    или нужно организовать сбор ее не в функции а в документе?
  19. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    "Уже выплачено" содержится в таблице значений! Там все разжевано по статьям. Структуру смотрите в теле вункции. Колонки названы интуитивно-понятно
  20. TopicStarter Overlay
    fiskal
    Offline

    fiskal

    Регистрация:
    28 дек 2009
    Сообщения:
    42
    Симпатии:
    0
    Баллы:
    1
    наверно я все таки не справлюсь сам...

    Код:
    ИначеЕсли (ВыбранныйНомер=3) или (ВыбранныйНомер=5) Тогда
    Если ИсточникФинансирования.Выбран()=0 Тогда
    //глСообщениеТрассировки(глСообщенияТрассировки, "Состав начислений и удержаний: ",,1,,,,,,,,,"+");
    // SNS
    //СуммаБезПроцента = глКВыплатеЗаПериод(Сотрудник,ДатаПериода, ЖурналЗарплата, , , ТекущийДокумент());
    СуммаБезПроцента = глКВыплатеЗаПериод(Сотрудник,ДатаПериода, ЖурналЗарплата, , , Контекст);
    
    Сумма = Окр(СуммаБезПроцента*Процент/100,0,0);//С* округление 
    
    глСообщенияТрассировки.УстановитьЗначение(1,2);
    глСообщениеТрассировки(глСообщенияТрассировки,"");
    Если ВыбранныйНомер=5 тогда
    глСообщениеТрассировки(глСообщенияТрассировки, "Сумма за "+ТекстПериода+":                                                                                 "+глЧислоВФорматеПользователя(СуммаБезПроцента),,0);
    глСообщениеТрассировки(глСообщенияТрассировки, "Процент выплаты: "+Процент,,0); 
    глСообщениеТрассировки(глСообщенияТрассировки, "Сумма с учетом процента выплаты за "+ТекстПериода+":                                      "+глЧислоВФорматеПользователя(Сумма),,0);
    Иначе
    глСообщениеТрассировки(глСообщенияТрассировки, "Сумма за "+ТекстПериода+":                                                                                 "+глЧислоВФорматеПользователя(СуммаБезПроцента),,0);
    КонецЕсли;
    Иначе                                                 
    //С*           
    
    Если Погашение = 1 Тогда       
    // SNS
    //Ответ = глКВыплатеЗаПериод(Сотрудник,ДатаПериода, ЖурналЗарплата, ИсточникФинансирования, Подразделение,ТекущийДокумент(),,,,1);
    Ответ = глКВыплатеЗаПериод(Сотрудник,ДатаПериода, ЖурналЗарплата, ИсточникФинансирования, Подразделение, Контекст,,,,1);
    СуммаБезПроцента = ответ.ПолучитьЗначение(1);
    Переплата = ответ.ПолучитьЗначение(2);
    Если Переплата < 0  Тогда
    Переплата = 0;
    КонецЕсли;
    Иначе
    // SNS
    //СуммаБезПроцента = глКВыплатеЗаПериод(Сотрудник,ДатаПериода, ЖурналЗарплата, ИсточникФинансирования, Подразделение, ТекущийДокумент());
    СуммаБезПроцента = глКВыплатеЗаПериод(Сотрудник,ДатаПериода, ЖурналЗарплата, ИсточникФинансирования, Подразделение, Контекст);
    КонецЕсли;
    Сумма = Окр(СуммаБезПроцента*Процент/100,0,0);//С**
    
    
    
    это из док откуда ф-я вызывается...
Похожие темы
  1. leskin
    Ответов:
    3
    Просмотров:
    1.121
  2. Dimka77
    Ответов:
    8
    Просмотров:
    756
  3. smitog
    Ответов:
    4
    Просмотров:
    548
Загрузка...

Поделиться этой страницей