![]() |
Как скопировать корректировку записей регистров Как скопировать корректировку записей регистров - есть несколько документов, они огромны (по бух.учету), надо скопировать идентичные по налоговому учету... |
действия - заполнить из документа |
нет, не то! Данные введены в регистре накоплений,по БУ (движение приход и расход материала), теперь все это надо скопировать в такой же регистр накопления по НУ. Действия - заполнить из документа (такого нет просто) |
действия - написать обработку или Действия - купить обработку или Действия - ..... обработку |
Конфигурация, надеюсь, Документооборот? |
конфигурация УПП 8.2. А где купить обработку, я бы заказал. Она как мне сказали очень проста, но опыта пока в этом не особо |
Упрощенный фрагмент кода обработки, иллюстрирующий запись проводок в регистр бухгалтерии, представлен в листинге (но это для переоценки ОС, подскажите как его переделать для моего случая???): Сч01_01 = ПланыСчетов.Хозрасчетный.ОСвОрганизации; Сч02_01 = ПланыСчетов.Хозрасчетный.АмортизацияОС_01; Сч83_01 = ПланыСчетов.Хозрасчетный.ПриростСтоимостиИмуществаПоПереоценке; ДБФ = Новый XBase; ДБФ.ОткрытьФайл(ИмяФайла); Если ДБФ.Открыта() Тогда Попытка НачатьТранзакцию(); ДокКорректировка = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент(); ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ДокКорректировка.ЭтотОбъект, ПараметрыСеанса.ТекущийПользователь); ДокКорректировка.Дата = Период; НоваяСтрокаРегБух = ДокКорректировка.ТаблицаРегистровБухгалтерии.Добавить(); НоваяСтрокаРегБух.Имя = "Хозрасчетный"; НоваяСтрокаРегБух.Представление = "Журнал проводок (бухгалтерский учет)"; ДокКорректировка.Записать(); ДокКорректировкаСсылка = ДокКорректировка.Ссылка; НЗХозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); НЗХозрасчетный.Отбор.Регистратор.Значение = ДокКорректировкаСсылка; ДБФ.Первая(); Пока Не ДБФ.ВКонце() Цикл ОсновноеСредство = Справочники.ОсновныеСредства.НайтиПоКоду(СокрЛП(ДБФ.OS)); Если ОсновноеСредство.Пустая() Тогда Сообщить("Не найдено ОС с кодом " + ДБФ.OS + "!", СтатусСообщения.Важное); Продолжить; КонецЕсли; ЗХозрасчетный = НЗХозрасчетный.Добавить(); ЗХозрасчетный.Период = Период; ЗХозрасчетный.Регистратор = ДокКорректировкаСсылка; ЗХозрасчетный.Организация = Организация; ЗХозрасчетный.Содержание = "Увеличение первоначальной стоимости ОС"; ЗХозрасчетный.СчетДт = Сч01_01; ЗХозрасчетный.СчетКт = Сч83_01; БухгалтерскийУчет.УстановитьСубконто(ЗХозрасчетный.СчетДт, ЗХозрасчетный.СубконтоДт, "ОсновныеСредства", ОсновноеСредство); БухгалтерскийУчет.УстановитьСубконто(ЗХозрасчетный.СчетКт, ЗХозрасчетный.СубконтоКт, "ОсновныеСредства", ОсновноеСредство); ЗХозрасчетный.Сумма = ДБФ.SumB; ЗХозрасчетный = НЗХозрасчетный.Добавить(); ЗХозрасчетный.Период = Период; ЗХозрасчетный.Регистратор = ДокКорректировкаСсылка; ЗХозрасчетный.Организация = Организация; ЗХозрасчетный.Содержание = "Увеличение накопленной амортизации ОС"; ЗХозрасчетный.СчетДт = Сч83_01; ЗХозрасчетный.СчетКт = Сч02_01; БухгалтерскийУчет.УстановитьСубконто(ЗХозрасчетный.СчетДт, ЗХозрасчетный.СубконтоДт, "ОсновныеСредства", ОсновноеСредство); БухгалтерскийУчет.УстановитьСубконто(ЗХозрасчетный.СчетКт, ЗХозрасчетный.СубконтоКт, "ОсновныеСредства", ОсновноеСредство); ЗХозрасчетный.Сумма = ДБФ.AmortB; ДБФ.Следующая(); КонецЦикла; ДБФ.ЗакрытьФайл(); НЗХозрасчетный.Записать(); ЗафиксироватьТранзакцию(); Исключение Сообщить(ОписаниеОшибки(), СтатусСообщения.ОченьВажное); ОтменитьТранзакцию(); КонецПопытки; КонецЕсли; |
Процедура ПриКопировании(ОбъектКопирования) ЭтотОбъект.Дата = ТекущаяДата(); ЭтотОбъект.Записать(); Для каждого Набор Из ОбъектКопирования.Движения Цикл Набор.Прочитать(); Если Набор.Количество() = 0 Тогда Продолжить; КонецЕсли; НаборТекущегоОбъекта = Движения[Набор.Метаданные().Имя]; Для каждого ЗаписьНабора Из Набор Цикл НоваяЗапись = НаборТекущегоОбъекта.Добавить(); НоваяЗапись.Активность = ЗаписьНабора.Активность; Если Лев(ТипЗНЧ(НаборТекущегоОбъекта),18) = "Регистр накопления" Тогда Если НаборТекущегоОбъекта.Метаданные().ВидРегистра = Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки Тогда НоваяЗапись.ВидДвижения = ЗаписьНабора.ВидДвижения; КонецЕсли; КонецЕсли; НоваяЗапись.Период = ТекущаяДата(); Для каждого Измерение Из Набор.Метаданные().Измерения Цикл НоваяЗапись[Измерение.Имя] = ЗаписьНабора[Измерение.Имя]; КонецЦикла; Для каждого Ресурс Из Набор.Метаданные().Ресурсы Цикл НоваяЗапись[Ресурс.Имя] = ЗаписьНабора[Ресурс.Имя]; КонецЦикла; Для каждого Реквизит Из Набор.Метаданные().Реквизиты Цикл НоваяЗапись[Реквизит.Имя] = ЗаписьНабора[Реквизит.Имя]; КонецЦикла; Движения[Набор.Метаданные().Имя].Записать(); КонецЦикла; КонецЦикла; КонецПроцедуры |
| Текущее время: 17:39. Часовой пояс GMT +3. |