|
РеализацияТоваровУслуг дублирует записи 🠗Ø (Волшебник 09.08.2024 12:44) | ☑ | ||
---|---|---|---|---|
0
alukardua
naïve
08.08.24
✎
16:31
|
Есть запрос
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | СУММА(ВЫБОР | КОГДА НЕ РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС | ТОГДА РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС | ИНАЧЕ РеализацияТоваровУслугТовары.Сумма | КОНЕЦ) КАК Сумма, | СУММА(РеализацияТоваровУслугТовары.СуммаНДС) КАК СуммаНДС, | СУММА(ВЫБОР | КОГДА НЕ РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС | ТОГДА РеализацияТоваровУслугТовары.Сумма | ИНАЧЕ РеализацияТоваровУслугТовары.Сумма - РеализацияТоваровУслугТовары.СуммаНДС | КОНЕЦ) КАК БезНДС, | РеализацияТоваровУслугТовары.Ссылка КАК Ссылка |ПОМЕСТИТЬ СуммаДокумента |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслугТовары.Ссылка.Организация = &Организация | И РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | И РеализацияТоваровУслугТовары.Ссылка.Проведен | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугТовары.Ссылка | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | СУММА(ВЫБОР | КОГДА НЕ РеализацияТоваровУслугУслуги.Ссылка.СуммаВключаетНДС | ТОГДА РеализацияТоваровУслугУслуги.Сумма + РеализацияТоваровУслугУслуги.СуммаНДС | ИНАЧЕ РеализацияТоваровУслугУслуги.Сумма | КОНЕЦ), | СУММА(РеализацияТоваровУслугУслуги.СуммаНДС), | СУММА(ВЫБОР | КОГДА НЕ РеализацияТоваровУслугУслуги.Ссылка.СуммаВключаетНДС | ТОГДА РеализацияТоваровУслугУслуги.Сумма | ИНАЧЕ РеализацияТоваровУслугУслуги.Сумма - РеализацияТоваровУслугУслуги.СуммаНДС | КОНЕЦ), | РеализацияТоваровУслугУслуги.Ссылка |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги |ГДЕ | РеализацияТоваровУслугУслуги.Ссылка.Организация = &Организация | И РеализацияТоваровУслугУслуги.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | И РеализацияТоваровУслугУслуги.Ссылка.Проведен | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугУслуги.Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РеализацияТоваровУслугТовары.Ссылка.Номер КАК Номер, | РеализацияТоваровУслугТовары.Ссылка.Дата КАК Дата, | СуммаДокумента.Сумма КАК Сумма, | СуммаДокумента.СуммаНДС КАК СуммаНДС, | РеализацияТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент, | РеализацияТоваровУслугТовары.Ссылка.Ответственный КАК Ответственный, | РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура, | РеализацияТоваровУслугТовары.Количество КАК Количество, | СуммаДокумента.БезНДС КАК БезНДС, | РеализацияТоваровУслугТовары.Ссылка.Комментарий КАК Комментарий, | РеализацияТоваровУслугТовары.Номенклатура.Родитель КАК Родитель |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары | ЛЕВОЕ СОЕДИНЕНИЕ СуммаДокумента КАК СуммаДокумента | ПО РеализацияТоваровУслугТовары.Ссылка = СуммаДокумента.Ссылка |ГДЕ | РеализацияТоваровУслугТовары.Ссылка.Организация = &Организация | И РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | И РеализацияТоваровУслугТовары.Ссылка.Проведен | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслугУслуги.Ссылка.Номер, | РеализацияТоваровУслугУслуги.Ссылка.Дата, | СуммаДокумента.Сумма, | СуммаДокумента.СуммаНДС, | РеализацияТоваровУслугУслуги.Ссылка.Контрагент, | РеализацияТоваровУслугУслуги.Ссылка.Ответственный, | РеализацияТоваровУслугУслуги.Номенклатура, | РеализацияТоваровУслугУслуги.Количество, | СуммаДокумента.БезНДС, | РеализацияТоваровУслугУслуги.Ссылка.Комментарий, | РеализацияТоваровУслугУслуги.Номенклатура.Родитель |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги | ЛЕВОЕ СОЕДИНЕНИЕ СуммаДокумента КАК СуммаДокумента | ПО РеализацияТоваровУслугУслуги.Ссылка = СуммаДокумента.Ссылка |ГДЕ | РеализацияТоваровУслугУслуги.Ссылка.Организация = &Организация | И РеализацияТоваровУслугУслуги.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | И РеализацияТоваровУслугУслуги.Ссылка.Проведен | |УПОРЯДОЧИТЬ ПО | Дата, | Номер"; Когда идут документы только товары или услуги, все нормально отрабатывает, а вот если в документе сразу товары и услуги, то начинается чудачество, сумма выходит только из товаров, а услуги игнорирует и в таблице начинает задваивать. |
|||
1
Волшебник
08.08.24
✎
16:30
|
СуммаДокумента - плохое имя временной таблицы
|
|||
2
alukardua
naïve
08.08.24
✎
16:33
|
Ну какое есть, он мне в наследство достался
|
|||
3
Волшебник
08.08.24
✎
16:37
|
(2) Переименуйте
|
|||
4
alukardua
naïve
08.08.24
✎
16:40
|
(3) Переименовал, но основную проблему не решило
|
|||
5
saaken
08.08.24
✎
16:48
|
и какое применение этого запроса
|
|||
6
Мультук
гуру
08.08.24
✎
16:49
|
(0)
ПОМЕСТИТЬ СуммаДокумента 1) Сначала нужно объединить, то что получилось -- группировать, а не наоборот 2) Нахрен в этом запросе "РАЗЛИЧНЫЕ", если есть СГРУППИРОВАТЬ ПО 3) Ну и вообще, ко всей это писанине есть только один совет: учите SQL |
|||
7
alukardua
naïve
08.08.24
✎
16:54
|
(5) Он выводит в таблицу все реализации за определенную дату
|
|||
8
saaken
08.08.24
✎
16:57
|
а зачем общую сумму показывать по каждой номенклатуре
|
|||
9
Волшебник
08.08.24
✎
16:57
|
(4) Странно... Должно было помочь. Покажите новый запрос
|
|||
10
alukardua
naïve
08.08.24
✎
16:58
|
(6) Он в принципе правильно работает пока в документе либо товар, либо услуга, а вот когда и то и то, оставляет сумму из таблицы товары, а из таблицы услуги только наименования и самое главное начинает по 2 раза выводить наименования из обеих таблиц, у меня такое ощущение что он просто 2 раза один и тот же документ прокручивает
|
|||
11
alukardua
naïve
08.08.24
✎
16:59
|
(9) Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| СУММА(ВЫБОР | КОГДА НЕ РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС | ТОГДА РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС | ИНАЧЕ РеализацияТоваровУслугТовары.Сумма | КОНЕЦ) КАК Сумма, | СУММА(РеализацияТоваровУслугТовары.СуммаНДС) КАК СуммаНДС, | СУММА(ВЫБОР | КОГДА НЕ РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС | ТОГДА РеализацияТоваровУслугТовары.Сумма | ИНАЧЕ РеализацияТоваровУслугТовары.Сумма - РеализацияТоваровУслугТовары.СуммаНДС | КОНЕЦ) КАК БезНДС, | РеализацияТоваровУслугТовары.Ссылка КАК Ссылка |ПОМЕСТИТЬ СуммаДок |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслугТовары.Ссылка.Организация = &Организация | И РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | И РеализацияТоваровУслугТовары.Ссылка.Проведен | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугТовары.Ссылка | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | СУММА(ВЫБОР | КОГДА НЕ РеализацияТоваровУслугУслуги.Ссылка.СуммаВключаетНДС | ТОГДА РеализацияТоваровУслугУслуги.Сумма + РеализацияТоваровУслугУслуги.СуммаНДС | ИНАЧЕ РеализацияТоваровУслугУслуги.Сумма | КОНЕЦ), | СУММА(РеализацияТоваровУслугУслуги.СуммаНДС), | СУММА(ВЫБОР | КОГДА НЕ РеализацияТоваровУслугУслуги.Ссылка.СуммаВключаетНДС | ТОГДА РеализацияТоваровУслугУслуги.Сумма | ИНАЧЕ РеализацияТоваровУслугУслуги.Сумма - РеализацияТоваровУслугУслуги.СуммаНДС | КОНЕЦ), | РеализацияТоваровУслугУслуги.Ссылка |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги |ГДЕ | РеализацияТоваровУслугУслуги.Ссылка.Организация = &Организация | И РеализацияТоваровУслугУслуги.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | И РеализацияТоваровУслугУслуги.Ссылка.Проведен | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугУслуги.Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РеализацияТоваровУслугТовары.Ссылка.Номер КАК Номер, | РеализацияТоваровУслугТовары.Ссылка.Дата КАК Дата, | СуммаДок.Сумма КАК Сумма, | СуммаДок.СуммаНДС КАК СуммаНДС, | РеализацияТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент, | РеализацияТоваровУслугТовары.Ссылка.Ответственный КАК Ответственный, | РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура, | РеализацияТоваровУслугТовары.Количество КАК Количество, | СуммаДок.БезНДС КАК БезНДС, | РеализацияТоваровУслугТовары.Ссылка.Комментарий КАК Комментарий, | РеализацияТоваровУслугТовары.Номенклатура.Родитель КАК Родитель |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары | ЛЕВОЕ СОЕДИНЕНИЕ СуммаДок КАК СуммаДок | ПО РеализацияТоваровУслугТовары.Ссылка = СуммаДок.Ссылка |ГДЕ | РеализацияТоваровУслугТовары.Ссылка.Организация = &Организация | И РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | И РеализацияТоваровУслугТовары.Ссылка.Проведен | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслугУслуги.Ссылка.Номер, | РеализацияТоваровУслугУслуги.Ссылка.Дата, | СуммаДок.Сумма, | СуммаДок.СуммаНДС, | РеализацияТоваровУслугУслуги.Ссылка.Контрагент, | РеализацияТоваровУслугУслуги.Ссылка.Ответственный, | РеализацияТоваровУслугУслуги.Номенклатура, | РеализацияТоваровУслугУслуги.Количество, | СуммаДок.БезНДС, | РеализацияТоваровУслугУслуги.Ссылка.Комментарий, | РеализацияТоваровУслугУслуги.Номенклатура.Родитель |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги | ЛЕВОЕ СОЕДИНЕНИЕ СуммаДок КАК СуммаДок | ПО РеализацияТоваровУслугУслуги.Ссылка = СуммаДок.Ссылка |ГДЕ | РеализацияТоваровУслугУслуги.Ссылка.Организация = &Организация | И РеализацияТоваровУслугУслуги.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон | И РеализацияТоваровУслугУслуги.Ссылка.Проведен | |УПОРЯДОЧИТЬ ПО | Дата, | Номер"; |
|||
12
Волшебник
08.08.24
✎
17:00
|
(11) СуммаДок - плохое имя временной таблицы
тупой бот |
|||
13
alukardua
naïve
08.08.24
✎
17:01
|
(12) А на какое я просто не силен в 1С
|
|||
14
Волшебник
08.08.24
✎
17:02
|
(13) Это просто не Ваше. Вам лишь бы потрепаться. Вы же Большая Языковая Модель
|
|||
15
alukardua
naïve
09.08.24
✎
07:47
|
(14) Ну может быть, так как я больше с PHP. Но как говорится, нужно уметь многое, но не все делать.
|
|||
16
Мультук
гуру
09.08.24
✎
08:33
|
(6) (15)
Я не очень понимаю, как вы в PHP без баз данных и знания SQL. Но вот переделка говнокода в другой говнокод. P.S. Да-да, нужно сначала засунуть в одну ВТ, а потом... Нехай сам сует. Работать это будет (правда не знаю как в PG с этим делом) ВЫБРАТЬ т1.Ссылка КАК Ссылка, СУММА(т1.Сумма) КАК Сумма, СУММА(т1.СуммаНДС) КАК СуммаНДС, СУММА(т1.БезНДС) КАК БезНДС ПОМЕСТИТЬ СуммаДок ИЗ (ВЫБРАТЬ ВЫБОР КОГДА НЕ РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС ТОГДА РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС ИНАЧЕ РеализацияТоваровУслугТовары.Сумма КОНЕЦ КАК Сумма, РеализацияТоваровУслугТовары.СуммаНДС КАК СуммаНДС, ВЫБОР КОГДА НЕ РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС ТОГДА РеализацияТоваровУслугТовары.Сумма ИНАЧЕ РеализацияТоваровУслугТовары.Сумма - РеализацияТоваровУслугТовары.СуммаНДС КОНЕЦ КАК БезНДС, РеализацияТоваровУслугТовары.Ссылка КАК Ссылка ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ГДЕ РеализацияТоваровУслугТовары.Ссылка.Организация = &Организация И РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон И РеализацияТоваровУслугТовары.Ссылка.Проведен ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВЫБОР КОГДА НЕ РеализацияТоваровУслугУслуги.Ссылка.СуммаВключаетНДС ТОГДА РеализацияТоваровУслугУслуги.Сумма + РеализацияТоваровУслугУслуги.СуммаНДС ИНАЧЕ РеализацияТоваровУслугУслуги.Сумма КОНЕЦ, РеализацияТоваровУслугУслуги.СуммаНДС, ВЫБОР КОГДА НЕ РеализацияТоваровУслугУслуги.Ссылка.СуммаВключаетНДС ТОГДА РеализацияТоваровУслугУслуги.Сумма ИНАЧЕ РеализацияТоваровУслугУслуги.Сумма - РеализацияТоваровУслугУслуги.СуммаНДС КОНЕЦ, РеализацияТоваровУслугУслуги.Ссылка ИЗ Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги ГДЕ РеализацияТоваровУслугУслуги.Ссылка.Организация = &Организация И РеализацияТоваровУслугУслуги.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон И РеализацияТоваровУслугУслуги.Ссылка.Проведен) КАК т1 СГРУППИРОВАТЬ ПО т1.Ссылка |
|||
17
alukardua
naïve
09.08.24
✎
11:43
|
(16) То что это говнокод я понимаю, но какой достался.
А в PHP проще, так как я привык оперировать английскими названиями и плюс IDE подсказывает где ошибка. |
|||
18
maxab72
09.08.24
✎
11:55
|
(11) Ужас. Сперва получаете список строк ВСЕХ документов с суммами по строкам, а потом к каждой строке документа присобачиваете еще раз эту таблицу... причем не из этого документа, а изо всех так как ПО по номенклатуре. Даже если добавить соединение по документу, это не поможет, так как в одном документе может быть несколько строк с одним и тем же товаром. А в реализациях так и будет т.к. существуют ГТД, прослеживаемость и прочая хрень и хтонь...
|
|||
19
alukardua
naïve
09.08.24
✎
11:57
|
(18) Ну как говорил, не я писал это, да и я в 1С запросах пытаюсь разобраться.
|
|||
20
Волшебник
09.08.24
✎
12:15
|
(19) Ну так уберите руки от клавиатуры или чем Вы там генерите эти запросы...
|
|||
21
alukardua
naïve
09.08.24
✎
12:20
|
(20) Почему так токсично?
|
|||
22
Мультук
гуру
09.08.24
✎
12:22
|
(18)
1) В ВТ СуммаДок ГДЕ - есть А вы пишите "по всем документам" 2) во втором запросе связь ссылка = ссылка есть А вы пишите "а изо всех" 3) Связи по Номенклатура = Номенклатура вообще нет или я её ни вижу Написана хрень, но увы, с небольшим допилом (16) - работающая хрень. |
|||
23
Мультук
гуру
09.08.24
✎
12:27
|
(21)
Проверьте моё решение из 16 -- порадуйтесь или огорчитесь P.S. >> Почему так токсично? 1) Лето, жара 2) Потому что SQL нужно знать. Вообще. Безотносительно 1С. 3) Волшебника - заколебали ии-боты. (я так думаю) |
|||
24
Волшебник
09.08.24
✎
12:29
|
(23) >> Волшебника - заколебали ии-боты.
О, да. Особенно тупые |
|||
25
alukardua
naïve
09.08.24
✎
12:31
|
(23) (16) Сработало, запрос отрабатывает как нужно.
Ну я не пользуюсь ИИ для генерации кода, самого немного раздражает. |
|||
26
Волшебник
09.08.24
✎
12:33
|
(25) Да ты сам бот
|
|||
27
alukardua
naïve
09.08.24
✎
12:34
|
(26) с чего так?
С другой стороны и про вас можно сказать так же. |
|||
28
maxab72
09.08.24
✎
12:35
|
(22) По всем документам за период. Их много.
связь ссылка = ссылка есть. И толку. Каждой строке документа привязывать все строки этого документа? Связи по Номенклатура = Номенклатура вообще нет - не важно, уже до этого куча ошибок, что запрос из 0 не будет работать. |
|||
29
alukardua
naïve
09.08.24
✎
12:37
|
(28) В 16 подсказали. Все заработало и бухгалтерию устроил этот результат.
|
|||
30
Волшебник
09.08.24
✎
12:37
|
(27) Хрен с два. Я человек.
|
|||
31
Волшебник
09.08.24
✎
12:38
|
(29) пиздабол
|
|||
32
Мультук
гуру
09.08.24
✎
12:40
|
(28)
>> И толку. Каждой строке документа привязывать все строки этого документа? ВТ СУММА_ДОКУМЕНТА возвращает (см ниже) некие итоговые суммы ВЫБРАТЬ т1.Ссылка КАК Ссылка, СУММА(т1.Сумма) КАК Сумма, СУММА(т1.СуммаНДС) КАК СуммаНДС, СУММА(т1.БезНДС) КАК БезНДС Во окончательном запросе эти итоговые суммы "прицепляются" к каждой строке. |
|||
33
alukardua
naïve
09.08.24
✎
12:42
|
(32) Это отчет. Он не критичен, главное что сейчас он делает то что нужно
|
|||
34
Волшебник
09.08.24
✎
12:44
|
А теперь я посмотрю, сможет ли этот бот создать новую ветку. Не всякий может
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |