Odin | База знаний 1С

Как автоматизироват...
 

Как автоматизировать заполнение операций по счетам 3387 и 1210 в 1С?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

доработка в 1с бухгалтерий все суммы с 3387 счета и 1210 счета по разным контрагентам на счет 3387 но одного контрагента. То есть счет дт 3387 (всегда) и компания Продамус ООО (всегда), а по кт будет два счета - 3387 и 1210 и разные контрагенты. в зависимости от остатков по данным счетам на дату операции (списание идет в конце каждого месяца). И вот данная операция должна заполняться автоматически по остаткам по 3387 и 1210.



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Привет, 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/



   
ОтветитьЦитата