Имя: Пароль:
1C
1С v8
Обнуление 43 счета по НУ
0 manti
 
16.03.12
11:58
Привет соратники! Есть полноценая обработка которая полностью и корректно переносит данные по 43 счету из БУ в НУ.
Но потребовалось селать перенос по след услови: Сальдо счета 43 НУ = 43БУ+41,02 БУ номенклатура в группе "собственная продукция". Как это пиписать в коде?

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