Множественная операция подбора из справочника

Форум 1С: Одинэс.Ру

Найти!

Множественная операция подбора из справочника

alexoxol78
17.02.2009 - 14:17
Всем привет.
Передо мной стоит следующая задача: Есть партионный учет по срокам годности товара на складе. Нужно встать на строку с товаром в документе, нажать кнопку "Распределить товар по партиям вручную", далее чтобы открывалась форма подбора справочника "Сроки годности", выбираешь партию срока годности, открывается форма ВвестиЧисло, вводишь цифру, опять открывается подбор спрвочника "Сроки годности", ВвестиЧисло и т.д. до полного распределения товара по партиям. Я это реализовывал через ВвестиЗначение -> ВвестиЧисло -> ВвестиЗначение -> ВвестиЧисло ->... и т.д., но в функции ВвестиЗначение нельзя посмотреть текущий остаток в партии на конкретном складе по конкретному товару, что неудобно.
Решил реализовать через подбор, сделал в справочнике "Сроки годности" форму подбора с подсчетом остатков, все нормально, но не могу вызвать циклический подбор. Я представлял себе так, что после вызова процедуры ОткрытьПодбор("Справочник.СрокиГодности","ДляПодбора",,0) выполнение программы остановится и возобновится уже после выбора элемента в подборе в процедуре ОбработкаПодбора(Выб), но это оказалось не так, течение программы продолжается дальше и не ждет когда я выберу значение в подборе, чтобы обработать данные и снова сделать подбор... Как мне быть? Привожу существующий код:
 
Процедура Подбор()
ОткрытьПодбор("Справочник.СрокиГодности","ДляПодбора",,0);
УстановитьЗначениеВПодборе("СкладПодбор",Склад);
УстановитьЗначениеВПодборе("ТоварПодбор",Товар);
УстановитьЗначениеВПодборе("БракПодбор",Брак);
КонецПроцедуры
 
Процедура ОбработкаПодбора(Выб)
ТекПартия = Выб;
Если ТекПартия = 0 Тогда
ПрерватьРаспределение = 1;
Иначе
ТекКоличество = 0;
Если ВвестиЧисло(ТекКоличество,"Кол-во (осталось "+ОстКоличество+")",19,3,) = 0 Тогда
ПрерватьРаспределение = 1;
Иначе
ОстКоличество = ОстКоличество - ТекКоличество;
ТЗ_НовСтр.НоваяСтрока();
ТЗ_НовСтр.Количество = ТекКоличество;
ТЗ_НовСтр.СГ = ТекПартия;
Если ОстКоличество <= 0 Тогда
ПрерватьРаспределение = 1;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
 
Процедура Распределить()
Если Товар.Выбран() = 0 Тогда
Предупреждение("Строка для распределения не выбрана!");
Иначе
ТекТовар = Товар;
ТекОбщКол = Количество;
ОстКоличество = ТекОбщКол;
ПрерватьРаспределение = 0;
Пока ПрерватьРаспределение = 0 Цикл
// Выбираем партию срока годности
Подбор();
КонецЦикла;
// Смотрим что в ТЗ и сверяем с исходным количеством
Если ТЗ_НовСтр.КоличествоСтрок() > 0 Тогда
................... и т.д.
Не могу зациклить подбор значения.. :(
К списку тем К списку форумов

Интересные темы

odines.ru
02.12.2020 - 18:00
Смотри также:
Как назначить тип реквизиту реквизиту табличной часть типа "Справочник"
Конвертация данных 1.0
Случилось ЧП, все документы пропали из базы формата DBF, как можно восстановить, документы не удаляли.

Re: Множественная операция подбора из справочника

roma n
1 - 17.02.2009 - 14:39
Выкинь все. Сделай нормальную обработку. На форму ТЗ с нужной инфой (партия/срок годности/текущий остаток) и полем выбранное количество.
В документ вноси после того, ка все количество пользователь распределит

Re: Множественная операция подбора из справочника

alexoxol78
2 - 17.02.2009 - 15:18
А может просто поставить флаг множественного выбора в подборе и подобрать все вместе? В принципе вся нужная инфа-то в подборе есть...

Re: Множественная операция подбора из справочника

pit
3 - 17.02.2009 - 15:42
Есть партионный учет по срокам годности товара на складе.
 
все это фигня. Не взлетит, если не будет реальной отгрузки ИМЕННО выбранных партий....
 
Когда добьетесь реальной отгрузки и соблюдения дисциплины - приходи, расскажу... будет просто и красиво...

Re: Множественная операция подбора из справочника

alexoxol78
4 - 17.02.2009 - 20:22
Все-таки удивительный мы народ - русские.. :) Советуешься "как сделать", проходит мимо дураковатый мужичок с граблями и мямлит "я дурак, у меня нет дисциплины, и у вас ничего не получится.." и уходит. :)

Re: Множественная операция подбора из справочника

VZ
5 - 17.02.2009 - 21:05
(4) Тебе сказали, как это делается (1).
Тебе сказали, при каких условиях все это будет работать (3).
И никто не обязан давать ответы по твоему ндраву. Не нравится - не ешь. Делай сам.

Интересные темы

odines.ru
02.12.2020 - 18:00
Смотри также:
7.7 Товарно-транспортная накладная, кто писал? или у кого есть?
Как программно сделать подчинение одного документа другому
Как из 1С отсортировать excel-таблицу программно через ОЛЕ

Re: Множественная операция подбора из справочника

МимохожийОднако
6 - 18.02.2009 - 04:37
(0)Что-то в техзадании не так однако. Достаточно сразу задать количество и алгоритм выбора самого старого товара на автомате. После этого заполнять...Ручной выбор партий - нонсенс, ИМХО. Что касается кода... Дело не в коде. Можешь объяснить, почему выбран именно такой путь формирования партий?

Re: Множественная операция подбора из справочника

roma n
7 - 18.02.2009 - 05:06
+(6) При более-менее активной совместной работе манагер, подбиравший партии в бо-ольшую накладную, будет иметь повод чаще вспоминать автора

Re: Множественная операция подбора из справочника

alexoxol78
8 - 18.02.2009 - 10:24
Само собой автоматический метод распределения уже реализован и используется в 99.9% случаев. Но нужен и ручной - на случай форс-мажора - отказа клиентом брать именно ту старую партию (он что-то про нее знает? :))
P.S. И манагер будет чаще вспоминать автора, написавшего только функции автоматического распределения и не давшего ему свободу выбора. ;)

Re: Множественная операция подбора из справочника

pit
9 - 18.02.2009 - 15:40
здесь уже не подают....

Re: Множественная операция подбора из справочника

alexoxol78
10 - 19.02.2009 - 15:13
(9) Реализовал уже давно. :)
К списку тем К списку форумов
Тема закрыта и находится в архиве.
Но Вы можете начать новую тему.
« Номенклатура из Бух в Торг Бюджет ред. 6.1 Док-ты "БО" и "Регистрация бюджетного обязательства" »
© 2009 Форум 1С: Одинэс.Ру