|
v7: Не устанавливается фильтр по партиям в регистре Остатки | ☑ | ||
---|---|---|---|---|
0
vadim777
10.08.16
✎
20:48
|
Регистр Остатки:
Измерения: -Склад -Номенклатура -Партия (тип Справочник.Партии) -Размер -ЦенаПродажи Справочник Партии имеет реквизит Док (Документ прихода). Фрагмент: Рег=СоздатьОбъект("Регистр.Остатки"); Если ПустоеЗначение(ВыбПриемныйАкт) = 0 Тогда сПартии = СоздатьОбъект("Справочник.Партии"); Рез = сПартии.НайтиПоРеквизиту("Док", ВыбПриемныйАкт, 1); Рег.УстановитьЗначениеФильтра("Партия",сПартии.ТекущийЭлемент(),1); КонецЕсли; Рег.ВыбратьДвижения(); Пока Рег.ПолучитьДвижение()=1 Цикл .... В отладчике смотрел - партия находится. Но фильтр не устанавливается, в выборке ничего нет. ПС: у реквизита Док установлены признаки Сортировка и Отбор по реквизиту на вкладке Дополнительно, если что. |
|||
1
Злопчинский
10.08.16
✎
20:53
|
Автор - удак, креатив не в тему.
копрокод детектед Рез = сПартии.НайтиПоРеквизиту("Док", ВыбПриемныйАкт, 1); где однозначное опредеоение того что ОБЯЗАТЕЛЬНО НАЙДЕН? |
|||
2
Злопчинский
10.08.16
✎
20:57
|
Сильно сомневаюсь, что установитьзначениефильтра применимо к выборке
|
|||
3
vadim777
10.08.16
✎
21:02
|
(1) В отладчике смотрел - элемент справочника действительно находится.
(2) Почему? |
|||
4
Злопчинский
10.08.16
✎
21:09
|
(3) еще раз - ты в отладчике смотрел ДЛЯ ВСЕХ ВОХМОЖНЫХ ВыбПриемныйАкт - ?
если находится для 1, 2. 3..10 - от этого копрокод не перестает быть копрокодом. |
|||
5
Злопчинский
10.08.16
✎
21:10
|
(3) По кочану может быть.
СП на этот счет краток. посмотри ЖКК. |
|||
6
vadim777
11.08.16
✎
08:09
|
(5) Спасибо. Сделал что нужно запросом:
Процедура Сформировать() Запрос = СоздатьОбъект("Запрос"); ДатаС = ВыбПриемныйАкт.ДатаДок; ТекстЗапр = " |Без Итогов; |Период с ДатаС; |Скл = Регистр.Остатки.Склад; |Тов = Регистр.Остатки.Номенклатура; |Пар = Регистр.Остатки.Партия; |ПДО = Регистр.Остатки.Партия.Док; |Раз = Регистр.Остатки.Размер; |Цен = Регистр.Остатки.ЦенаПродажи; |Кол = Регистр.Остатки.Остаток; |Док = Регистр.Остатки.ТекущийДокумент; |Функция Нач=НачОст(Кол); |Функция При=Приход(Кол); |Функция Рас=Расход(Кол); |Функция Кон=КонОст(Кол); |Группировка Тов Без Групп; |Условие (ПДО=ВыбПриемныйАкт); |"; //! Если Запрос.Выполнить(ТекстЗапр)=0 Тогда Сообщить("Запрос не выполнился!"); Возврат; КонецЕсли; Таб=СоздатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(Таб,1,1); Если Таб.КоличествоСтрок()=0 Тогда Сообщить("Ничего не найдено!"); Возврат; КонецЕсли; Состояние("Сортировка таблицы движений"); Таб.Сортировать("Скл,Тов,Пар,ПДО,Цен,Кол,Док",1); Состояние("Вывод таблицы движений"); ВывестиТЗ(Таб, "Движения регистра Остатки"); КонецПроцедуры Вот только непонятно, почему "Док" пустой? |
|||
7
Злопчинский
11.08.16
✎
08:12
|
Сортировать по ПДО - смысла нет, он все равно в выборке - один...
|
|||
8
Злопчинский
11.08.16
✎
08:14
|
Потому что начост и коност по текущему документу - смысла не имеют.
док - это регистратор движения, то есть оборота |
|||
9
Злопчинский
11.08.16
✎
08:15
|
Закомментарь функции НачОст и КонОст - будет тебе док
|
|||
10
vadim777
11.08.16
✎
08:37
|
(9) Получилось:
Тов При Рас Скл Пар ПДО Раз Цен Кол Док Товар1 12 2 Склад ПА4108 (20.07.16) ПА 4108 98р 14 2 НК 77412 Товар2 10 0 Склад ПА4108 (20.07.16) ПА 4108 14 10 ПА 4108 ПС: цель телодвижений - отчет типа движений партии. Как партия распродается в разрезах товаров, расходных документов. |
|||
11
Масянька
11.08.16
✎
08:46
|
А что за конфа?
|
|||
12
vadim777
11.08.16
✎
08:59
|
(11) Самописная, не мною.
|
|||
13
vadim777
11.08.16
✎
08:59
|
(11) Всего один регистр - Остатки.
|
|||
14
Масянька
11.08.16
✎
09:02
|
(13) Ужас...
Допили регистр партий :) |
|||
15
Это_mike
11.08.16
✎
09:14
|
(14) закон соответсвия...
|
|||
16
vadim777
11.08.16
✎
09:20
|
(14) И так уже процентов 30 переделал, дальше улучшать ее - безперспективно. Будешь смеяться, ее фишки:
- при проведении документов движения записываются не только для товара, но и для его родителя. Чтобы в справочнике Номенклатура оперативно видеть остатки по группам. - штрих-код генерируется из кода партии и цены продажи. Хозяину магазинчика приходится постоянно переклеивать этикетки на товарах. А тут встал вопрос о увеличении всех цен в 2р. |
|||
17
Масянька
11.08.16
✎
09:22
|
(16) "Специфика", однако...
Может лучше ТиС купить? |
|||
18
Это_mike
11.08.16
✎
13:13
|
(16) 1.ну и пусть пишутся как пишутся, сделай "остатки по группам" прямым запросам, и забей на записи
2. сделай префикс для товара, и замени на "товар+цену" (что будет правильнее). Или вообще сделай шк только на товар, раз уж у тебя такой учет. Тем более, если "встал вопрос об увеличении цен" - этикетки-то один хрен переклеивать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |