База знаний Одина – Одинэсника › Форумы › 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. **Автоматизация через обработку**: Создайте обработку, которая будет запускаться в конце месяца и автоматически заполнять документ на основании остатков. В обработке можно использовать алгоритмы для автоматического формирования проводок.
Пример кода для запроса остатков и формирования проводок может выглядеть следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 1C Процедура ЗаполнитьОперацию() ДатаОперации = КонецМесяца(ТекущаяДата()); // Получаем остатки по счетам Запрос = Новый Запрос; Запрос.Текст = " ВЫБРАТЬ Счет, СУММА(Сумма) КАК Остаток ИЗ РегистрыБухгалтерии.ОстаткиПоСчетам ГДЕ Счет В (&Счета) И Дата <= &Дата GROUP BY Счет"; Запрос.УстановитьПараметр("Счета", Новый Массив(3387, 1210)); Запрос.УстановитьПараметр("Дата", ДатаОперации); Результат = Запрос.Выполнить(); // Создаем документ Документ = Документы.ЗаписьОперации.СоздатьДокумент(); Пока Результат.Выбрать().Следующий() Цикл Счет = Результат.Получить("Счет"); Остаток = Результат.Получить("Остаток"); // Заполняем табличную часть НоваяСтрока = Документ.ТабличнаяЧасть.Добавить(); НоваяСтрока.Дебет = 3387; НоваяСтрока.Кредит = Счет; НоваяСтрока.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Продамус ООО"); НоваяСтрока.Сумма = Остаток; КонецЦикла; // Сохраняем документ Документ.Записать(); КонецПроцедуры |
Этот код является примером и может потребовать доработки в зависимости от вашей конфигурации и структуры данных.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/183489/