|
v7: Запретить проводить возврат | ☑ | ||
---|---|---|---|---|
0
tixis
14.02.13
✎
11:12
|
Уважаемые форумчане, помогите решить такой вопрос:
Сначала сама суть: делают реализацию, потом возможно делают возврат, но операторы могут забыть про возврат который они сделали(на структуру подчиненности не смотрят) и могут сделать повторный возврат того же товара. Сама задача запретить проводить возврат если такой товар был уже возвращен в полном количестве, т.е в накладной же может быть 5,10,15 позиций товара, так вот если товар уже возвращен в полном объеме запретить проводить. Пока дошел до этого а дальше что то не пойму как строки перебирать и сравнивать в обоих документах и сравнивать количество. вот набросок кода в обработке проведения: ДокП = СоздатьОбъект("Документ"); Если ДокОснование.Выбран() = 1 Тогда Если ДокОснование.Вид()="Реализация" Тогда Если ДокОснование.ВыбратьПодчиненныеДокументы(ДокОснование.ДатаДок,ТекущаяДата(),ДокОснование.)=1 Тогда Пока ДокОснование.ПолучитьДокумент() =1 Цикл Если ДокП.Вид() = "ВозвратОтПокупателя" Тогда Если Выбран() = 1 Тогда Если ДокП.ТекущийДокумент() = ТекущийДокумент() ТОгда Продолжить; КонецЕсли; КонецЕсли; Если ДокП.ВыбратьСтроки() =1 Тогда Пока ДокП.ПолучитьСтроку()=1 Цикл КонецЦикла; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; КонецЕсли; |
|||
1
Godofsin
14.02.13
✎
11:13
|
огого!!!
|
|||
2
viktor_vv
14.02.13
✎
11:15
|
Ты бы сначала собрал все прошлые возвраты в ТЗ в нее же догрузил содержание расходной и сравнивай.
|
|||
3
Kreont
14.02.13
✎
11:15
|
Собрать все по возвратах, загрузить в ВТ, и сравнить с таб.частью тоже в ВТ по товарам
|
|||
4
tixis
14.02.13
✎
11:21
|
Как всю табличную часть из документа загнать в ТЗ?
|
|||
5
tixis
14.02.13
✎
11:22
|
последний вопрос снимается :)
|
|||
6
tixis
14.02.13
✎
11:24
|
теперь вопрос как сравнивать ТЗ и ТЧ? извините за ламрские вопросы, я только учусь
|
|||
7
viktor_vv
14.02.13
✎
11:28
|
В ТЗ колонки Номенклатура, количествоВозврат, КоличествоВРасходной.
Собираешь из возвратов с заполнением Номенклатура, КоличествоВовзрат. Добавляешь из ТЧ с заполнением Номенклатура, КоличествоВРасходной. Потом сворачиваешь по Номенклатура с суммированием колонок КоличествоВозврат и КоличествоВРасходной и сравниваешь при обходе ТЗ. |
|||
8
viktor_vv
14.02.13
✎
11:30
|
Можно через одну колонку количество с разными знаками, но тогда при заполнении из возвратов фильтровать сразу по номенклатуре в расходной.
|
|||
9
tixis
14.02.13
✎
11:34
|
(7) Что то не совсем понял я в ТЗ выгрузил все табличные части из всех возвратов(их же могло быть несколько, ну сверну я по номенклатуре с суммированием по количеству, а как сравнить всю эту ТЗ с ТЧ? что то не догоняю
|
|||
10
viktor_vv
14.02.13
✎
11:41
|
(7) Добавляешь из ТЧ с заполнением Номенклатура, КоличествоВРасходной.
И после этого Сворачиваешь по Номенклатура с суммированием колонок КоличествоВозврат и КоличествоВРасходной |
|||
11
Kreont
14.02.13
✎
11:41
|
МенеджерВТ = Новый МенеджерВременныхТаблиц;
одна тз из РН (ее там часть), колонки "СсылкаТовар,Кво": Запрос=Новый Запрос("Выбрать * ПОМЕСТИТЬ ТЧ_РН Из &Таб КАК Т1"); Запрос.МенеджерВременныхТаблиц=МенеджерВТ; Запрос.УстановитьПараметр("Таб",ТЧ_РН_изДокРН); Запрос.Выполнить(); другая тз сводная по всем возвратам (из запроса, колонки аналогично "СсылкаТовар,Кво"): Запрос=Новый Запрос("Выбрать * ПОМЕСТИТЬ ТЧ_Возвраты Из &Таб КАК Т2"); Запрос.МенеджерВременныхТаблиц=МенеджерВТ; Запрос.УстановитьПараметр("Таб",ТЧ_Возвраты_изЗапроса); Запрос.Выполнить(); Запрос=Новый Запрос("ВЫБРАТЬ * |ИЗ ТЧ_Возвраты ЛЕВОЕ СОЕДИНЕНИЕ ТЧ_РН |ПО ТЧ_Возвраты.СсылкаТовар = ТЧ_РН.СсылкаТовар"); Запрос.МенеджерВременныхТаблиц=МенеджерВТ; РезульатСравнения=Запрос.Выполнить().Выбрать(); // обычный перебор для каждого ... // Потом можно и дополнить еще сразу условием сравнения по Кво, что б выбрать только то где Кво из ТЧ_Возвраты > Кво из ТЗ_РН, но сначала так пробуй, что б видеть всю картину И в результате уже будешь иметь красивый результат что где недостает, по каждой строке. |
|||
12
viktor_vv
14.02.13
✎
11:43
|
(11) Эх, работало бы это еще в семерке штатно :).
|
|||
13
Kreont
14.02.13
✎
11:44
|
(12) дааа, а я на тему и не смотрел что 7-ка :)
ТС забуть, или переходи на 8-ку :))) |
|||
14
Случайный прохожий
14.02.13
✎
11:44
|
(9) ТЧ тоже в другую ТЗ кидаешь, сворачиваешь (на случай если товары в ТС дублируются). Затем можно эти две ТЗ отсортировать и сравнить построчно :)
(11) Тоже хотел через запросы предложить, но постеснялся))) Вдруг человек не осилит :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |