Имя: Пароль:
1C
1С v8
УНФ (1.6.11.83) КУДиР
0 vladimir80
 
14.10.17
05:41
1С реализовали в УНФ "полноценный" КУДИР (д-р) пару-тройку месяцев назад. И вот подоспел период, открываем и видим картинку маслом - в записях третьего квартала, в самом конце признанные расходы на товар и НДС по нему октябрем. Работа идет с отсрочкой платежа, дата документа - дата оплаты проданного и отгруженного товара.

Если мне не изменяет память, то такая запись должна попадать в 4 квартал, т.к. последним совпало условие оплаты товара поставщику.

Ковыряю конфу, нахожу:

[CODE]
Процедура ВыполнитьФормированиеПоРасходамНаТовары(Организация, ПериодФормирования, Результат, МенеджерВТ)
    
    ДокументФормирования = Результат.ДокументФормирования;
    
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПартииТоваровОбороты.ДокументПартии,
    |    ПартииТоваровОбороты.ДокументРегистрацииВКУДиР КАК ПервичныйДокумент,
    |    ПартииТоваровОбороты.ДокументРегистрацииВКУДиР.Дата КАК ДатаПервичногоДокумента,
    |    ПартииТоваровОбороты.ДокументРегистрацииВКУДиР.Номер КАК НомерПервичногоДокумента,
    |    СУММА(ПартииТоваровОбороты.СуммаРасход) КАК СуммаРасход,
    |    СУММА(ПартииТоваровОбороты.СуммаНДСРасход) КАК СуммаНДСРасход
    |ПОМЕСТИТЬ ВтОплаченныеПартии
    |ИЗ
    |     РегистрНакопления.ПартииТоваров.Обороты(&НачалоПериода, &ОкончаниеПериода, Регистратор, Организация = &Организация) КАК ПартииТоваровОбороты
    |ГДЕ
    |    НЕ ПартииТоваровОбороты.ДокументПартии ЕСТЬ NULL
    |
    |СГРУППИРОВАТЬ ПО
    |    ПартииТоваровОбороты.ДокументРегистрацииВКУДиР,
    |    ПартииТоваровОбороты.ДокументПартии,
    |    ПартииТоваровОбороты.Регистратор.Дата,
    |    ПартииТоваровОбороты.Регистратор.Номер
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВЫБОР
    |        КОГДА ВтОплаченныеПартии.СуммаРасход > 0
    |            ТОГДА &ПризнаныРасходыНаТовары
    |        ИНАЧЕ &РасходыУменьшенныеОтВозврата
    |    КОНЕЦ КАК Содержание,
    |    СУММА(ВтОплаченныеПартии.СуммаРасход) КАК РасходВсего,
    |    СУММА(ВтОплаченныеПартии.СуммаРасход) КАК РасходБаза,
    |    ВтОплаченныеПартии.ДатаПервичногоДокумента,
    |    ВтОплаченныеПартии.НомерПервичногоДокумента,
    |    ВтОплаченныеПартии.ПервичныйДокумент КАК ПервичныйДокумент
    |ИЗ
    |    ВтОплаченныеПартии КАК ВтОплаченныеПартии
    |ГДЕ
    |    ВтОплаченныеПартии.СуммаРасход <> 0
    |
    |СГРУППИРОВАТЬ ПО
    |    ВтОплаченныеПартии.ПервичныйДокумент,
    |    ВЫБОР
    |        КОГДА ВтОплаченныеПартии.СуммаРасход > 0
    |            ТОГДА &ПризнаныРасходыНаТовары
    |        ИНАЧЕ &РасходыУменьшенныеОтВозврата
    |    КОНЕЦ,
    |    ВтОплаченныеПартии.ДатаПервичногоДокумента,
    |    ВтОплаченныеПартии.НомерПервичногоДокумента
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    ВЫБОР
    |        КОГДА ВтОплаченныеПартии.СуммаНДСРасход > 0
    |            ТОГДА &ПризнаныРасходыНаТоварыНДС
    |        ИНАЧЕ &РасходыУменьшенныеОтВозвратаНДС
    |    КОНЕЦ,
    |    СУММА(ВтОплаченныеПартии.СуммаНДСРасход),
    |    СУММА(ВтОплаченныеПартии.СуммаНДСРасход),
    |    ВтОплаченныеПартии.ДатаПервичногоДокумента,
    |    ВтОплаченныеПартии.НомерПервичногоДокумента,
    |    ВтОплаченныеПартии.ПервичныйДокумент
    |ИЗ
    |    ВтОплаченныеПартии КАК ВтОплаченныеПартии
    |ГДЕ
    |    ВтОплаченныеПартии.СуммаНДСРасход <> 0
    |
    |СГРУППИРОВАТЬ ПО
    |    ВЫБОР
    |        КОГДА ВтОплаченныеПартии.СуммаНДСРасход > 0
    |            ТОГДА &ПризнаныРасходыНаТоварыНДС
    |        ИНАЧЕ &РасходыУменьшенныеОтВозвратаНДС
    |    КОНЕЦ,
    |    ВтОплаченныеПартии.ПервичныйДокумент,
    |    ВтОплаченныеПартии.ДатаПервичногоДокумента,
    |    ВтОплаченныеПартии.НомерПервичногоДокумента
    |
    |УПОРЯДОЧИТЬ ПО
    |    ВтОплаченныеПартии.ДатаПервичногоДокумента";
    
    
    Запрос.УстановитьПараметр("НачалоПериода", НачалоКвартала(ПериодФормирования));
    Запрос.УстановитьПараметр("ОкончаниеПериода", ПериодФормирования);
    Запрос.УстановитьПараметр("Организация", Организация);
    
    Запрос.УстановитьПараметр("ПризнаныРасходыНаТовары", НСтр("ru='Признаны расходы на приобретение товаров'"));
    Запрос.УстановитьПараметр("РасходыУменьшенныеОтВозврата", НСтр("ru='Расходы уменьшены на сумма возвращенных покупателем товаров'"));
    
    Запрос.УстановитьПараметр("ПризнаныРасходыНаТоварыНДС", НСтр("ru='Признаны расходы на приобретение товаров (НДС)'"));
    Запрос.УстановитьПараметр("РасходыУменьшенныеОтВозвратаНДС", НСтр("ru='Расходы уменьшены на сумму возвращенных покупателем товаров (НДС)'"));
    
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Если ДокументФормирования = Неопределено И РезультатЗапроса.Количество() > 0 Тогда
        ДокументФормирования = Документы.ЗаписиУСН.СоздатьДокумент();
        ДокументФормирования.Дата = ПериодФормирования;
        ДокументФормирования.Организация = Организация;
        ДокументФормирования.ВидЗаписей = Перечисления.ВидыЗаписейФормированийКУДиР.РасходыНаТовары;
    КонецЕсли;
    Если ДокументФормирования <> Неопределено Тогда
        
        ДокументФормирования.ЗаписиКУДиР.Загрузить(РезультатЗапроса);
        Для Каждого СтрокаКУДиР ИЗ ДокументФормирования.ЗаписиКУДиР Цикл
            СтрокаКУДиР.НомерПервичногоДокумента =  ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(СтрокаКУДиР.НомерПервичногоДокумента, Истина, Истина);
        КонецЦикла;
        
        
        Результат.ДополнительнаяИнформация = НСтр("ru='Сформировано записей: '") + Строка(ДокументФормирования.ЗаписиКУДиР.Количество());
        ДокументФормирования.Записать(РежимЗаписиДокумента.Проведение);
        Результат.ДокументФормирования = ДокументФормирования.Ссылка;
    КонецЕсли;
    
    Запрос.Текст = "
    |УНИЧТОЖИТЬ ВтОплаченныеПартии;";
    Запрос.Выполнить();
    
КонецПроцедуры

[/CODE]

WTF? Может мне персонально кривая конфа досталась? Или тут что-то с трактовкой закона не так? HELP )))
1 vladimir80
 
14.10.17
05:53
Чтобы долго запрос не разглядывать, он выбирает все партии товара, оприходованные за квартал и когда-либо оплаченные / отгруженные. У кого-нибудь это работает нормально?
2 vladimir80
 
14.10.17
12:51
Неужели опять костыли писать....
3 h-sp
 
14.10.17
16:47
(2) перепроводите документы почаще. Перепроведите все документы хотя бф за этот год подряд. Эта упрощенка у них очень криво реализована. Немножко в сторону, не в той последовательности проведете и всё. Всё сдвинется. Оплаты привяжутся совсем к другим приходам. Потом так и будет долгие годы, пока вручную не вмешаетесь. Это в Бух так, но думаю, что и в унф.
4 vladimir80
 
15.10.17
18:00
(3) я уже с 12.10 перепровожу. Вопрос в том, что при условии оплаты проданного товара в следующем квартале, судя по процедуре, расход все равно попадет в кудир в том квартале, когда был продан. Хоть упроводись.
5 vladimir80
 
15.10.17
18:04
Вопрос был в том, что возможно у кого-то была такая ситуация, и у него все легло как надо, может у меня криво встало какое-то обновление и т.п.
6 h-sp
 
15.10.17
22:48
(5) не обновление криво, а базу ведете криво. Значит у вас к приходу привязалась другая оплата.  

СУММА(ПартииТоваровОбороты.СуммаРасход) КАК СуммаРасход,

суммаРАсход - это оплаты. Из запроса видно, что оплата явно не 4-го квартала привязалась. А более ранняя. И закрыла КУДИР.
7 vladimir80
 
16.10.17
02:04
(6) В том то и дело, что нет. Измерения документпартии и первичный документ. Документ партии - поступление, он то и попадает в период партий кудир. А первичный документ, суть закрывающий, из другого периода.

Поэтому попадает в период третьего квартала оплата из четвертого.

Базу может ведем и криво, но до этого было вычищено все что можно, и оплаты проводились в хронологическом порядке, закрывались все месяца с перепроведением, закрытием авансов и т.п.

Вот пример:

https://cdn1.savepice.ru/uploads/2017/10/16/ff1666644eea47a236dd422a2cff4d4b-full.png
8 vladimir80
 
16.10.17
02:10
В чем и вопрос, с чего вдруг он эту запись сделал в периоде расходной накладной, а не в периоде закрывающего документа - непонятно.
9 vladimir80
 
16.10.17
11:22
В качестве бреда - распровел обработкой все документы оплаты, прихода и расхода товара, провел обратно. Кудир пересчитался, но опять с теми же косяками, правда в другом квартале.

Так же неясно, в связи с чем предоплата из ввода начальных остатков никак не участвует в оплате партий кудир.

Как я люблю готовые решения от 1с, кто бы знал.