Есть у меня три документа: Поступление(для прибавления оборудования на склад), Выдача(для выдачи оборудования со склада сотруднику) и Возврат(для возвращения оборудования у сотрудника на склад.
Выдавать оборудование спокойно могу если на складе сделал поступление
, пытаюсь понять как сделать возврат от сотрудника на склад. Идеи были, но когда пытался решить только запутался. Можете посоветовать способ реализации
Выдавать оборудование спокойно могу если на складе сделал поступление
Процедура ОбработкаПроведения(Отказ, Режим)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| Таблица.Оборудование КАК Оборудование,
| СУММА(Таблица.Количество) КАК Количество
|ПОМЕСТИТЬ Таблица
|ИЗ
| Документ.Выдача.Таблица КАК Таблица
|ГДЕ
| Таблица.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| Таблица.Оборудование
|
|ИНДЕКСИРОВАТЬ ПО
| Оборудование
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Таблица.Оборудование КАК Оборудование,
| Таблица.Количество КАК Количество
|ИЗ
| Таблица КАК Таблица";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
Движения.РегистрОстаткаНаСкладе.Очистить();
ВыборкаТаблица = РезультатЗапроса.Выбрать();
Пока ВыборкаТаблица.Следующий() Цикл
Движение = Движения.РегистрОстаткаНаСкладе.ДобавитьРасход();
Движение.Период = Дата;
Движение.Оборудование = ВыборкаТаблица.Оборудование;
Движение.Количество = ВыборкаТаблица.Количество;
Движение.Склад = Склад;
КонецЦикла;
Движения.РегистрОстаткаНаСкладе.Записывать = Истина;
Движения.Записать();
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.Оборудование КАК Оборудование,
| ПРЕДСТАВЛЕНИЕССЫЛКИ(Остатки.Оборудование) КАК ОборудованиеПредставление,
| -Остатки.КоличествоОстаток КАК Дефицит
|ИЗ
| РегистрНакопления.РегистрОстаткаНаСкладе.Остатки(
| &МоментВремени,
| Оборудование В
| (ВЫБРАТЬ
| Таблица.Оборудование КАК Оборудование
| ИЗ
| Таблица КАК Таблица)) КАК Остатки
|ГДЕ
| Остатки.КоличествоОстаток < 0";
ГраницаКонтроля = Новый Граница(МоментВремени(), ВидГраницы.Включая);
Запрос.УстановитьПараметр("МоментВремени", ГраницаКонтроля);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Отказ = Истина;
ВыборкаОшибки = РезультатЗапроса.Выбрать();
Пока ВыборкаОшибки.Следующий() Цикл
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Оборудования "+ВыборкаОшибки.ОборудованиеПредставление+" недостаточно в количестве "+ВыборкаОшибки.Дефицит+" шт.";
Сообщение.Сообщить();
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Показать, пытаюсь понять как сделать возврат от сотрудника на склад. Идеи были, но когда пытался решить только запутался. Можете посоветовать способ реализации
По теме из базы знаний
- Работа с остатками на складах (для 1С: Бухгалтерия 1.6)
- ЕГАИС. Обработки для работы с остатками. 1С:Розница
- SynchroWB — интеграция 1С и Wildberries: автоматизация заказов и остатков по API с УТ, КА, ERP, УНФ, Розница 3
- Интеграция с Wildberries: обновление цен и остатков товаров из 1С. Работает с новой версией API.
- Работа с остатками WildBerries
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) В данном описании задача непроработанная от слова совсем. Из того, что в голову сразу пришло:
1) Нужен регистр сведений, где будет храниться состояние оборудования типа "Выдан", "На складе" и т.д. Тогда ты сможешь по срезу последних видеть где находится инструмент в нужный для тебя момент времени. Также можно будет отследить историю выдач и возвратов за период.
2) Нет аналитики в разрезе МОЛ.
3) Для выдачи/возврата нужны формы подбора. Ты же не собираешься заполнять ТЧ документов кнопкой "Добавить"?
4) Для контроля времени нужна константа.
1) Нужен регистр сведений, где будет храниться состояние оборудования типа "Выдан", "На складе" и т.д. Тогда ты сможешь по срезу последних видеть где находится инструмент в нужный для тебя момент времени. Также можно будет отследить историю выдач и возвратов за период.
2) Нет аналитики в разрезе МОЛ.
3) Для выдачи/возврата нужны формы подбора. Ты же не собираешься заполнять ТЧ документов кнопкой "Добавить"?
4) Для контроля времени нужна константа.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот