![]() |
|
Контроль отрицательных остатков | ☑ | ||
---|---|---|---|---|
0
Начинающий_13
18.09.13
✎
16:54
|
Здравствуйте
Переделал контроль отр.остатков. (Вроде все работает) Скажите предусмтрел все ли отказы? В модуле объекта Процедура ОбработкаПроведения_РН_Остатки_Материалы(Отказ, Режим) ПтруктураПараметров = Новый Структура; СтруктураПараметров.Вставить("МХ", МХ); СтруктураПараметров.Вставить("ИмяДок", "ТМЦ_ПоступлениеВозврат"); СтруктураПараметров.Вставить("ИмяТЧ", "Материалы"); СтруктураПараметров.Вставить("ИмяРН", "РН_Остатки_Материалы"); Результат = Проверки.КонтрольОтрицательныхОстатков(ЭтотОбъект, Ссылка, Дата, СтруктураПараметров, Отказ); Движения.РН_Остатки_Материалы.Записывать = Истина; Если Отказ = Ложь Тогда РН = Движения.РН_Остатки_Материалы.ДобавитьРасход(); ЗаполнитьЗначенияСвойств(РН, Результат); РН.Период = Дата; РН.Сумма = Результат.СуммаОстаток/Результат.КоличествоОстаток*Результат.Количество; КонецЕсли; КонецПроцедуры ОбщийМодуль Функция КонтрольОтрицательныхОстатков(ЭтотОбъект, Ссылка, Дата, СтруктураПараметров, Отказ) Экспорт ИмяДок = СтруктураПараметров.ИмяДок; ИмяТЧ = СтруктураПараметров.ИмяТЧ; ИмяРН = СтруктураПараметров.ИмяРН; Сам запрос Запрос ...... Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.УстановитьПараметр("МХ", СтруктураПараметров.МХ); Запрос.УстановитьПараметр("МоментВремени", КонецДня(Дата)); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл Если (Результат.Количество > Результат.КоличествоОстаток) И (Константы.флКонтрольОтрицательныхОстатков.Получить()= Истина) Тогда Сообщить("Строка № "+Результат.НомерСтроки+" нет "+Врег(Результат.ТМЦ)+" из необходимых "+ Результат.Количество+" в наличии "+ Результат.КоличествоОстаток + " недостача "+ (Результат.Количество - Результат.КоличествоОстаток)); Отказ = Истина; КонецЕсли; Если Отказ Тогда Продолжить; КонецЕсли; КонецЦикла; Возврат Результат; КонецФункции |
|||
1
Alex S D
18.09.13
✎
16:57
|
хреновый код
|
|||
2
mikecool
18.09.13
✎
17:01
|
по новой моде - сначала пишем движения, а потом проверяем отрицательные остатки
|
|||
3
shuhard
18.09.13
✎
17:04
|
(0)[Скажите предусмтрел все ли отказы? ]
без указания документооборота и структуры Рг ответ не существует |
|||
4
Начинающий_13
18.09.13
✎
17:04
|
Маня не запрос на проверку отрицательных остатков инетересует, а при той структуре которую выложил, все ли отказы на (-)предусмотрел.
|
|||
5
MaxS
18.09.13
✎
17:17
|
ЗаполнитьЗначенияСвойств(РН, Результат);
как этот код работает? и работает ли? Пока Результат.Следующий() Цикл ... Если ...(Константы.флКонтрольОтрицательныхОстатков.Получить()= Истина) Тогда ... При проведении документа константа может измениться? Каждый раз нужно получать её значение? Сообщить(... кому? это толстый клиент? |
|||
6
Начинающий_13
18.09.13
✎
17:24
|
Если материалы хватает на складе заполняем регистр накопления
Весь алгоритм отрабатывает без проблем. все проверяемся. ЗаполнитьЗначенияСвойств(РН, Результат); Про Если ...(Константы.флКонтрольОтрицательныхОстатков.Получить()= Истина) я подумаю над этим может периодической сделаю, хорошее замечание. |
|||
7
Начинающий_13
18.09.13
✎
17:24
|
Толстый клиент это
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |