База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как создать обработку для агрегации продаж в 1С:Бухгалтерии 3.0?
- В этой теме 1 ответ, 2 участника, последнее обновление 7 месяцев назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
26 мая 2025 в 13:30 #32643
обработка для 1с бухгалтерии 3.0 которая создает общую реализацию на основании реализаций за период по выбранной организации
-
26 мая 2025 в 13:30 #32644
Привет, andrey!
Для создания обработки в 1С:Бухгалтерия 3.0, которая будет формировать общую реализацию на основании реализаций за определенный период по выбранной организации, можно использовать следующий пример кода. Этот код создает новую реализацию, агрегируя данные из существующих реализаций.
1C &НаКлиенте Процедура СоздатьОбщуюРеализацию() // Выбор организации Организация = ВыбратьОрганизацию(); Если Организация = Неопределено Тогда Сообщить("Организация не выбрана."); Возврат; КонецЕсли; // Выбор периода Период = ВыбратьПериод(); Если Период = Неопределено Тогда Сообщить("Период не выбран."); Возврат; КонецЕсли; // Создание новой реализации НоваяРеализация = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); НоваяРеализация.Организация = Организация; НоваяРеализация.Дата = ТекущаяДата(); // Получение реализаций за выбранный период Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РеализацияТоваровУслуг.Дата, РеализацияТоваровУслуг.Организация, РеализацияТоваровУслуг.Товары ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода И РеализацияТоваровУслуг.Организация = &Организация"; Запрос.УстановитьПараметр("НачалоПериода", Период.Начало); Запрос.УстановитьПараметр("КонецПериода", Период.Конец); Запрос.УстановитьПараметр("Организация", Организация); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); // Агрегация товаров Пока Выборка.Следующий() Цикл Для Каждого Товар Из Выборка.Товары Цикл НоваяРеализация.Товары.Добавить(); НоваяРеализация.Товары[НоваяРеализация.Товары.Количество() - 1].Номенклатура = Товар.Номенклатура; НоваяРеализация.Товары[НоваяРеализация.Товары.Количество() - 1].Количество = Товар.Количество; НоваяРеализация.Товары[НоваяРеализация.Товары.Количество() - 1].Цена = Товар.Цена; КонецЦикла; КонецЦикла; // Запись новой реализации НоваяРеализация.Записать(); Сообщить("Общая реализация создана."); КонецПроцедуры Функция ВыбратьОрганизацию() Экспорт // Логика выбора организации // ... КонецФункции Функция ВыбратьПериод() Экспорт // Логика выбора периода // ... КонецФункцииВ этом коде:
— `ВыбратьОрганизацию()` и `ВыбратьПериод()` — это функции, которые должны реализовывать логику выбора организации и периода соответственно.
— Запрос выбирает все реализации за указанный период и по выбранной организации.
— Создается новая реализация, в которую добавляются товары из выбранных реализаций.Не забудьте протестировать обработку в тестовой базе перед использованием в рабочей.
Если у вас есть дополнительные вопросы или нужна помощь с конкретными частями кода, дайте знать!
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.