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

Хранилище

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

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



> Отражение Взаиморасчетов С Контрагентами В 1-ДФ , нашел ошибку          
korol1091 Подменю пользователя
сообщение 17.07.15, 13:31
Сообщение #1

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

Есть кто-нить, кто документ "Отражение Взаиморасчетов С Контрагентами В 1-ДФ" автоматом заполняет?

Судя по моим исследованиям, этот документ в принципе, правильно автоматом заполнится не должен.

Нашу УПП я исправил, но интересует, как с ним вообще люди работают, все вручную заполняют?

Егор Динин Подменю пользователя
сообщение 17.07.15, 13:35
Сообщение #2

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1454
Из: Киев
Спасибо сказали: 550 раз
Рейтинг: 0

Цитата(korol1091 @ 17.07.15, 14:31) *
Нашу УПП я исправил

Тут у всех УПП и все работают именно с этим документом, и конечно в курсе всех глюков всех программ icon_cuss.gif

korol1091 Подменю пользователя
сообщение 17.07.15, 14:32
Сообщение #3

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

Не совсем понял, это ирония или констатация печального факта. В модуле документа, в процедуре "ЗаполнитьЧП()" нужно исправить текст запроса:

ТекстЗапроса = "                                                                                        
    |ВЫБРАТЬ
    |    ОстакиОбороты.Контрагент    КАК Контрагент,
    |    СУММА(ОстакиОбороты.УдержНДФЛ)  КАК УдержНДФЛ,
    |    СУММА(ВЫБОР    КОГДА (ОстакиОбороты.ОбКт -ОстакиОбороты.ОстДт + ВЫБОР    КОГДА ОстакиОбороты.Возврат < 0 ТОГДА ОстакиОбороты.Возврат ИНАЧЕ 0 КОНЕЦ )
    |    > (ОстакиОбороты.обДт - ОстакиОбороты.ОстКт - ВЫБОР    КОГДА ОстакиОбороты.Возврат > 0 ТОГДА ОстакиОбороты.Возврат ИНАЧЕ 0 КОНЕЦ)
    |            ТОГДА (ОстакиОбороты.ОбКт-ОстакиОбороты.ОстДт  + ВЫБОР    КОГДА ОстакиОбороты.Возврат < 0 ТОГДА ОстакиОбороты.Возврат ИНАЧЕ 0 КОНЕЦ)  // отнимаем возвраты товаром
    |            ИНАЧЕ (ОстакиОбороты.обДт -ОстакиОбороты.ОстКт - ВЫБОР    КОГДА ОстакиОбороты.Возврат > 0 ТОГДА ОстакиОбороты.Возврат ИНАЧЕ 0 КОНЕЦ)  // отнимаем возвраты деньгами  
    |        КОНЕЦ)  КАК НачисленоДохода
    |    
    |    ИЗ(
    |        ВЫБРАТЬ
    |            Хозрасчетный.Контрагент    КАК Контрагент,
    |            Хозрасчетный.Договор    КАК Договор,
    |            СУММА(Хозрасчетный.УдержНДФЛ)  КАК УдержНДФЛ,
    |            СУММА(Хозрасчетный.ОстКт)  КАК ОстКт,
    |            СУММА(Хозрасчетный.ОстДт)  КАК ОстДт,
    |            СУММА(Хозрасчетный.ОбКт)  КАК ОбКт,
    |            СУММА(Хозрасчетный.ОбДт)  КАК ОбДт,
    |            СУММА(Хозрасчетный.Возврат)  КАК Возврат
    |        ИЗ (
    |                ВЫБРАТЬ
    |                    ХозрасчетныйОбороты.Субконто1    КАК Контрагент,
    |                    ХозрасчетныйОбороты.Субконто2    КАК Договор,
    |                       0                                 КАК УдержНДФЛ,
    |                    ХозрасчетныйОбороты.СуммаОстатокДт  КАК ОстДт,
    |                    ХозрасчетныйОбороты.СуммаОстатокКт  КАК ОстКт,
    |                    0  КАК ОбДт,
    |                    0  КАК ОбКт,
    |                    0  КАК Возврат
    |                    
    
    |                ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки(&НачалоПериода, Счет В ИЕРАРХИИ (&СписокСчетов), , Организация = &парамОрганизация) КАК ХозрасчетныйОбороты
    
    |                ГДЕ ХозрасчетныйОбороты.Субконто1.ЮрФизЛицо = &ЧП
    
    |                ОБЪЕДИНИТЬ ВСЕ
    |                ВЫБРАТЬ
    |                    ХозрасчетныйОбороты.Субконто1    КАК Контрагент,
    |                    ХозрасчетныйОбороты.Субконто2    КАК Договор,
    |                    ВЫБОР КОГДА ХозрасчетныйОбороты.КорСчет в (&Счет6411)
    |                               ТОГДА ХозрасчетныйОбороты.СуммаОборотДт
    |                               ИНАЧЕ 0 КОНЕЦ                         КАК УдержНДФЛ,
    |                    0  КАК ОстДт,
    |                    0  КАК ОстКт,
    |                    ХозрасчетныйОбороты.СуммаОборотДт  КАК ОбДт,
    |                    0  КАК ОбКт,
    |                    ВЫБОР КОГДА ХозрасчетныйОбороты.КорСчет в (&СписокСчетовАвансы)    //черезСчет авансов
    |                               ТОГДА ХозрасчетныйОбороты.СуммаОборотКт
    |                               ИНАЧЕ 0 КОНЕЦ                         КАК Возврат
    |                    
    // Исправлена ошибка: перепутаны счета поставщиков и авансов
    //|                ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, ДЕНЬ, Счет В ИЕРАРХИИ (&СписокСчетовАвансы), , Организация = &парамОрганизация, , ) КАК ХозрасчетныйОбороты
    |                ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, ДЕНЬ, Счет В ИЕРАРХИИ (&СписокСчетовПоставщики), , Организация = &парамОрганизация, , ) КАК ХозрасчетныйОбороты
    |
    |                ГДЕ ХозрасчетныйОбороты.Субконто1.ЮрФизЛицо = &ЧП
    
    |                ОБЪЕДИНИТЬ ВСЕ
    |                ВЫБРАТЬ
    |                    ХозрасчетныйОбороты.Субконто1    КАК Контрагент,
    |                    ХозрасчетныйОбороты.Субконто2    КАК Договор,
    |                    ВЫБОР КОГДА ХозрасчетныйОбороты.КорСчет в (&Счет6411)
    |                               ТОГДА ХозрасчетныйОбороты.СуммаОборотДт
    |                               ИНАЧЕ 0 КОНЕЦ                         КАК УдержНДФЛ,
    |                    0  КАК ОстДт,
    |                    0  КАК ОстКт,
    |                    0  КАК ОбДт,
    |                    ХозрасчетныйОбороты.СуммаОборотКт  КАК ОбКт,
    |                    ВЫБОР КОГДА ХозрасчетныйОбороты.КорСчет в (&СписокСчетовАвансы)    //черезСчет авансов
    |                               ТОГДА -ХозрасчетныйОбороты.СуммаОборотДт
    |                               ИНАЧЕ 0 КОНЕЦ                         КАК Возврат
    |                    
    // Исправлена ошибка: перепутаны счета поставщиков и авансов
    //|                ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, ДЕНЬ, Счет В ИЕРАРХИИ (&СписокСчетовПоставщики), , Организация = &парамОрганизация, , ) КАК ХозрасчетныйОбороты
    |                ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, ДЕНЬ, Счет В ИЕРАРХИИ (&СписокСчетовАвансы), , Организация = &парамОрганизация, , ) КАК ХозрасчетныйОбороты
    |
    |                ГДЕ ХозрасчетныйОбороты.Субконто1.ЮрФизЛицо = &ЧП
    |          ) КАК Хозрасчетный
    |
    |        СГРУППИРОВАТЬ ПО
    |            Хозрасчетный.Контрагент,
    |            Хозрасчетный.Договор
    |    ) КАК ОстакиОбороты    
    |
    |ГДЕ
    |    (ВЫБОР    КОГДА (ОстакиОбороты.ОбКт-ОстакиОбороты.ОстДт) > (ОстакиОбороты.обДт -ОстакиОбороты.ОстКт)
    |            ТОГДА (ОстакиОбороты.ОбКт-ОстакиОбороты.ОстДт)
    |            ИНАЧЕ (ОстакиОбороты.обДт -ОстакиОбороты.ОстКт)
    |        КОНЕЦ) > 0
    |
    |СГРУППИРОВАТЬ ПО
    |    ОстакиОбороты.Контрагент    
    |  
    |";



Кроме того, видно, что документ попросту недоделан: в ТЧ присутствуют колонки "ПеречисленныйДоход" и "ПеречисленныйНалог", которые никак не заполняются и не используются при проведении, а зря: при небольшой доработке они очень помогают заполнять отчет по 1-ДФ при "разорванных" между кварталами взаиморасчетах.

Помещаем эти реквизиты ТЧ на форму и модифицируем 2 кусочка в модуле
Функция СформироватьЗапросПоНДФЛ(Режим)

    Запрос = Новый Запрос;

    // Установим параметры запроса
    Запрос.УстановитьПараметр("ДокументСсылка", Ссылка);

    // Описание текста запроса:
    // 1. Выборка "ТЧНДФЛ":
    //        Выбираются строки документа.  
    //
    ТекстЗапроса = "ВЫБРАТЬ
                   |    ТЧНДФЛ.НомерСтроки КАК НомерСтроки,
                   |    ТЧНДФЛ.Контрагент,
                   |    ТЧНДФЛ.ВидДохода,
                   |    ТЧНДФЛ.Доход,

                   |    ТЧНДФЛ.ПеречисленныйДоход,
                   |    ТЧНДФЛ.ПеречисленныйНалог,

                   |    ТЧНДФЛ.Налог
                   |ИЗ
                   |    Документ." + Метаданные().Имя + ".НДФЛ КАК ТЧНДФЛ
                   |
                   |ГДЕ
                   |    ТЧНДФЛ.Ссылка = &ДокументСсылка";
    
    Запрос.Текст = ТекстЗапроса;
    
    Возврат Запрос.Выполнить();

КонецФункции // СформироватьЗапросПоРаботникиОрганизации()


Процедура ДобавитьСтрокуВДвиженияПоРегистрамНакопления(ВыборкаПоШапкеДокумента, ТекСтрокаНДФЛ, ВидДвижения)
    
    // исправляем ситуацию с "разорванными" взаиморасчетами, когда платеж идет в одном квартале, а акт вып. работ в другом
    
    Если ТекСтрокаНДФЛ.Доход <> 0    
        ИЛИ ТекСтрокаНДФЛ.Налог <> 0
        Тогда
        
        Движение = Движения.ВзаиморасчетыПоНДФЛ.Добавить();
        // Свойства
        Движение.ВидДвижения        = ВидДвиженияНакопления.Приход;
        Движение.Период                = Дата;
        // Измерения
        Движение.ПериодВзаиморасчетов    = ВыборкаПоШапкеДокумента.ПериодРегистрации;
        Движение.ВидСтавки            = Перечисления.ВидыСтавокНДФЛ.Основная;
        Движение.Организация        = ВыборкаПоШапкеДокумента.Организация;
        Движение.Сотрудник            = ТекСтрокаНДФЛ.Контрагент;
        Движение.ДоходНДФЛ            = ТекСтрокаНДФЛ.ВидДохода;
        // Ресурсы
        Движение.Доход = ТекСтрокаНДФЛ.Доход;
        Движение.Налог = ТекСтрокаНДФЛ.Налог;
        
    КонецЕсли;    
    
    Если ТекСтрокаНДФЛ.ПеречисленныйДоход<>0
        ИЛИ ТекСтрокаНДФЛ.ПеречисленныйНалог<>0 Тогда
    
        // если налог не начислен сразу закрываем сумму дохода для 1Дф
        Движение = Движения.ВзаиморасчетыПоНДФЛ.Добавить();
        // Свойства
        Движение.ВидДвижения        = ВидДвиженияНакопления.Расход;
        Движение.Период                = Дата;
        // Измерения
        Движение.ПериодВзаиморасчетов    = ВыборкаПоШапкеДокумента.ПериодРегистрации;
        Движение.ВидСтавки            = Перечисления.ВидыСтавокНДФЛ.Основная;
        Движение.Организация        = ВыборкаПоШапкеДокумента.Организация;
        Движение.Сотрудник            = ТекСтрокаНДФЛ.Контрагент;
        Движение.ДоходНДФЛ            = ТекСтрокаНДФЛ.ВидДохода;
        // Ресурсы
        Движение.Доход = ТекСтрокаНДФЛ.ПеречисленныйДоход;
        Движение.Налог = ТекСтрокаНДФЛ.ПеречисленныйНалог;
        
    КонецЕсли;
    
    
КонецПроцедуры // ДобавитьСтрокуВДвиженияПоРегистрамСведений

Егор Динин Подменю пользователя
сообщение 17.07.15, 15:43
Сообщение #4

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1454
Из: Киев
Спасибо сказали: 550 раз
Рейтинг: 0

Цитата(korol1091 @ 17.07.15, 15:32) *
Не совсем понял, это ирония или констатация печального факта.

Это намек на то, чтобы Вы четко сформулировали вопрос, что именно не получается и где возникла проблема.
Я не сталкивался с тем , чтобы пользователи жаловались на "перепутанные счета" или не корректное заполнение документа. Бывает жалуются на то, что при заполнении анализируются счета расчетов и авансов (63, 36, 371, 681 и т д.), но не учитываются прочие счета взаиморасчетов, такие как 685 или 377.
Заполнение перечисленного налога нужно далеко не всегда, часто бухгалтера показывают доход, но НДФЛ за него не платят.

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


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

 

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