"Во первых, в приведенном алгоритме ошибка. Такое условие:<br>Если (ТекДок.Операция.Дебет.Счет = СчетПоКоду("60.6")) И (ТекДок.Операция.Дебет.Счет = СчетПоКоду("60.7"))<br>не будет выполнено никогда. Счет дебета не может одновременно быть равен и 60.6 и 60.7.<br>Во вторых, я не знаю что это за счета, но предполагаю, что это какой то аналог 60.1 и 60.2, которые используются в типовой конфигурации. Поэтому, для определенности пусть:<br>60.6 - долги перед поставщиком<br>60.7 - авансы, выплаченные поставщику<br>Предложенный вами алгоритм можно чуть оптимизировать, избавив систему от необходимости при каждом проходе производить поиск по плану счетов счетов с нужными кодами, кроме того, система 1С (7.7, по крайней мере)при проверке комбинированного условия вычисляет все его составляющие. То есть, при каждой операции сравнения у вас проверяется и (ТекДок.Операция.Дебет.Счет = СчетПоКоду("60.6"))<br>и<br>(ТекДок.Операция.Дебет.Счет = СчетПоКоду("60.7"))<br>и<br>(СокрЛП(ТекДок.Операция.Содержание) = "Зачтен аванс")<br>одновременно каждый раз вне зависимости от того были ли успешны проверки первых условий.<br>Кроме того, в вашем алгоритме не проверяется наличие операции для анализируемого документа, а ее может и не быть если документ не проведен и в конфигураторе указано, что операцию нужно порождать только при проведении.<br>В связи со сказанным, модифицируем ваш алгоритм и получаем вот что:<br><br>Сч60_6=СчетПоКоду("60.6");<br>Сч60_7=СчетПоКоду("60.7");<br>СодержаниеДляПроверки="Зачтен аванс";<br>Опер=СоздатьОбъект("Операция");<br>Док = СоздатьОбъект("Документ.ПоступлениеТоваров");<br>Док.ВыбратьПоЗначению(,ДатаДок,"Договор",Субконто2);<br>Пока Док.ПолучитьДокумент()=1 Цикл <br> ВДокументеЕстьЗачетАванса=0;<br> Если Опер.НайтиОперацию(Док.ТекущийДокумент())=1 Тогда<br> Опер.ВыбратьПроводки();<br> Пока Опер.ПолучитьПроводку()=1 Цикл<br> Если Опер.Дебет.Счет=Сч60_6 Тогда<br> Если Опер.Кредит.Счет=Сч60_7 Тогда<br> Если СокрЛП(Опер.Содержание)=СодержаниеДляПроверки Тогда<br> ВДокументеЕстьЗачетАванса=1;<br> Прервать;<br> КонецЕсли;<br> КонецЕсли;<br> КонецЕсли;<br> КонецЦикла;<br> КонецЕсли;<br> Если ВДокументеЕстьЗачетАванса=1 Тогда<br> ...<br> Иначе<br> ...<br> КонецЕсли;<br>КонецЦикла;"