|
Найти разницу между ТЗ и справочником. | ☑ | ||
---|---|---|---|---|
0
Kongo2019
06.02.20
✎
15:48
|
Доброго.
Найти разницу между ТЗ и справочником. Есть ТЗ, в ней два поля, есть справочник, в нем два аналогичных по типу реквизита. Необходимо найти разницу. То что есть в ТЗ но нет с справочнике, ТЗ здесь главная. Никак не соображу какое условие в запросе сделать. Сравнение по двум полям. Может кто решал такую задачу? |
|||
1
vicof
06.02.20
✎
15:50
|
условие на не равно поставить
|
|||
2
Kongo2019
06.02.20
✎
15:52
|
А фиг тама.
Работает только первый раз. Потом выдает все на все. |
|||
3
DTX 4th
06.02.20
✎
15:54
|
А как сейчас выглядит запрос?
|
|||
4
Ненавижу 1С
гуру
06.02.20
✎
15:54
|
левое соединение по равенству и условие на Ссылка ЕСТЬ NULL
|
|||
5
H A D G E H O G s
06.02.20
✎
15:56
|
ВЫБРАТЬ
ТЗ.Поле1, ТЗ.Поле2 ИЗ ТЗ ЛевоеСоединение ТЗ.Поле1=Спр.Поле1 и ТЗ.Поле2=Спр.Поле2 Где Спр.Поле1 ЕСТЬ NULL |
|||
6
Garykom
гуру
06.02.20
✎
15:57
|
(4) А вот мне больше нравится правое соединение (можно же справочник взять слева а ТЗ справа) и хочешь сказать не выйдет?
|
|||
7
Kongo2019
06.02.20
✎
15:57
|
(3) ВЫБРАТЬ
НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии ПОМЕСТИТЬ НоменклатураДата ИЗ &НоменклатураДата КАК НоменклатураДата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии ИЗ Справочник.Партия КАК Партия ЛЕВОЕ СОЕДИНЕНИЕ НоменклатураДата КАК НоменклатураДата ПО (НоменклатураДата.Номенклатура <> Партия.Номенклатура) И (НоменклатураДата.ДатаПартии <> Партия.ДатаПартии) |
|||
8
Ненавижу 1С
гуру
06.02.20
✎
15:57
|
(6) я не против, но конструктор запроса любит левое
|
|||
9
Garykom
гуру
06.02.20
✎
15:57
|
(5) Скосячил
|
|||
10
Garykom
гуру
06.02.20
✎
15:58
|
(8) Пофиг на конструктор, главное чтобы sql сервер любил
|
|||
11
H A D G E H O G s
06.02.20
✎
16:01
|
ВЫБРАТЬ
НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии ПОМЕСТИТЬ НоменклатураДата ИЗ &НоменклатураДата КАК НоменклатураДата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии ИЗ НоменклатураДата КАК НоменклатураДата ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партия КАК Партия ПО (НоменклатураДата.Номенклатура = Партия.Номенклатура) И (НоменклатураДата.ДатаПартии = Партия.ДатаПартии) ГДЕ Партия.Номенклатура ЕСТЬ NULL |
|||
12
pechkin
06.02.20
✎
16:03
|
(10) Любителям правых соединений - отдельный котел
|
|||
13
Garykom
гуру
06.02.20
✎
16:05
|
Я бы так наверно
ВЫБРАТЬ НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии, Партия.Ссылка ИЗ НоменклатураДата КАК НоменклатураДата ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партия КАК Партия ПО (НоменклатураДата.Номенклатура = Партия.Номенклатура) И (НоменклатураДата.ДатаПартии = Партия.ДатаПартии) ГДЕ Партия.Ссылка ЕСТЬ NULL Но почему хз |
|||
14
Kongo2019
06.02.20
✎
16:07
|
(11) Что-то пусто на выходе.
|
|||
15
Kongo2019
06.02.20
✎
16:08
|
(13) То же не сработало.
|
|||
16
piter3
06.02.20
✎
16:09
|
(15) Хм,что бы до 100 ветки не доходить,а сам глазами видел в базе нужные входные данные?
|
|||
17
Garykom
гуру
06.02.20
✎
16:10
|
(15) Убери условие
ГДЕ Партия.Ссылка ЕСТЬ NULL И глянь что выводит |
|||
18
Kongo2019
06.02.20
✎
16:12
|
(16) Выдел.
|
|||
19
Garykom
гуру
06.02.20
✎
16:13
|
(18) У всех ссылка заполнена?
|
|||
20
Kongo2019
06.02.20
✎
16:15
|
(17)Пусто, Пусто, Элемент из справочника.
Весь справочник. Сейчас кеш почищу |
|||
21
Garykom
гуру
06.02.20
✎
16:19
|
(20) Ты чего то скосячил, при левом из (13) должна выводиться вся ТЗ и к каждой строчке подбираться из справочника или пусто.
Никаких пустых Номенклатура и ДатаПартии не должно быть |
|||
22
Kongo2019
06.02.20
✎
16:21
|
(21)Согласен.
Да вот блин три строчки, косяка не вижу. |
|||
23
Kongo2019
06.02.20
✎
16:32
|
(21) Нашел косяк. Соединение было неправильно.
|
|||
24
Kongo2019
06.02.20
✎
16:37
|
Теперь пофигу есть условие или нет.
Теперь выводится Номенклатура, дата, пустое полк и так вся ТЗ. походу с датой что-то не так. В запросе дата так - 11.09.2015 0:00:00 а в реквизите просто - 11.09.2015 |
|||
25
H A D G E H O G s
06.02.20
✎
16:43
|
(24) ну там секунды не показываются
|
|||
26
H A D G E H O G s
06.02.20
✎
16:43
|
или тупо строка небось
|
|||
27
pechkin
06.02.20
✎
16:45
|
(26) если выборка пуста, то получаетс все партии есть
|
|||
28
Kongo2019
06.02.20
✎
16:45
|
(26)Нет. В реквизите тип - дата, состав дата - дата. То бишь в реквизите времени нет.
может поэтому? |
|||
29
Said_We
06.02.20
✎
16:46
|
Даты приведи к началу периоду НАЧАЛОПЕРИОДА(ДатаПартии , ДЕНЬ)
|
|||
30
Said_We
06.02.20
✎
16:46
|
Обе даты
|
|||
31
Kongo2019
06.02.20
✎
16:46
|
(27) Выборка вот сейчас тупо выводить мое ТЗ. и пустое поле Ссылка.
|
|||
32
Said_We
06.02.20
✎
16:50
|
(31) Так такое условие и поставил
ГДЕ Партия.Ссылка ЕСТЬ NULL |
|||
33
Kongo2019
07.02.20
✎
09:12
|
(32) Ну так какое порекомендовали такое и вставил.
|
|||
34
Kongo2019
07.02.20
✎
09:13
|
(29) Ну получается. Даже с одной
Неверные параметры "НАЧАЛОПЕРИОДА" И НАЧАЛОПЕРИОДА(<<?>>НоменклатураДата.ДатаПартии, День) = Партия.ДатаПартии |
|||
35
catena
07.02.20
✎
09:23
|
(34)Не дата в таблице, видимо
|
|||
36
Kongo2019
07.02.20
✎
09:31
|
(35) Ну да, это я делал в консоли, пакет инструменты разработчика.
Загнал в код, ошибки нет. Но все равно выводится тупо моя таблица значений. |
|||
37
crasler
07.02.20
✎
09:31
|
ВЫБРАТЬ
НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии ПОМЕСТИТЬ НоменклатураДата ИЗ &НоменклатураДата КАК НоменклатураДата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии ИЗ НоменклатураДата КАК НоменклатураДата ГДЕ НЕ (НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии) В (ВЫБРАТЬ Номенклатура, ДатаПартии ИЗ Справочник.Партия) |
|||
38
Kongo2019
07.02.20
✎
09:33
|
Вот писание мой ТЗ, может тут косяк?
тзНоменклатураДата = Новый ТаблицаЗначений; тзНоменклатураДата.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); тзНоменклатураДата.Колонки.Добавить("ДатаПартии", Новый ОписаниеТипов("Дата")); |
|||
39
Kongo2019
07.02.20
✎
09:40
|
(37) Это ты что-то жесткое предложил.
Получаю окошко. Ошибка SDBL: Вложенный результат в запросе, вложенном в IN И две кнопки Завершить работу, Перезапустить. |
|||
40
crasler
07.02.20
✎
09:47
|
(39) А так
ВЫБРАТЬ НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии ПОМЕСТИТЬ НоменклатураДата ИЗ &НоменклатураДата КАК НоменклатураДата ; ВЫБРАТЬ А.Номенклатура, А.ДатаПартии ПОМЕСТИТЬ Партия ИЗ Справочник.Партия КАК А ; ВЫБРАТЬ НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии ИЗ НоменклатураДата КАК НоменклатураДата ГДЕ НЕ (НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии) В (ВЫБРАТЬ А.Номенклатура, А.ДатаПартии ИЗ Партия КАК А) |
|||
41
Kongo2019
07.02.20
✎
09:50
|
(40) Таблица не найдена "Партия"
В (ВЫБРАТЬ А.Номенклатура, А.ДатаПартии ИЗ <<?>>Партия КАК А) |
|||
42
crasler
07.02.20
✎
09:57
|
(41) А так, менеджер временных таблиц установлен?
(39) А так ВЫБРАТЬ НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии ПОМЕСТИТЬ НоменклатураДата ИЗ &НоменклатураДата КАК НоменклатураДата ; ВЫБРАТЬ А.Номенклатура, А.ДатаПартии ПОМЕСТИТЬ Партии ИЗ Справочник.Партия КАК А ; ВЫБРАТЬ НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии ИЗ НоменклатураДата КАК НоменклатураДата ГДЕ НЕ (НоменклатураДата.Номенклатура, НоменклатураДата.ДатаПартии) В (ВЫБРАТЬ А.Номенклатура, А.ДатаПартии ИЗ Партии КАК А) |
|||
43
Said_We
07.02.20
✎
10:01
|
(34) Тебе написали в (35) что не дата у тебя там. Посмотри что. Какой тип?
|
|||
44
Kongo2019
07.02.20
✎
10:04
|
(43) Дата, проверил.
в (38) описание моей ТЗ. |
|||
45
catena
07.02.20
✎
10:06
|
(36)Давай итоговый запрос на данный момент и еще раз внятно, чего хочешь.
|
|||
46
Said_We
07.02.20
✎
10:07
|
(44) Картинку покажи, где видно что дата.
|
|||
47
1Сергей
07.02.20
✎
10:09
|
(44) а в справочнике?
|
|||
48
Kongo2019
07.02.20
✎
10:17
|
Блин, какая-то магия.
Текущий запрос "ВЫБРАТЬ | НоменклатураДата.Номенклатура, | НоменклатураДата.ДатаПартии |ПОМЕСТИТЬ НоменклатураДата |ИЗ | &НоменклатураДата КАК НоменклатураДата |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | НоменклатураДата.Номенклатура КАК Номенклатура, | НоменклатураДата.ДатаПартии КАК ДатаПартии, | Партия.Ссылка |ИЗ | НоменклатураДата КАК НоменклатураДата | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партия КАК Партия | ПО НоменклатураДата.Номенклатура = Партия.Номенклатура | И (НАЧАЛОПЕРИОДА(НоменклатураДата.ДатаПартии, ДЕНЬ) = НАЧАЛОПЕРИОДА(Партия.ДатаПартии, ДЕНЬ)) |ГДЕ | Партия.Ссылка ЕСТЬ NULL"; Добавил только Партия.Ссылка и все заработало. Почему так? |
|||
49
Kongo2019
07.02.20
✎
10:18
|
(47) В реквизите тип - дата, состав дата - дата. То бишь в реквизите времени нет
|
|||
50
Said_We
07.02.20
✎
10:32
|
(49) Дата со временем и дата без времени, это в общем случае две разные даты.
|
|||
51
Kongo2019
07.02.20
✎
10:36
|
(50) Логично, но блин начал запрос корено работать не тогда когда я дата привел к одному.
А добавил поле. Партия.Ссылка |
|||
52
Said_We
07.02.20
✎
10:42
|
(52) А если сейчас убрать, то перестанет работать?
|
|||
53
Kongo2019
07.02.20
✎
10:50
|
(52) Ага, выводит всю мою ТЗ.
|
|||
54
catena
07.02.20
✎
10:55
|
(53)Не верю. Скрин покажи
|
|||
55
Kongo2019
07.02.20
✎
11:00
|
(54) Сам в шоке. Чего скрин показать?
|
|||
56
Kongo2019
07.02.20
✎
11:01
|
(13) Мне вот тут тоже так предлагали делать.
|
|||
57
Said_We
07.02.20
✎
11:03
|
(55) В СКД делаешь или в консоле обычной?
|
|||
58
Kongo2019
07.02.20
✎
11:06
|
(57)В консоли давал ошибку см на (34). Поэтому я сделал обработку, вынес туда этот кусок, и выводил результат через Сообщить.
|
|||
59
Said_We
07.02.20
✎
11:09
|
Ошибка могла быть из-за ТЗ. Как её в консоль запихивал?
|
|||
60
Kongo2019
07.02.20
✎
11:13
|
(59) В параметры, там есть такая возможность, загрузить из файла.
Я понял, что она там как текст грузилась. Поэтому и ушёл код в обработке отлаживать. |
|||
61
Said_We
07.02.20
✎
11:24
|
(60) Если как текст, то поэтому и дата это совсем не дата. Поэтому и не отработало НАЧАЛОПЕРИОДА().
Для теста можно было несколько строк загнать руками в консоле в ВТ "НоменклатураДата": ВЫБРАТЬ &Номенклатура1 как Номенклатура, ДатаВремя(2020,2,7) КАК ДатаПартии Поместить НоменклатураДата Объединить все &Номенклатура2, ДатаВремя(2020,1,4) Объединить все &Номенклатура3, ДатаВремя(2019,12,17); |
|||
62
Kongo2019
07.02.20
✎
11:49
|
(61) Об этом я не подумал. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |