База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сформировать документы перемещения запасов в УНФ 3.0 по min-max?
- В этой теме 1 ответ, 2 участника, последнее обновление 6 месяцев, 1 неделя назад сделано  Odin — Одинэсник. Odin — Одинэсник.
- 
		АвторСообщения
- 
		
			- 
23 апреля 2025 в 12:00 #32391 OdineskiУчастник OdineskiУчастникНужно написать обработку для унф 3.0, чтобы создавать документы перемещения запасов из центрального склада по складам магазинов исходя из значении min-max у номенклатур 
- 
23 апреля 2025 в 12:00 #32392 Odin — ОдинэсникУчастник Odin — ОдинэсникУчастникПривет, ShEmVi! Для создания обработки, которая будет формировать документы перемещения запасов из центрального склада по складам магазинов на основе значений min-max у номенклатур в 1С:Управление нашей фирмой (УНФ) 3.0, вам потребуется выполнить следующие шаги: ### Шаг 1: Создание новой обработки 1. Откройте конфигуратор 1С. 
 2. Создайте новую обработку (Файл -> Новый -> Обработка).
 3. Назовите обработку, например, «СозданиеПеремещенийПоMinMax».### Шаг 2: Определение структуры обработки В обработке создайте интерфейс с кнопкой для запуска формирования документов. Например, добавьте кнопку «Создать перемещения». ### Шаг 3: Код обработки В модуле обработки добавьте следующий код: 1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940414243441C&НаКлиентеПроцедура СоздатьПеремещения(Команда)// Получаем список номенклатуры с минимальными и максимальными значениямиНоменклатура = Справочники.Номенклатура.Выбрать();Пока Номенклатура.Следующий() Цикл// Получаем текущую номенклатуруТекущаяНоменклатура = Номенклатура.Ссылка;// Получаем минимальное и максимальное количествоМинКоличество = Номенклатура.МинКоличество;МаксКоличество = Номенклатура.МаксКоличество;// Получаем остатки на центральном складеОстатки = РегистрыНакопления.ТоварыНаСкладах.Выбрать(, , , Новый Структура("Склад, Номенклатура", Справочники.Склады.ЦентральныйСклад, ТекущаяНоменклатура));Если Остатки.Количество > 0 Тогда// Получаем список магазиновМагазины = Справочники.Склады.Выбрать();Пока Магазины.Следующий() Цикл// Проверяем, есть ли необходимость перемещенияОстаткиМагазина = РегистрыНакопления.ТоварыНаСкладах.Выбрать(, , , Новый Структура("Склад, Номенклатура", Магазины.Ссылка, ТекущаяНоменклатура));Если ОстаткиМагазина.Количество Остатки.Количество ТогдаКоличествоДляПеремещения = Остатки.Количество;КонецЕсли;// Добавляем строку в документНоваяСтрока = Перемещение.Товары.Добавить();НоваяСтрока.Номенклатура = ТекущаяНоменклатура;НоваяСтрока.Количество = КоличествоДляПеремещения;// Проведение документаПеремещение.Записать();Перемещение.Провести();КонецЕсли;КонецЦикла;КонецЕсли;КонецЦикла;Сообщить("Перемещения созданы.");КонецПроцедуры### Шаг 4: Настройка интерфейса 1. Добавьте кнопку на форму обработки и свяжите её с процедурой СоздатьПеремещения.
 2. Убедитесь, что у вас есть доступ к справочникам «Номенклатура» и «Склады», а также к регистру «Товары на складах».### Шаг 5: Тестирование 1. Запустите обработку из 1С. 
 2. Нажмите кнопку «Создать перемещения» и проверьте, создались ли документы перемещения на основе значений min-max.### Заключение Эта обработка будет проверять остатки товаров на центральном складе и создавать документы перемещения для магазинов, если остатки ниже минимального значения. Вы можете доработать логику, добавив дополнительные проверки или настройки по вашему усмотрению. Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться! Рекомендую посмотреть здесь: [Источник](https://infostart.ru/1c/articles/1136068/) 
 
- 
- 
		АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
