|
1с Отбор по регистратору в регистре накопления остатков и оборотов | ☑ | ||
---|---|---|---|---|
0
jamesgold
17.07.18
✎
14:14
|
Добрый день, прошу помочь!
Имеется регистр накопления у которого несколько документов регистраторов, как получить остатки и обороты задав условия для одного из регистраторов. Должны быть остатки и оброты по номенклатуре за исключением тех, - которые исключаться в отборе по указанному регистратору. Исключаемая номенклатура также может быть и по другим регистраторам, соответственно по другим регистраторам движения этой номенклатуры должно остаться. |
|||
1
jamesgold
17.07.18
✎
14:28
|
Идея была такая сначала получить только обороты за исключение тех оборотов которые не проходят отбор по указанному регистратору. Вот такой запрос:
ВЫБРАТЬ ТоварыНаСкладах.Период, ТоварыНаСкладах.Регистратор.СкладОтправитель, ТоварыНаСкладах.Регистратор.СкладПолучатель, ТоварыНаСкладах.СерияНоменклатуры ПОМЕСТИТЬ ВТ_Лишнее ИЗ РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах ГДЕ ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПеремещениеТоваров И ТоварыНаСкладах.Склад В(&Склад) И ТоварыНаСкладах.Регистратор.СкладОтправитель = &Склад И ТоварыНаСкладах.Регистратор.СкладПолучатель = &Склад И ТоварыНаСкладах.Период > &НП И ТоварыНаСкладах.Период < &КП ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыНаСкладахОбороты.Склад, ТоварыНаСкладахОбороты.Номенклатура, ТоварыНаСкладахОбороты.СерияНоменклатуры, ТоварыНаСкладахОбороты.КоличествоПриход, ТоварыНаСкладахОбороты.КоличествоРасход, ТоварыНаСкладахОбороты.Период ИЗ РегистрНакопления.ТоварыНаСкладах.Обороты(&НП, &КП, Запись, Склад В (&Склад)) КАК ТоварыНаСкладахОбороты ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Лишнее КАК ВТ_Лишнее ПО ТоварыНаСкладахОбороты.Период <> ВТ_Лишнее.Период И ТоварыНаСкладахОбороты.СерияНоменклатуры <> ВТ_Лишнее.СерияНоменклатуры И после этого к каждой серии пристегнуть остатки |
|||
2
DrWatson
17.07.18
✎
14:34
|
(0) А где вопрос, с чем помочь?
|
|||
3
Джинн
17.07.18
✎
14:36
|
(0) Остатки по регистратору? Вы что там курите?
|
|||
4
jamesgold
17.07.18
✎
14:37
|
Я меня это не работает, ищу других идей
|
|||
5
DrWatson
17.07.18
✎
14:38
|
Проще не взлетит?
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НП, &КП, Регистратор, Склад В (&Склад)) КАК ТоварыНаСкладах ГДЕ НЕ ( ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПеремещениеТоваров И ТоварыНаСкладах.Склад В(&Склад) И ТоварыНаСкладах.Регистратор.СкладОтправитель = &Склад И ТоварыНаСкладах.Регистратор.СкладПолучатель = &Склад И ТоварыНаСкладах.Период > &НП И ТоварыНаСкладах.Период < &КП) |
|||
6
Garykom
гуру
17.07.18
✎
14:38
|
(3) Да пофиг что, не понял почему не делятся?
|
|||
7
Малыш Джон
17.07.18
✎
14:40
|
(0) остатки по регистратору - это по конкретному регистратору или по типу регистратора?
|
|||
8
jamesgold
17.07.18
✎
14:43
|
Может будет идея как это сделать изящнее или правильнее?
|
|||
9
Tonik992
17.07.18
✎
14:46
|
(3) Стандартная одинэсовская смесь.
А что вообще за отчет такой, который остатки покажет за вычетом каких-то регистраторов? Если исключить регистратор, то цифра в поле "Остаток" что будет значить для пользователя? |
|||
10
Garykom
гуру
17.07.18
✎
14:47
|
Остатки для регистров накопления хранятся в разрезе измерений.
Регистратор <> Измерение регистра. Ответь за сколько лет работы хочешь получить "остатки"? Сколько там у вас номенклатуры и регистраторов для исключения? Сколько времени оно потратит чтобы с начала времен пересчитать все движения "вручную" и вывести тебе требуемые остатки? |
|||
11
Михаил Козлов
17.07.18
✎
14:49
|
(9) Скорее всего, пытаются получить обороты прихода/расходы без перемещений. Типа "со склада продано...".
|
|||
12
jamesgold
17.07.18
✎
14:50
|
Отчет исключить часть оборотов и остатков если они соответствуют отбору по одному из регистраторов
|
|||
13
DrWatson
17.07.18
✎
14:51
|
(9) по условию запроса в (1) там исключаются холостые обороты, перемещения со склада на этот же склад. Я так понял остаток при этом не меняется.
Откуда такие документы берутся - это уже другой вопрос. |
|||
14
jamesgold
17.07.18
✎
14:52
|
Есть регистр товары на складах один из регистраторов перемещение нужно исключить движуху между своими складами теми которые в отборе
|
|||
15
DrWatson
17.07.18
✎
14:53
|
(14) складами?
У тебя в запросе равенство стоит |
|||
16
Tonik992
17.07.18
✎
14:54
|
(14) Получи первым запросом остатки.
Присоедини со вторым запросом движения по нужным ("Исключающим") регистраторам.. И вычитай. |
|||
17
jamesgold
17.07.18
✎
14:54
|
Если склад отправитель или склад получатель с списке заданных движуха перемещений по ним не нужна
|
|||
18
Tonik992
17.07.18
✎
14:55
|
(13) Это кстате интересное перемещение.. Наверное обусловлено каким-то особенным бизнес-процессом.. Что-то мутят ниподецки
|
|||
19
Джинн
17.07.18
✎
14:56
|
(17) А это ничего, что в итоге остатки по отчету не совпадут с реальными остатками на складе?
|
|||
20
Вафель
17.07.18
✎
14:57
|
(19) может это виртуальные склады?
|
|||
21
jamesgold
17.07.18
✎
15:00
|
(5) Должны совпасть
|
|||
22
jamesgold
17.07.18
✎
15:00
|
(5) ВЫБРАТЬ
ТоварыНаСкладахОбороты.Склад, ТоварыНаСкладахОбороты.Номенклатура, ТоварыНаСкладахОбороты.СерияНоменклатуры, ТоварыНаСкладахОбороты.КоличествоПриход, ТоварыНаСкладахОбороты.КоличествоРасход, ТоварыНаСкладахОбороты.Период, ТоварыНаСкладахОбороты.Регистратор ИЗ РегистрНакопления.ТоварыНаСкладах.Обороты(&НП, &КП, Запись, Склад В (&Склад)) КАК ТоварыНаСкладахОбороты ГДЕ НЕ(ТоварыНаСкладахОбороты.Склад В (&Склад) И ТоварыНаСкладахОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров И ТоварыНаСкладахОбороты.Регистратор.СкладОтправитель В (&Склад) И ТоварыНаСкладахОбороты.Регистратор.СкладПолучатель В (&Склад) И ТоварыНаСкладахОбороты.Период > &НП И ТоварыНаСкладахОбороты.Период < &КП) |
|||
23
Джинн
17.07.18
✎
15:01
|
(20) ?! Что есть "виртуальные склады"? Как обычно черный нал и пр. прелести "налоговой оптимизации"?
|
|||
24
jamesgold
17.07.18
✎
15:07
|
Го по делу. Есть идеи у кого еще? ПО идее те обороты что я в 22 получил к ним теперь осталось пристегнуть остатки на конец и начало периода
|
|||
25
Tonik992
17.07.18
✎
15:07
|
Остаток не будет правильный при таком запросе (22).
Вам надо нарастающим методом вычитать остатки по регистратору. |
|||
26
Малыш Джон
17.07.18
✎
15:10
|
(24) выбери все остатки и обороты за период, выбери остатки и обороты по регистраторам за период
через ОБЪЕДИНИТЬ отними от первой ВТ вторую ВТ |
|||
27
Малыш Джон
17.07.18
✎
15:13
|
+(26) во второй ВТ, естественно остатки не из ТОваров на складах брать
если расход, то начальный остаток = оборот, конечный = 0 если приход - наоборот |
|||
28
Малыш Джон
17.07.18
✎
15:21
|
Хотя это я что-то погорячился...
остатки тут придется руками считать |
|||
29
Garykom
гуру
17.07.18
✎
15:29
|
(28) угу см (10)
|
|||
30
jamesgold
17.07.18
✎
15:36
|
По идее простая задача а хрен сделаешь
|
|||
31
Джинн
17.07.18
✎
16:06
|
(30) Дебильную задачу никогда просто не сделаешь.
|
|||
32
Garykom
гуру
17.07.18
✎
16:15
|
(31) Она легко делается только подумать чуть надо же.
Копия базы, распроводим лишние документы перемещения, снимаем отчет. Можно и в реальной базе в одной транзакции такой изврат провернуть )) с последующей отменой транзакции. |
|||
33
Джинн
17.07.18
✎
16:21
|
(32) :) Вы в службе техподдержки 1С не работали?
Как-то мне после выхода ТиС с его хитрым способом упр/фин учета, при котором регистры не закрывались, ответили "А Вы поменяйте аналитику, перепроведите все документы, сформируйте отчет, а затем перепроведите обратно.". |
|||
34
Garykom
гуру
17.07.18
✎
16:23
|
(33) Неа но приглашали, отказался ))
|
|||
35
jamesgold
17.07.18
✎
16:33
|
(32) Прикольно. И главное работать правильно будет
|
|||
36
jamesgold
17.07.18
✎
16:34
|
Хотелось бы менее радикальное
|
|||
37
Джинн
17.07.18
✎
16:37
|
(36) Для менее радикальных мер нужно проектировать изначально структуру регистров под задачу. А не пытаться достать гланды нетрадиционным способом.
|
|||
38
Garykom
гуру
17.07.18
✎
16:37
|
(36) Менее радикальное это самому остатки считать, все движения из регистра в ТЗ и вперед.
|
|||
39
jamesgold
17.07.18
✎
16:38
|
Может типа получить 2 ТЗ, одну полную вторую исключающие обороты и просто перебором получить разницу?
|
|||
40
Garykom
гуру
17.07.18
✎
16:38
|
(37) Угу типа засунуть Регистратора в Измерения РН и перепровести все документы ))
|
|||
41
Garykom
гуру
17.07.18
✎
16:41
|
(39) Получи полную таблицу движений, приход с + расход с -.
С начала времен получи пропуская лишние документы. (Склад, Номенклатура, Количество) Затем просто Свернуть("Склад, Номенклатуры", "Количество"). |
|||
42
jamesgold
17.07.18
✎
16:49
|
(41) По идее это можно в запросе сделать и засунуть во временную таблицу из которой запросы потом делать можно будет
|
|||
43
hhhh
17.07.18
✎
17:33
|
(42) ну да. Только заранее предупреди юзеров, что отчет будет формироваться минут 40. Чтобы они предварительно сбегали.
|
|||
44
jamesgold
18.07.18
✎
07:31
|
Ап, прошу еще идей.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |