"Конфигурация Бухгалтерия предприятия, редакция 2.0 (2.0.22.1)<br> <br>Ошибка состоит в том, что после корректировки долга надо выписывать счет-фактур на аванс, а это неправильно.<br> <br>Получили денежные средства документом Платежка вх №1 от 01.02.11.<br>Перед формирование книги продаж, запускаем обработку Регистрация счетов фактур на аванс, и регистрируем счет фактуру.<br>Сформировали книгу продаж и книгу покупок за 1ый квартал.<br> <br>01.04.11 делаем документ Корректировка долга и переносим аванс с одного договора на другой.<br>Запускаем обработку Регистрация счетов фактур на аванс и он опять мне говорит о том, что надо зарегистрировать счет фактур на аванс по документу Платежка вх №1 от 01.02.11, хотя на него уже было все зарегистрировано.<br> <br>Мало того, корректировка долга, не исправляет регистр НДС с авансов. Поэтому, если даже убирать из регистрации строку неправильную, то в регистре по остаткам получится "минус".<br> <br>Такая ошибка повторяется в связи с поиском счет-фактуры по контрагенту и договору, но т.к. мы договор поменяли, то естественно в выписанных уже не находит.<br> <br>Кусок кода:<br>Процедура ОпределитьРанееВыписанныеСчетаФактуры(ТаблицаАвансов)<br> <br> Если ТаблицаАвансов.Количество() > 0 Тогда<br> <br> Запрос = Новый Запрос;<br> Запрос.Текст = <br> "ВЫБРАТЬ<br> | СчетФактураВыданный.Ссылка КАК СчетФактура,<br> | СчетФактураВыданный.Ссылка.Дата КАК ДатаВыписки,<br> | СчетФактураВыданный.Ссылка.ДоговорКонтрагента,<br> | СчетФактураВыданный.ДокументОснование<br> |ИЗ<br> | Документ.СчетФактураВыданный.ДокументыОснования КАК СчетФактураВыданный<br> |ГДЕ<br> | СчетФактураВыданный.ДокументОснование В(&ДокументыОснования)<br> | И СчетФактураВыданный.Ссылка.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.НДСВидСчетаФактуры.НаАванс)<br> | И СчетФактураВыданный.Ссылка.ПометкаУдаления = ЛОЖЬ";<br> <br> Запрос.УстановитьПараметр("ДокументыОснования", ОбщегоНазначения.УдалитьПовторяющиесяЭлементыМассива(ТаблицаАвансов.ВыгрузитьКолонку("ДокументОснование"), Истина));<br> <br> СФПоДокументам = Запрос.Выполнить().Выгрузить();<br> <br> Если СФПоДокументам.Количество()>0 Тогда<br> <br> СтруктураОтбора = Новый Структура("ДокументОснование, ДоговорКонтрагента"); // по данной структуре отбора не найдет выписанную ранее счет фактуру, потому что поменялся договор<br> Для Каждого СФ Из СФПоДокументам Цикл<br> ЗаполнитьЗначенияСвойств(СтруктураОтбора, СФ);<br> СтрокиОтбора = ТаблицаАвансов.НайтиСтроки(СтруктураОтбора);<br> Для Каждого СтрокаОтбора Из СтрокиОтбора Цикл<br> СтрокаОтбора.СчетФактура = СФ.СчетФактура;<br> СтрокаОтбора.ДатаВыписки = СФ.ДатаВыписки;<br> КонецЦикла;<br> КонецЦикла;<br> <br> КонецЕсли;<br> КонецЕсли;<br> <br>Или я что-то неправильно делаю?)"