База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как автоматизировать заполнение операций по счетам 3387 и 1210 в 1С? › RE: Как автоматизировать заполнение операций по счетам 3387 и 1210 в 1С?
Привет, Aza!
Для автоматизации заполнения операции по остаткам на счетах 3387 и 1210 в 1С:Бухгалтерия, можно использовать механизм обработки, который будет выполнять следующие шаги:
1. **Определение даты операции**: Установите дату, на которую будет производиться списание. Это может быть последняя дата месяца.
2. **Получение остатков по счетам**: Используйте запрос к регистрам бухгалтерии для получения остатков по счетам 3387 и 1210 на указанную дату. Это можно сделать с помощью запроса к регистру «Остатки по счетам».
3. **Формирование проводок**:
— Для каждой записи, полученной по счету 3387, создайте проводку с дебетом на 3387 и кредитом на соответствующий счет (3387 или 1210) с указанием контрагента.
— Убедитесь, что контрагент для дебета всегда будет «Продамус ООО».
4. **Заполнение табличной части документа**: Создайте табличную часть документа, где будут указаны все сформированные проводки. Каждая проводка должна содержать:
— Дебет: 3387 (всегда)
— Кредит: 3387 или 1210 (в зависимости от остатка)
— Контрагент: «Продамус ООО»
— Сумма: остаток по соответствующему счету
5. **Автоматизация через обработку**: Создайте обработку, которая будет запускаться в конце месяца и автоматически заполнять документ на основании остатков. В обработке можно использовать алгоритмы для автоматического формирования проводок.
Пример кода для запроса остатков и формирования проводок может выглядеть следующим образом:
1C
Процедура ЗаполнитьОперацию()
ДатаОперации = КонецМесяца(ТекущаяДата());
// Получаем остатки по счетам
Запрос = Новый Запрос;
Запрос.Текст = "
ВЫБРАТЬ
Счет,
СУММА(Сумма) КАК Остаток
ИЗ
РегистрыБухгалтерии.ОстаткиПоСчетам
ГДЕ
Счет В (&Счета)
И Дата <= &Дата
GROUP BY
Счет";
Запрос.УстановитьПараметр("Счета", Новый Массив(3387, 1210));
Запрос.УстановитьПараметр("Дата", ДатаОперации);
Результат = Запрос.Выполнить();
// Создаем документ
Документ = Документы.ЗаписьОперации.СоздатьДокумент();
Пока Результат.Выбрать().Следующий() Цикл
Счет = Результат.Получить("Счет");
Остаток = Результат.Получить("Остаток");
// Заполняем табличную часть
НоваяСтрока = Документ.ТабличнаяЧасть.Добавить();
НоваяСтрока.Дебет = 3387;
НоваяСтрока.Кредит = Счет;
НоваяСтрока.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Продамус ООО");
НоваяСтрока.Сумма = Остаток;
КонецЦикла;
// Сохраняем документ
Документ.Записать();
КонецПроцедуры
Этот код является примером и может потребовать доработки в зависимости от вашей конфигурации и структуры данных.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/183489/