Как программно создать документ КорректировкаЗаписейРегистров
По теме из базы знаний
- Несколько одноходовок
- Метод формирования движений в типовых регистрах нетиповыми регистраторами
- Комплексный контроль остатков. Для одного или сразу нескольких логически связанных регистров накопления. Универсальное решение уровня данных для контроля не только складских остатков
- Обрезание (сворачивание) базы 1С
- Табличный процессор
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
он напрямую работает с регистрами - табличные части формируются динамически. Нужно создать набор записей регистра накопления, где в качестве регистратора будет корректировка. Только вот надо или вручную предварительно или программно(щас не вспомню где) указать состав регистров документа. Иначе при перезаписи документа вручную всего его движения удалятся.
Я вот так делал
ДокКорректировкаГруппа=Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ДокКорректировкаГруппа.ЭтотОбъект, ПараметрыСеанса.ТекущийПользователь);
ДокКорректировкаГруппа.Дата = Дата(2010,12,31);
ДокКорректировкаГруппа.Комментарий = "Ввод начальных остатков по транспортным";
НоваяСтрокаРегТранс = ДокКорректировкаГруппа.ТаблицаРегистровНакопления.Добавить();
НоваяСтрокаРегТранс.Имя = "ТранспортныеЗатраты";
НоваяСтрокаРегТранс.Представление = "Журнал транспорнтых затрат";
....
ДокКорректировкаГруппа.Записать();
НаборЗаписей.мПериод=Дата(2010,12,31);
НаборЗаписей.мТаблицаДвижений=ДанныеВТЗ;
НаборЗаписей.ВыполнитьПриход();
ДокКорректировкаГруппа.Записать()
Показать
Объект = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
Объект.Дата = КонецДня(ДатаДокумента);
Объект.УстановитьНовыйНомер();
Объект.ИспользоватьЗаполнениеДвижений = Истина;
Объект.ЗаполнениеДвижений.Добавить();
и т.д.
Объект.Дата = КонецДня(ДатаДокумента);
Объект.УстановитьНовыйНомер();
Объект.ИспользоватьЗаполнениеДвижений = Истина;
Объект.ЗаполнениеДвижений.Добавить();
и т.д.
ДокКор = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
Стр = ДокКор.Движения.ВзаиморасчетыУСН.ДобавитьРасход();
Стр.Организация = ВыборкаДетальныеЗаписи.Организация;
Стр.ДоговорКонтрагента = Планысчетов.Хозрасчетный.ЕНприУСН;
Стр.СуммаВзаиморасчетов = ВыборкаДетальныеЗаписи.СуммаОборот;
Стр.Период = КонецГода(дата);
//-----
Стр2 = ДокКор.Движения.РасходыПриУСН.ДобавитьПриход();
Стр2.Организация = ВыборкаДетальныеЗаписи.Организация;
Стр2.СтатусыОплатыРасходовУСН = Перечисления.СтатусыРасходовУСН.НеОплачено;
Стр2.ВидРасхода = Перечисления.ВидыРасходовУСН.Налоги;
Стр2.СчетУчета = Планысчетов.Хозрасчетный.ЕНприУСН;
Стр2.Валюта = Валюта643;
Стр2.ОтражениеВУСН = Перечисления.ОтражениеВУСН.НеПринимаются;
Стр2.Сумма = ВыборкаДетальныеЗаписи.СуммаОборот;
Стр2.Период = КонецГода(дата);
Стр = ДокКор.Движения.ВзаиморасчетыУСН.ДобавитьРасход();
Стр.Организация = ВыборкаДетальныеЗаписи.Организация;
Стр.ДоговорКонтрагента = Планысчетов.Хозрасчетный.ЕНприУСН;
Стр.СуммаВзаиморасчетов = ВыборкаДетальныеЗаписи.СуммаОборот;
Стр.Период = КонецГода(дата);
//-----
Стр2 = ДокКор.Движения.РасходыПриУСН.ДобавитьПриход();
Стр2.Организация = ВыборкаДетальныеЗаписи.Организация;
Стр2.СтатусыОплатыРасходовУСН = Перечисления.СтатусыРасходовУСН.НеОплачено;
Стр2.ВидРасхода = Перечисления.ВидыРасходовУСН.Налоги;
Стр2.СчетУчета = Планысчетов.Хозрасчетный.ЕНприУСН;
Стр2.Валюта = Валюта643;
Стр2.ОтражениеВУСН = Перечисления.ОтражениеВУСН.НеПринимаются;
Стр2.Сумма = ВыборкаДетальныеЗаписи.СуммаОборот;
Стр2.Период = КонецГода(дата);
перем дата;
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика.
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Валюта643 = Справочники.Валюты.НайтиПоКоду("643");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйОборотыДтКт.СуммаОборот,
| ХозрасчетныйОборотыДтКт.Организация
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоГода, &КонецГода, , СчетДт = ЗНАЧЕНИЕ(Плансчетов.Хозрасчетный.ПрочиеРасходыНеОблагаемыеЕНВД), , СчетКт = ЗНАЧЕНИЕ(Плансчетов.Хозрасчетный.ЕНприУСН), , ) КАК ХозрасчетныйОборотыДтКт";
дата = дата(НалогиЗаГод+"0101");
Запрос.УстановитьПараметр("КонецГода", КонецГода(дата));
Запрос.УстановитьПараметр("НачалоГода", НачалоГода(дата));
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
ДокКор = ПолучитьДокКорректировки();
ДокКор.Движения.ВзаиморасчетыУСН.Очистить();
ДокКор.Движения.РасходыПриУСН.Очистить();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Стр = ДокКор.Движения.ВзаиморасчетыУСН.ДобавитьРасход();
Стр.Организация = ВыборкаДетальныеЗаписи.Организация;
Стр.ДоговорКонтрагента = Планысчетов.Хозрасчетный.ЕНприУСН;
Стр.СуммаВзаиморасчетов = ВыборкаДетальныеЗаписи.СуммаОборот;
Стр.Период = КонецГода(дата);
Стр2 = ДокКор.Движения.РасходыПриУСН.ДобавитьПриход();
Стр2.Организация = ВыборкаДетальныеЗаписи.Организация;
Стр2.СтатусыОплатыРасходовУСН = Перечисления.СтатусыРасходовУСН.НеОплачено;
Стр2.ВидРасхода = Перечисления.ВидыРасходовУСН.Налоги;
Стр2.СчетУчета = Планысчетов.Хозрасчетный.ЕНприУСН;
Стр2.Валюта = Валюта643;
Стр2.ОтражениеВУСН = Перечисления.ОтражениеВУСН.НеПринимаются;
Стр2.Сумма = ВыборкаДетальныеЗаписи.СуммаОборот;
Стр2.Период = КонецГода(дата);
КонецЦикла;
Попытка
ДокКор.Записать();
Сообщить(ДокКор);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
//ДвиженияПоРегистрамУСН
КонецПроцедуры
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика.
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Валюта643 = Справочники.Валюты.НайтиПоКоду("643");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйОборотыДтКт.СуммаОборот,
| ХозрасчетныйОборотыДтКт.Организация
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоГода, &КонецГода, , СчетДт = ЗНАЧЕНИЕ(Плансчетов.Хозрасчетный.ПрочиеРасходыНеОблагаемыеЕНВД), , СчетКт = ЗНАЧЕНИЕ(Плансчетов.Хозрасчетный.ЕНприУСН), , ) КАК ХозрасчетныйОборотыДтКт";
дата = дата(НалогиЗаГод+"0101");
Запрос.УстановитьПараметр("КонецГода", КонецГода(дата));
Запрос.УстановитьПараметр("НачалоГода", НачалоГода(дата));
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
ДокКор = ПолучитьДокКорректировки();
ДокКор.Движения.ВзаиморасчетыУСН.Очистить();
ДокКор.Движения.РасходыПриУСН.Очистить();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Стр = ДокКор.Движения.ВзаиморасчетыУСН.ДобавитьРасход();
Стр.Организация = ВыборкаДетальныеЗаписи.Организация;
Стр.ДоговорКонтрагента = Планысчетов.Хозрасчетный.ЕНприУСН;
Стр.СуммаВзаиморасчетов = ВыборкаДетальныеЗаписи.СуммаОборот;
Стр.Период = КонецГода(дата);
Стр2 = ДокКор.Движения.РасходыПриУСН.ДобавитьПриход();
Стр2.Организация = ВыборкаДетальныеЗаписи.Организация;
Стр2.СтатусыОплатыРасходовУСН = Перечисления.СтатусыРасходовУСН.НеОплачено;
Стр2.ВидРасхода = Перечисления.ВидыРасходовУСН.Налоги;
Стр2.СчетУчета = Планысчетов.Хозрасчетный.ЕНприУСН;
Стр2.Валюта = Валюта643;
Стр2.ОтражениеВУСН = Перечисления.ОтражениеВУСН.НеПринимаются;
Стр2.Сумма = ВыборкаДетальныеЗаписи.СуммаОборот;
Стр2.Период = КонецГода(дата);
КонецЦикла;
Попытка
ДокКор.Записать();
Сообщить(ДокКор);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
//ДвиженияПоРегистрамУСН
КонецПроцедуры
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Функция ПолучитьДокКорректировки()
ДокКор = неопределено;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| КорректировкаЗаписейРегистров.Ссылка
|ИЗ
| Документ.КорректировкаЗаписейРегистров КАК КорректировкаЗаписейРегистров
|ГДЕ
| КорректировкаЗаписейРегистров.Комментарий ПОДОБНО &Комментарий
| И КорректировкаЗаписейРегистров.Дата >= &Дата1
| И КорректировкаЗаписейРегистров.Дата <= &Дата2
| И КорректировкаЗаписейРегистров.ПометкаУдаления = ЛОЖЬ";
Запрос.УстановитьПараметр("Дата2", КонецГода(дата));
Запрос.УстановитьПараметр("Дата1", НачалоГода(дата));
Запрос.УстановитьПараметр("Комментарий", "ДвиженияПоРегистрамУСН");
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Если ВыборкаДетальныеЗаписи.Количество() = 0 Тогда
ДокКор = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
ДокКор.Комментарий = "ДвиженияПоРегистрамУСН";
ДокКор.Дата = КонецГода(дата);
НоваяСтрока = ДокКор.ТаблицаРегистровНакопления.Добавить();
НоваяСтрока.Имя = "ВзаиморасчетыУСН" ;
НоваяСтрока.Представление = "ВзаиморасчетыУСН";
НоваяСтрока2 = ДокКор.ТаблицаРегистровНакопления.Добавить();
НоваяСтрока2.Имя = "РасходыПриУСН" ;
НоваяСтрока2.Представление = "РасходыПриУСН";
ДокКор.Записать();
Иначе
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
ДокКор = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
КонецЦикла;
КонецЕсли;
Возврат ДокКор;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецФункции // ПолучитьДокКорректировки()
ДокКор = неопределено;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| КорректировкаЗаписейРегистров.Ссылка
|ИЗ
| Документ.КорректировкаЗаписейРегистров КАК КорректировкаЗаписейРегистров
|ГДЕ
| КорректировкаЗаписейРегистров.Комментарий ПОДОБНО &Комментарий
| И КорректировкаЗаписейРегистров.Дата >= &Дата1
| И КорректировкаЗаписейРегистров.Дата <= &Дата2
| И КорректировкаЗаписейРегистров.ПометкаУдаления = ЛОЖЬ";
Запрос.УстановитьПараметр("Дата2", КонецГода(дата));
Запрос.УстановитьПараметр("Дата1", НачалоГода(дата));
Запрос.УстановитьПараметр("Комментарий", "ДвиженияПоРегистрамУСН");
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Если ВыборкаДетальныеЗаписи.Количество() = 0 Тогда
ДокКор = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
ДокКор.Комментарий = "ДвиженияПоРегистрамУСН";
ДокКор.Дата = КонецГода(дата);
НоваяСтрока = ДокКор.ТаблицаРегистровНакопления.Добавить();
НоваяСтрока.Имя = "ВзаиморасчетыУСН" ;
НоваяСтрока.Представление = "ВзаиморасчетыУСН";
НоваяСтрока2 = ДокКор.ТаблицаРегистровНакопления.Добавить();
НоваяСтрока2.Имя = "РасходыПриУСН" ;
НоваяСтрока2.Представление = "РасходыПриУСН";
ДокКор.Записать();
Иначе
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
ДокКор = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
КонецЦикла;
КонецЕсли;
Возврат ДокКор;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецФункции // ПолучитьДокКорректировки()
Документ «Корректировка записей регистров» в типовых конфигурациях 1С предназначен для ручной корректировки записей регистров накопления, зависимых регистров сведений и регистров бухгалтерии. Типичные ситуации, в которых может понадобиться документ «Корректировка записей регистров», - ввод начальных остатков, исправление ошибок в учете, отражение в учете операций, для которых в конфигурации нет специальных документов. В документе есть сервис автоматического заполнения движений с предопределенным действием «Сторно движений документа». С его помощь можно автоматически создать движения по регистрам бухгалтерии и регистрам накопления, аналогичные движениям указанного документа, но с отрицательными значениями.
Иногда количество вводимых записей по регистрам может быть велико и тогда целесообразно выполнить корректировку регистров программно. Документ «Корректировка записей регистров», как Вы уже, наверно, догадались, не совсем обычный. А иначе бы о нем не стоило и писать. В этом плане у него много общего с документом «Операция», который мы разбирали недавно.
В качестве примера, когда может потребоваться программно создать документ «Корректировка записей регистров», предлагаю рассмотреть операцию переоценки основных средств. Переоценка основных средств - ситуация хоть и нечастая, но все же вполне реальная, а специального документа для переоценки в типовых конфигурациях 1С нет. Чтобы пример получился более представительным (включал в себя все виды корректируемых регистров), я сделал обработку для конфигурации «1С:Управление производственным предприятием». Но с другой стороны, чтобы не перегружать пример лишней информацией, мы рассмотрим случай, когда в результате переоценки происходит увеличение стоимости основных средств и накопленной амортизации (дооценка).
В этом случае переоценка основных средств отражается в бухгалтерском учете проводками:
Дт. 01.01. - Кт. 83.01 - Увеличение первоначальной стоимости ОС.
Дт. 83.01. - Кт. 02.01 - Увеличение суммы накопленной амортизации ОС.
В налоговом учете операция переоценки основных средств не предусмотрена, но для того чтобы соблюдалось равенство БУ = НУ + ПР + ВР, мы должны отразить в учете возникновение постоянных разниц. Также мы должны сделать движения в регистрах накопления «СтоимостьОС», «СтоимостьОСБухгалтерскийУчет» и в регистрах сведений «ПараметрыАмортизацииОС», «ПараметрыАмортизацииОСБухгалтерскийУчет», «СобытияОС» и «СобытияОСОрганизаций».
Исходные данные для переоценки ОС берутся из dbf-таблицы с набором полей:
OS (строка) - код основного средства;
SumU (число) - сумма дооценки по управленческому учету в единицах валюты управленческого учета;
SumB (число) - сумма дооценки по бухгалтерскому учету;
AmortU (число) - сумма дооценки накопленной амортизации по управленческому учету в единицах валюты управленческого учета;
AmortB (число) - сумма дооценки накопленной амортизации по бухгалтерскому учету.
Упрощенный фрагмент кода обработки, иллюстрирующий запись проводок в регистр бухгалтерии, представлен в листинге:
Как видно из примера, документ «Корректировка записей регистров» подобно документу «Операция» используется в качестве регистратора, движения же записываются непосредственно в регистр. Движения по регистрам накопления и регистрам сведений делаются аналогично.
Иногда количество вводимых записей по регистрам может быть велико и тогда целесообразно выполнить корректировку регистров программно. Документ «Корректировка записей регистров», как Вы уже, наверно, догадались, не совсем обычный. А иначе бы о нем не стоило и писать. В этом плане у него много общего с документом «Операция», который мы разбирали недавно.
В качестве примера, когда может потребоваться программно создать документ «Корректировка записей регистров», предлагаю рассмотреть операцию переоценки основных средств. Переоценка основных средств - ситуация хоть и нечастая, но все же вполне реальная, а специального документа для переоценки в типовых конфигурациях 1С нет. Чтобы пример получился более представительным (включал в себя все виды корректируемых регистров), я сделал обработку для конфигурации «1С:Управление производственным предприятием». Но с другой стороны, чтобы не перегружать пример лишней информацией, мы рассмотрим случай, когда в результате переоценки происходит увеличение стоимости основных средств и накопленной амортизации (дооценка).
В этом случае переоценка основных средств отражается в бухгалтерском учете проводками:
Дт. 01.01. - Кт. 83.01 - Увеличение первоначальной стоимости ОС.
Дт. 83.01. - Кт. 02.01 - Увеличение суммы накопленной амортизации ОС.
В налоговом учете операция переоценки основных средств не предусмотрена, но для того чтобы соблюдалось равенство БУ = НУ + ПР + ВР, мы должны отразить в учете возникновение постоянных разниц. Также мы должны сделать движения в регистрах накопления «СтоимостьОС», «СтоимостьОСБухгалтерскийУчет» и в регистрах сведений «ПараметрыАмортизацииОС», «ПараметрыАмортизацииОСБухгалтерскийУчет», «СобытияОС» и «СобытияОСОрганизаций».
Исходные данные для переоценки ОС берутся из dbf-таблицы с набором полей:
OS (строка) - код основного средства;
SumU (число) - сумма дооценки по управленческому учету в единицах валюты управленческого учета;
SumB (число) - сумма дооценки по бухгалтерскому учету;
AmortU (число) - сумма дооценки накопленной амортизации по управленческому учету в единицах валюты управленческого учета;
AmortB (число) - сумма дооценки накопленной амортизации по бухгалтерскому учету.
Упрощенный фрагмент кода обработки, иллюстрирующий запись проводок в регистр бухгалтерии, представлен в листинге:
Сч01_01 = ПланыСчетов.Хозрасчетный.ОСвОрганизации;
Сч02_01 = ПланыСчетов.Хозрасчетный.АмортизацияОС_01;
Сч83_01 = ПланыСчетов.Хозрасчетный.ПриростСтоимостиИмуществаПоПереоценке;
ДБФ = Новый XBase;
ДБФ.ОткрытьФайл(ИмяФайла);
Если ДБФ.Открыта() Тогда
Попытка
НачатьТранзакцию();
ДокКорректировка = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ДокКорректировка.ЭтотОбъект, ПараметрыСеанса.ТекущийПользователь);
ДокКорректировка.Дата = Период;
НоваяСтрокаРегБух = ДокКорректировка.ТаблицаРегистровБухгалтерии.Добавить();
НоваяСтрокаРегБух.Имя = "Хозрасчетный";
НоваяСтрокаРегБух.Представление = "Журнал проводок (бухгалтерский учет)";
ДокКорректировка.Записать();
ДокКорректировкаСсылка = ДокКорректировка.Ссылка;
НЗХозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НЗХозрасчетный.Отбор.Регистратор.Значение = ДокКорректировкаСсылка;
ДБФ.Первая();
Пока Не ДБФ.ВКонце() Цикл
ОсновноеСредство = Справочники.ОсновныеСредства.НайтиПоКоду(СокрЛП(ДБФ.OS));
Если ОсновноеСредство.Пустая() Тогда
Сообщить("Не найдено ОС с кодом " + ДБФ.OS + "!", СтатусСообщения.Важное);
Продолжить;
КонецЕсли;
ЗХозрасчетный = НЗХозрасчетный.Добавить();
ЗХозрасчетный.Период = Период;
ЗХозрасчетный.Регистратор = ДокКорректировкаСсылка;
ЗХозрасчетный.Организация = Организация;
ЗХозрасчетный.Содержание = "Увеличение первоначальной стоимости ОС";
ЗХозрасчетный.СчетДт = Сч01_01;
ЗХозрасчетный.СчетКт = Сч83_01;
БухгалтерскийУчет.УстановитьСубконто(ЗХозрасчетный.СчетДт, ЗХозрасчетный.СубконтоДт, "ОсновныеСредства", ОсновноеСредство);
БухгалтерскийУчет.УстановитьСубконто(ЗХозрасчетный.СчетКт, ЗХозрасчетный.СубконтоКт, "ОсновныеСредства", ОсновноеСредство);
ЗХозрасчетный.Сумма = ДБФ.SumB;
ЗХозрасчетный = НЗХозрасчетный.Добавить();
ЗХозрасчетный.Период = Период;
ЗХозрасчетный.Регистратор = ДокКорректировкаСсылка;
ЗХозрасчетный.Организация = Организация;
ЗХозрасчетный.Содержание = "Увеличение накопленной амортизации ОС";
ЗХозрасчетный.СчетДт = Сч83_01;
ЗХозрасчетный.СчетКт = Сч02_01;
БухгалтерскийУчет.УстановитьСубконто(ЗХозрасчетный.СчетДт, ЗХозрасчетный.СубконтоДт, "ОсновныеСредства", ОсновноеСредство);
БухгалтерскийУчет.УстановитьСубконто(ЗХозрасчетный.СчетКт, ЗХозрасчетный.СубконтоКт, "ОсновныеСредства", ОсновноеСредство);
ЗХозрасчетный.Сумма = ДБФ.AmortB;
ДБФ.Следующая();
КонецЦикла;
ДБФ.ЗакрытьФайл();
НЗХозрасчетный.Записать();
ЗафиксироватьТранзакцию();
Исключение
Сообщить(ОписаниеОшибки(), СтатусСообщения.ОченьВажное);
ОтменитьТранзакцию();
КонецПопытки;
КонецЕсли;
ПоказатьКак видно из примера, документ «Корректировка записей регистров» подобно документу «Операция» используется в качестве регистратора, движения же записываются непосредственно в регистр. Движения по регистрам накопления и регистрам сведений делаются аналогично.
Доброго времени суток, если тема еще жива, то может кто-нить подсказать, как создать документ "Корректировка записей регистров" так, чтобы он не попал в обмен?
Заранее оговорюсь, что чистить зарегистрированные объекты для обмена - не вариант, нужно чтобы они не попадали в регистрацию, но ТОЛЬКО для конкретного документа, а все остальные корректировки - попадали.
Есть у кого-нибудь какие-то предложения?
Заранее оговорюсь, что чистить зарегистрированные объекты для обмена - не вариант, нужно чтобы они не попадали в регистрацию, но ТОЛЬКО для конкретного документа, а все остальные корректировки - попадали.
Есть у кого-нибудь какие-то предложения?
(13) В любом случае придётся менять либо правила обмена, либо правила регистрации. Всё зависит от того, как у Вас настроен обмен. Признаком нерегистрируемости конкретного документа может являться, например, спец. строка символов в комментарии (типа: "#не#регистрировать#"), либо флаг какой-нить на форме документа, если есть возможность/желание менять конфигурацию/расширение. По этому признаку и отказывать в регистрации в правилах регистрации или же в правилах обмена использовать его как параметр с аналогичным назначением. В общем и целом - как-то так...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот