|
остаток и документ | ☑ | ||
---|---|---|---|---|
0
SergeyGr
23.05.13
✎
13:51
|
Есть список контрагентов.
Нужно сделать следующее: 1. по каждому из контрагентов проверить ОСТАТОК на некоторую дату на сч.62; 2.если остаток есть, то найти ПОСЛЕДНИЙ документ, который вызвал движение по этому счету. Можно ли такое сделать одним запросом ? Спасибо |
|||
1
Godofsin
23.05.13
✎
13:52
|
Можно
|
|||
2
Пират
23.05.13
✎
13:53
|
Имеющие Сумма(КоличествоОстаток) > 0
Максимум(Регистратор) |
|||
3
Defender aka LINN
23.05.13
✎
13:56
|
(2) Максимум(Регистратор)
А потом такие люди искренне возмущаются, когда им предлагают тестовое задание :) |
|||
4
Пират
23.05.13
✎
13:58
|
(3) что вам не нравится в функции Максимум()?
Понаберутся стереотипов и боятся шаг влево-вправо сделать, да еще и других под свою дудку прогибают... |
|||
5
zippygrill
23.05.13
✎
13:58
|
(2) сначало по Дате и потом по МоментуВремени
|
|||
6
Defender aka LINN
23.05.13
✎
13:59
|
(4) То, что она вернет максимальную ссылку, а не последний документ.
|
|||
7
Пират
23.05.13
✎
14:00
|
(6) о-о-о, мля... это писец какая принципиальная разница...
|
|||
8
Пират
23.05.13
✎
14:00
|
+(7) особенно если не позволят задним числом документы фигачить
|
|||
9
Defender aka LINN
23.05.13
✎
14:01
|
(7) Ну, вообще-то это 2 совершенно разных понятия, которые даже не родственники.
|
|||
10
Пират
23.05.13
✎
14:01
|
(9) совмести их у себя в БД и не клюй мозги такими вопросами на собеседовании :)
|
|||
11
SergeyGr
23.05.13
✎
14:02
|
Я плохо знаю 1С - не могли бы Вы набросать текст запроса. :-))
|
|||
12
Пират
23.05.13
✎
14:03
|
(11) за 300 р. напишу
|
|||
13
Defender aka LINN
23.05.13
✎
14:04
|
(10) Как это "не клюй"? Последний документ в мае, а твой запрос клятвенно уверяет, что в январе 2004г. Это, по-твоему, нормальная ситуация?
З.Ы. Я собеседования не провожу, если что, там Лефмихалыч развлекается |
|||
14
Пират
23.05.13
✎
14:12
|
(13) тогда без измерения "ДокументЗадолженности" ты никак не получишь документ, по которому задолженность.
|
|||
15
Defender aka LINN
23.05.13
✎
14:13
|
(14) Это ты темой сейчас промахнулся?
|
|||
16
Пират
23.05.13
✎
14:13
|
(13) предлагая Максимум(Регистратор), предполагал, что остатки по документу не хранятся. Так вопрос в (0) задан.
|
|||
17
Ненавижу 1С
гуру
23.05.13
✎
14:14
|
(16) ты хоть бы не позорился про "Максимум(Регистратор)"
|
|||
18
Пират
23.05.13
✎
14:14
|
(15) Ну научи меня, как ты получишь остаток на документ, если у тебя остатки по документам не учитываются?
Только не надо мне рассказывать про моменты времени и позицию регистратора... |
|||
19
Пират
23.05.13
✎
14:15
|
(17) сам не позорься
|
|||
20
Defender aka LINN
23.05.13
✎
14:15
|
(16) Гм... Я в тупике. Копировать текст из (0) бесполезно, а как тебе еще объяснить, что нужен ПОСЛЕДНИЙ документ, я не представляю.
|
|||
21
Defender aka LINN
23.05.13
✎
14:15
|
(18) Где ты увидел про "остаток на документ"?
|
|||
22
Пират
23.05.13
✎
14:16
|
(20) Чем Максимум(Регистратор) не Последний, если не разрешено новые документы задним числом фигачить?
|
|||
23
Defender aka LINN
23.05.13
✎
14:17
|
(22) Тем, что не последний, блеать.
Последний - это Максимум(Дата) и Максимум(Ссылка). Одновременно. |
|||
24
Пират
23.05.13
✎
14:20
|
(23) ну делай Максимум(Дата), Максимум(Ссылка). Песец какой секрет и офигеть какое тайное знание.
Максимум(Регистратор) - максимальный идентификатор из ссылки. Т.к. нумерация идентификаторов идет по возрастанию. То вернет последний введенный документ. |
|||
25
Ненавижу 1С
гуру
23.05.13
✎
14:21
|
(24) "Т.к. нумерация идентификаторов идет по возрастанию" - это чушь
|
|||
26
Пират
23.05.13
✎
14:21
|
+(24) так что что в этой ситуации считать ПОСЛЕДНИМ - еще вопрос
|
|||
27
Пират
23.05.13
✎
14:22
|
(25) Максимум(СписокДокументов.ДокументСсылка) не возвращает последний физически введенный документ?
|
|||
28
Шапокляк
23.05.13
✎
14:23
|
(24) Никогда не делал запрос с сортировкой по регистратору по возрастанию? Сделай и удивись.
|
|||
29
Ненавижу 1С
гуру
23.05.13
✎
14:25
|
(27) нет
|
|||
30
Defender aka LINN
23.05.13
✎
14:34
|
(24) Получишь 2 поля: 23.05.2013 и "Документ такой-то №123 от 03.02.2004". И?
|
|||
31
Ненавижу 1С
гуру
23.05.13
✎
14:37
|
ВЫБРАТЬ
ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОбороты.Регистратор ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет В ИЕРАРХИИ (&Счет62), &Контрагенты, ) КАК ХозрасчетныйОстатки ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, Счет В ИЕРАРХИИ (&Счет62), &Контрагенты, , , ) КАК ХозрасчетныйОбороты ПО ХозрасчетныйОстатки.Субконто1 = ХозрасчетныйОбороты.Субконто1 ГДЕ ХозрасчетныйОбороты.Регистратор В (ВЫБРАТЬ ПЕРВЫЕ 1 РегистрБухгалтерии.Хозрасчетный.Обороты.Регистратор ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, Счет В ИЕРАРХИИ (&Счет62), &Контрагенты, , , ) ГДЕ РегистрБухгалтерии.Хозрасчетный.Обороты.Субконто1 = ХозрасчетныйОбороты.Субконто1 УПОРЯДОЧИТЬ ПО РегистрБухгалтерии.Хозрасчетный.Обороты.Регистратор.МоментВремени УБЫВ) |
|||
32
Defender aka LINN
23.05.13
✎
14:46
|
(31) Жесть какая
|
|||
33
Ненавижу 1С
гуру
23.05.13
✎
14:52
|
(32) да, лень было нормально получать максимум по моменту времени
|
|||
34
Пират
23.05.13
✎
15:11
|
(29) Мля, один чувак в свое время убедил меня, что Максимум(ДокументСписок.Ссылка) возвращает последний физически введенный документ (по идентификаторам работает типа).
А что тогда возвращает такой Максимум()? Неужели по системному представлению работает? |
|||
35
Ненавижу 1С
гуру
23.05.13
✎
15:14
|
(34) это скорее всего верно если документы вводятся с одного компьютера
и потом, где в БП не вводят документы задним числом? |
|||
36
Пират
23.05.13
✎
15:18
|
(35) в коллективной разработке на 8.1 под SQL, в году 2008-м спокойно пользовались таким максимумом и глюков не было.
Поменяли принцип назначения идентификаторов для ссылок? |
|||
37
Пират
23.05.13
✎
15:20
|
+(36) Помню даже в методическом пособии на 8.1 по оперативному учету был пример списания остатков по FIFO, где в запросе применялся Максимум по ссылке на документ.
Поясни,плиз, или сам не знаешь? |
|||
38
Ненавижу 1С
гуру
23.05.13
✎
15:25
|
(37) мои доводы:
1. это не документировано 2. возможен ввод задним числом 3. возможен обмен данными с другими базами |
|||
39
Пират
23.05.13
✎
15:27
|
(38) ну да, с логикой согласен.
Значит, все-таки идентификаторы шерстит :) |
|||
40
Пират
23.05.13
✎
15:28
|
(38) по поводу недокументированности я бы поспорил.
Т.к. это было в методичке официального сертифицированного курса по 8.1 |
|||
41
Ненавижу 1С
гуру
23.05.13
✎
15:31
|
(40) даже в СП случались ошибки
|
|||
42
Defender aka LINN
23.05.13
✎
15:43
|
(34) "А что тогда возвращает такой Максимум()" - GUID - это число. Возвращается ссылка с макс. ГУИДом. Но при этом еще имеет значение тип ссылки, т.к. тип - тоже ГУИД, на самом деле. Максимум(Ссылка) вернет последний документ в секунде и будет прав. Если промежуток времени больше 1 секунды, то уже никто никому ничего не должен.
|
|||
43
Пират
23.05.13
✎
15:44
|
(42) судя по ответам @Ненавижу 1С, твои знания тоже устарели и тебя на работу без теста не возьмут.
|
|||
44
DexterMorgan
23.05.13
✎
15:45
|
Максимум(Ссылка) - не катит, последний введеный в базе документ <> последний документ по дате этого контрагента.
Если даты документов не могут совпадать то делал как то так: ВЫБРАТЬ ПоступлениеТоваровУслуг.Ссылка, ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.Дата ИЗ (ВЫБРАТЬ МАКСИМУМ(ПоступлениеТоваровУслуг.Дата) КАК Дата, ПоступлениеТоваровУслуг.Контрагент КАК Контрагент ИЗ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслуг.Контрагент) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг ПО ВложенныйЗапрос.Дата = ПоступлениеТоваровУслуг.Дата И ВложенныйЗапрос.Контрагент = ПоступлениеТоваровУслуг.Контрагент |
|||
45
Пират
23.05.13
✎
15:48
|
+(43) так что, прежде чем пальцы гнуть, послушал бы умных людей :)
|
|||
46
Defender aka LINN
23.05.13
✎
15:50
|
(43) И на основании чего сделан столь глубокомысленный вывод?
|
|||
47
Пират
23.05.13
✎
15:52
|
(46) внимательно почитай (38), подумай, а потом перечитай свой пост в (42)
|
|||
48
Пират
23.05.13
✎
15:54
|
+(47) особенно п.3 мне понравился
|
|||
49
DexterMorgan
23.05.13
✎
15:54
|
(47) Приведи этот пример из методички? НАсколько я помню везде упорядочивали по моменту времени, никакого "Максимум(ссылки)" там нет.
|
|||
50
Ненавижу 1С
гуру
23.05.13
✎
15:55
|
(44) неполный ответ, документы могут иметь одинаковую дату+время
|
|||
51
Лефмихалыч
23.05.13
✎
15:55
|
(37) это в котором пособии?
|
|||
52
Пират
23.05.13
✎
15:56
|
(49) там измерение "партия" по максимуму выбиралась
|
|||
53
Ненавижу 1С
гуру
23.05.13
✎
15:56
|
(42) "вернет последний документ в секунде" - слишком много трактовок у этой фразы
|
|||
54
DexterMorgan
23.05.13
✎
15:56
|
(50) ну так я сделал же на этом акцент
|
|||
55
Пират
23.05.13
✎
15:57
|
(51) если память не изменяет, УЦ 3
|
|||
56
Ненавижу 1С
гуру
23.05.13
✎
15:57
|
(54) чукча не читатель ))
|
|||
57
Пират
23.05.13
✎
15:58
|
Интересно, принцип формирования GUID (внутреннего представления) у платформ 8.1 и 8.2 поменялся или тот же?
|
|||
58
Лефмихалыч
23.05.13
✎
15:59
|
(52) тьхе, чудак, этот максимум по ссылке был в итогах и выбирал он максимум из одинаковых ссылок. Нужен для формирования сообщения о превышении доступного остатка.
Садись, два. С минусом |
|||
59
Пират
23.05.13
✎
15:59
|
(58) скан давай
|
|||
60
Лефмихалыч
23.05.13
✎
16:00
|
(59) скан чего? Это ты скан давай - ты же пургу метешь. Не может в методичке ЦСО быть получения последнего документа путем Максимум(Ссылка).
|
|||
61
DexterMorgan
23.05.13
✎
16:00
|
(58) +100500, а никак не мог сообразить про что он)
(59) да точно! |
|||
62
Пират
23.05.13
✎
16:01
|
+(59) без скана листа методички УЦ3 по 8.1 все, что ты написал - чиста треп.
|
|||
63
Ненавижу 1С
гуру
23.05.13
✎
16:02
|
(62) во дает, сам же начал про методичку
|
|||
64
Пират
23.05.13
✎
16:02
|
(60) Максимум(Партия) там была... Опять же, если память не изменяет.
|
|||
65
DexterMorgan
23.05.13
✎
16:03
|
Давайте голосовалку =)))
"может в методичке ЦСО быть получения последнего документа путем Максимум(Ссылка)?" 1. Да 2. Нет |
|||
66
DexterMorgan
23.05.13
✎
16:04
|
(64) Только из одинаковых ссылок если
|
|||
67
Пират
23.05.13
✎
16:05
|
(66) да. Там был пример, работающий только с положительным остатком и в измерении "Партия" была только ПрихНакл
|
|||
68
Лефмихалыч
23.05.13
✎
16:06
|
(62) как раз наоборот - без скана ты трепло
|
|||
69
Лефмихалыч
23.05.13
✎
16:07
|
(64) была, но только в итогах
|
|||
71
Лефмихалыч
23.05.13
✎
16:08
|
+(69) утверждение основано на логике вещей и понимании того, что максимум от ссылки на документ - это не последний документ. Просто хотя бы потому, что понятия "последний документ" нет
|
|||
72
DexterMorgan
23.05.13
✎
16:09
|
(71) Можно так:
максимум от ссылки на документ - это не последний документ по дате |
|||
73
Пират
23.05.13
✎
16:11
|
(71) надоело баян обсуждать, выше все написано
|
|||
74
DexterMorgan
23.05.13
✎
16:11
|
(73) Тебе привести пример когда возможно (72)? С чем ты споришь?
|
|||
75
Пират
23.05.13
✎
16:11
|
(72) и не последний документ по реквизиту ДатаВх :)
|
|||
76
DexterMorgan
23.05.13
✎
16:12
|
(75) Ладно, все понятно с тобой
|
|||
77
Пират
23.05.13
✎
16:12
|
(74) я не спорю. все уже выяснили. Ненавижу 1С привел жесткие аргументы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |