|
Обнуление 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) Тогда Пров.Суб |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |