Редактирование документов с ручной корректировкой
06.07.2011
19:07
#1
Всем привет! Как можно программно редактировать документ, который вручную скорректирован? Например в счет-фактуру выданную мне нужно прописать в проводке (ПодразделениеДт и ПодразделениеКт) подразделение организации в поля.
07.07.2011
11:40
#5
СФ на аванс не делает движений по счетам, где требуется учитывать подразделения! Опишите полностью задачу, с приведением проводок.
07.07.2011
13:15
#6
"Счет-фактура выданный (Вид счет-фактуры: на аванс; Документ-основание: Поступление на расчетный счет; Ручная корректировка: Истина) делает проводки Дт 76.АВ --- Кт68.02. В данном случае субконто не играют роли. Нужно взять подразделение организации из Документа основания (в нем есть реквизит подразделение организации) и вставить в проводку как ПодразделениеДт и ПодразделениеКт.
Уже сам допер, вот код, может кому пригодится, лишнее я убрал (может еще что-нибудь лишнее осталось)"
ЗапросНаВыборку = Новый Запрос;
ЗапросНаВыборку.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| ХозрасчетныйДвиженияССубконто.Период,
| ХозрасчетныйДвиженияССубконто.Регистратор,
| ХозрасчетныйДвиженияССубконто.Активность,
| ХозрасчетныйДвиженияССубконто.СчетДт,
| ХозрасчетныйДвиженияССубконто.СчетКт,
| ХозрасчетныйДвиженияССубконто.Организация
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК ХозрасчетныйДвиженияССубконто
|ГДЕ
| ХозрасчетныйДвиженияССубконто.Активность = ИСТИНА
| И ХозрасчетныйДвиженияССубконто.СчетДт = &СчетДт";
ЗапросНаВыборку.УстановитьПараметр("СчетДт", ПланыСчетов.Хозрасчетный.НайтиПоКоду("76.АВ").Ссылка);
РезультатЗапроса = ЗапросНаВыборку.Выполнить().Выбрать();
Пока РезультатЗапроса.Следующий() Цикл
Если ТипЗнч(РезультатЗапроса.Регистратор) = ТипЗнч(Документы.СчетФактураВыданный.ПустаяСсылка()) Тогда
Если РезультатЗапроса.Регистратор.РучнаяКорректировка Тогда
Подразделение = РезультатЗапроса.Регистратор.ДокументыОснования[0].ДокументОснование.ПодразделениеОрганизации;
НаборЗаписей = РезультатЗапроса.Регистратор.ПолучитьОбъект().Движения.Хозрасчетный;
НаборЗаписей.Прочитать();
ТЗ = НаборЗаписей.Выгрузить();
Для каждого Строка ИЗ ТЗ Цикл
Строка.ПодразделениеДт = Подразделение;
Строка.ПодразделениеКт = Подразделение;
КонецЦикла;
ЗаписьСФВ = РезультатЗапроса.Регистратор.ПолучитьОбъект();
ЗаписьСФВ.ПодразделениеОрганизации = Подразделение;
ЗаписьСФВ.Записать(РежимЗаписиДокумента.Запись);
НаборЗаписей.Загрузить(тз);
НаборЗаписей.Записать();
КонецЕсли;
КонецЕсли;
КонецЦикла;
Уже сам допер, вот код, может кому пригодится, лишнее я убрал (может еще что-нибудь лишнее осталось)"
07.07.2011
13:39
#8
Бухгалтерия сказала, что по счетам 76.АВ и 76.ВА нужно вести учет по позразделениям, осталось перепровести все документы связанные с этими счетами, но так как некоторые из них скорректированы вручную, то пришлось писать внешнюю обработку.
Читают тему
(гостей: 1)