Имя: Пароль:
1C
 
Выборка данных из ТЧ документа
0 Marry04
 
26.07.16
12:08
Упп, документ "План производства по сменам" .хочу в запросе получить все спецификации из тЧ документа. в консоли запросов данный запрос прогоняю, но он не выбирает ни одну позицию.что не так?

ВЫБРАТЬ
    ПланПроизводстваПоСменамТовары.Спецификация,
    ПланПроизводстваПоСменам.Номер
ИЗ
    Документ.ПланПроизводстваПоСменам.Товары КАК ПланПроизводстваПоСменамТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПланПроизводстваПоСменам КАК ПланПроизводстваПоСменам
        ПО ПланПроизводстваПоСменамТовары.Ссылка = ПланПроизводстваПоСменам.Ссылка
ГДЕ
    ПланПроизводстваПоСменам.Номер = "00000000144 "
1 Nuobu
 
26.07.16
12:09
(0) Пробел в конце, а так запрос - самое оно!
2 Euguln
 
26.07.16
12:10
жесть.
в условие надо ставить ссылку.
3 Marry04
 
26.07.16
12:17
(2) по номеру поиск документа должен вестись.

ГДЕ
    ПланПроизводстваПоСменам.Номер = &Номер
и так делала.все равно не выводит спецификации
4 FIXXXL
 
26.07.16
12:45
(3) лучше по номеру найди ссылку и ее уже передай в запрос
проще отлаживать и сопровождать будет
5 Marry04
 
26.07.16
12:50
(4) ВЫБРАТЬ
    ПланПроизводстваПоСменамТовары.Спецификация,
    ПланПроизводстваПоСменам.Ссылка
    ИЗ
    Документ.ПланПроизводстваПоСменам.Товары КАК ПланПроизводстваПоСменамТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПланПроизводстваПоСменам КАК ПланПроизводстваПоСменам
        ПО ПланПроизводстваПоСменамТовары.Ссылка = ПланПроизводстваПоСменам.Ссылка
ГДЕ
    ПланПроизводстваПоСменам.Номер = &Номер
так?не помогло. лучше, я так думаю , загнать в обработку внешнюю запрос и отладить?!
6 Zmich
 
26.07.16
12:55
(5). "00000000144 " - в конце пробел, естественно, ничего не найдет. И не нужно соединения, в условие запиши.
ВЫБРАТЬ
    ПланПроизводстваПоСменамТовары.Спецификация,
    ПланПроизводстваПоСменамТовары.Ссылка.Номер
ИЗ
    Документ.ПланПроизводстваПоСменам.Товары КАК ПланПроизводстваПоСменамТовары
ГДЕ
    ПланПроизводстваПоСменамТовары.Ссылка.Номер = "00000000144"
7 _stay true_
 
26.07.16
13:10
А ссылку из ТЧ не вытащить? Соединение там не нужно.

ВЫБРАТЬ
    ПланПроизводстваПоСменамТовары.Спецификация,
    ПланПроизводстваПоСменамТовары.Ссылка

    ИЗ

    Документ.ПланПроизводстваПоСменам.Товары КАК ПланПроизводстваПоСменамТовары
ГДЕ

    ПланПроизводстваПоСменам.Номер = &Номер
8 _stay true_
 
26.07.16
13:11
поправка: ГДЕ ПланПроизводстваПоСменам.Ссылка.Номер

И без пробелов
9 Marry04
 
27.07.16
04:23
(7) нет ,ссылка в шапке документа. до сих пор результат  запроса пустой.не понимаю что не так.
10 Marry04
 
27.07.16
04:46
Добавила в обработку. почему-то ничего запрос не находит.

Процедура КнопкаВыполнитьНажатие(Кнопка)
    a=00000000144;
Запрос = Новый Запрос (
"
| ВЫБРАТЬ
|  ПланПроизводстваПоСменамТовары.Спецификация,
|   ПланПроизводстваПоСменам.Номер
| ИЗ
|  Документ.ПланПроизводстваПоСменам.Товары КАК ПланПроизводстваПоСменамТовары
|  ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПланПроизводстваПоСменам КАК ПланПроизводстваПоСменам
|   ПО ПланПроизводстваПоСменамТовары.Ссылка = ПланПроизводстваПоСменам.Ссылка
|  ГДЕ
|  ПланПроизводстваПоСменам.Номер = &Параметр
|"
);
Запрос.УстановитьПараметр("Параметр", a);
Выборка = Запрос.Выполнить();
Сообщить (Выборка);    
    
    
    
КонецПроцедуры
11 DDwe
 
27.07.16
04:53
(10) Возможно "ПланПроизводстваПоСменам.Номер" это строка. А ты передаешь число в параметр.
12 Marry04
 
27.07.16
05:07
13 DDwe
 
27.07.16
05:14
(12) Еще раз - в документе "ПланПроизводстваПоСменам" номер скорее всего строка, у меня нет конфы чтобы проверить. А ты передаешь в параметр число, поэтому запрос ничего не находит.
Передавай строку. Примерно так - a="00000000144";. И посмотри на результат.
14 Marry04
 
27.07.16
05:19
(13) я исправила.передаю строку- бесполезно
15 DDwe
 
27.07.16
05:20
(14) Исправь - "Выборка = Запрос.Выполнить();" на "Выборка = Запрос.Выполнить().Выбрать();"
16 Marry04
 
27.07.16
05:25
(15) {Форма.Форма.Форма(18)}: Поле объекта не обнаружено (Выполнить)
Выборка = Запрос.Выполнить.Выбрать();
17 DDwe
 
27.07.16
05:27
(16) Нужно просто аккуратно списать или скопипастить  не "Выборка = Запрос.Выполнить.Выбрать();", а "Выборка = Запрос.Выполнить().Выбрать();"
18 Marry04
 
27.07.16
05:33
(17) да, я исправила.а пересохранить обработку забыла .
Теперь в табло хранятся значения по номеру и спецификации в виде - Ошибка чтения значения.
19 DDwe
 
27.07.16
05:34
(18) Чего?
20 Marry04
 
27.07.16
05:38
21 DDwe
 
27.07.16
05:39
(18) Причем тут табло, запрос возвращает что-то? Проверь его в консоли с этим параметром.
22 DDwe
 
27.07.16
05:42
И вот это что? - "Запрос = Новый Запрос (""

Вот так пиши -
Запрос = Новый Запрос;
Запрос.Текст = "
23 DDwe
 
27.07.16
05:44
И хорошо хотя бы книжки почитать перед тем как начать делать что-то, чужой код посмотреть как реализовано. Подумать маленько.
24 ЛисИзЛеса
 
27.07.16
05:45
А Выборка.Следующий() что в Табло показывает?
25 Marry04
 
27.07.16
05:47
(21) (22) в консоли ничего не выводится.
а вот про это - Запрос = Новый Запрос;
Запрос.Текст = "возьму себе на вооружение. книги читала и сама пишу вот так - "Запрос = Новый Запрос ("" и как-то нормально.
26 Marry04
 
27.07.16
05:47
(24) я закоментила Выборка.Следующий(). ничего не показывает
27 DDwe
 
27.07.16
05:51
И в (2) сказали правильную мысль. И про соединение тебе говорили.
Сначала добейся, что бы в консоли у тебя запрос выводил результат, а потом его в обработку суй. Так проще.
28 DDwe
 
27.07.16
05:52
(24) У нее запрос ничего не возвращает, что там может показывать.

(26) Ответь - зачем в запросе соединение?
29 Marry04
 
27.07.16
05:55
(28) ни к чему соединение, согласна. если я его уберу - ничего и не изменится. а так соединение табличной части документа и самого документа по полю ссылка
30 DDwe
 
27.07.16
05:56
(29) Зачем?
31 DDwe
 
27.07.16
05:57
(29) Добейся результата в консоли.
32 DDwe
 
27.07.16
05:57
И ты уверена что док с таким номером существует?
33 Marry04
 
27.07.16
06:00
(32) я уже много номеров вбивала документов.
и исправляла без соединения. еще раз попробую конечно..
34 Marry04
 
27.07.16
06:03
(32)  ВЫБРАТЬ
  ПланПроизводстваПоСменам.Товары.Спецификация,
   ПланПроизводстваПоСменам.Номер
ИЗ
  Документ.ПланПроизводстваПоСменам КАК ПланПроизводстваПоСменам
  
  ГДЕ
  ПланПроизводстваПоСменам.Номер = &Параметр
вот такой запрос.реакции ноль в консоли..Параметр задала.
35 DDwe
 
27.07.16
06:05
(34) Попробуй ссылку вместо номера.
36 Marry04
 
27.07.16
06:06
(34) не правильный. не выводит спецификации из тбличной части товары. поэтому и надо соединение!
37 Marry04
 
27.07.16
06:07
(35) не помогает!
38 ВРедная
 
27.07.16
06:11
ВЫБРАТЬ
  ПланПроизводстваПоСменам.Товары.Спецификация,
   ПланПроизводстваПоСменам.Номер
ИЗ
  Документ.ПланПроизводстваПоСменам КАК ПланПроизводстваПоСменам
  
  ГДЕ
  ПланПроизводстваПоСменам = &Документ

И в параметре Документ указать ссылку (!) на нужный док

Что в этом случае будет в консоли?
39 Marry04
 
27.07.16
06:11
ВЫБРАТЬ
  ПланПроизводстваПоСменамТовары.Спецификация,
   ПланПроизводстваПоСменам.Ссылка
  ИЗ
  Документ.ПланПроизводстваПоСменам.Товары КАК ПланПроизводстваПоСменамТовары
  ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПланПроизводстваПоСменам КАК ПланПроизводстваПоСменам
ПО ПланПроизводстваПоСменамТовары.Ссылка = ПланПроизводстваПоСменам.Ссылка

  
  ГДЕ
  ПланПроизводстваПоСменам.Ссылка = &Параметр

Вот на такое исправила. параметр устанавливаю ..я не понимаю почему не хочет выборка формироваться ..все же правильно
40 DDwe
 
27.07.16
06:14
Данные там есть?
41 Marry04
 
27.07.16
06:14
(38)  ВЫБРАТЬ
  ПланПроизводстваПоСменам.Товары.Спецификация,
   ПланПроизводстваПоСменам.Номер
ИЗ
  Документ.ПланПроизводстваПоСменам КАК ПланПроизводстваПоСменам
  
  ГДЕ
  ПланПроизводстваПоСменам.Ссылка = &Документ


Таблица значений пустая, хотя в документе есть спецификации..

https://docs.google.com/drawings/d/1fKuPWgimr_Ww6R9t-ucyfp9vkI9IcAOsynb5WVoHc_s/edit?usp=sharing
42 ВРедная
 
27.07.16
06:18
(41) Потому что при удалении соединения не та таблица осталась.

Нужно было оставить таблицу с табличной частью, а не таблицу со всем документом:

Документ.ПланПроизводстваПоСменам.Товары КАК ПланПроизводстваПоСменамТовары
43 Marry04
 
27.07.16
06:22
(42) ВЫБРАТЬ
  ПланПроизводстваПоСменамТовары.Спецификация
ИЗ
  Документ.ПланПроизводстваПоСменам.Товары    КАК ПланПроизводстваПоСменамТовары
  
  ГДЕ
  ПланПроизводстваПоСменамТовары.Ссылка = &Документ

реакции ноль на этот код
44 PaulBC
 
27.07.16
06:25
ТЧ Товары точно заполнена?
45 DDwe
 
27.07.16
06:27
Ты где то обманываешь, вот этот код великолепно работает:

Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|    ПланПроизводстваПоСменамТовары.Спецификация
|ИЗ
|    Документ.ПланПроизводстваПоСменам.Товары КАК ПланПроизводстваПоСменамТовары
|ГДЕ
|    ПланПроизводстваПоСменамТовары.Ссылка.Номер = &Номер";
Запрос.УстановитьПараметр("Номер",    Номер);

Покажи скрин документа с заполненной ТЧ
46 Marry04
 
27.07.16
06:34
(45) я через коонсоль пробую код, представленный выше мною и ничегг не выходит
47 Marry04
 
27.07.16
06:34
48 ВРедная
 
27.07.16
06:36
(47) результат консоли тоже показывай
49 Marry04
 
27.07.16
06:37
(48) в конфигураторе таблицы совершенно по другому называются.может ссылка не на ту таблицу у меня.
в консоли нечего показывать там просто пустое поле и все
50 PaulBC
 
27.07.16
06:37
(47) ТЧ Товары - это индивидуальные выпуски, а у тебя там пусто.
51 ВРедная
 
27.07.16
06:40
(49) Чтобы точно узнать название таблицы открой форму документа и смотри на какую таблицу документа ссылается таблица на нужной закладке формы
52 Marry04
 
27.07.16
06:40
(50) ИсходныеДанныеДляПланирования.вот походу нужная таблица
53 DDwe
 
27.07.16
06:41
(50) +100500, а ларчик просто открывался, а сколько мозга вынесено.
54 Marry04
 
27.07.16
06:43
(53) (50) да. спасибо всем огромное!на ошибках учусь. извините, кого достала.. просто начинающий я "программист"
55 Marry04
 
27.07.16
06:44
теперь следующий этап меня ждет.еще сложнее...:D
56 Marry04
 
27.07.16
06:47
а как можно удалить пустые строки в выборке?
57 DDwe
 
27.07.16
06:58
(56) Что есть пустые строки в твоем случае? Пример.
58 Marry04
 
27.07.16
07:05
(57) https://docs.google.com/drawings/d/162PC_i7oiMVi7AjzyHzdCy8kCeYBXPysVkZtW9o2gVQ/edit?usp=sharing
вот как тут. пустые строки имеются.
59 DDwe
 
27.07.16
07:20
(58) ТЧ документа покажи
60 Marry04
 
27.07.16
07:26
61 DDwe
 
27.07.16
07:30
(60) Наверное можно добавить в запрос отбор по виду производства, это исключит строки без спецификаций. Иди отбор на то что спецификация заполнена, так даже правильнее будет.
62 Marry04
 
27.07.16
07:31
(61) ГДЕ
   ПланПроизводстваПоСменамИсходныеДанныеДляПланирования.Ссылка = &Номер И   ПланПроизводстваПоСменамИсходныеДанныеДляПланирования.Спецификация <> ПустаяСсылка

Я так попробовала.но это бред..не получилось.
63 Marry04
 
27.07.16
07:37
(61)    ПланПроизводстваПоСменамИсходныеДанныеДляПланирования.Ссылка = &Номер И   ПланПроизводстваПоСменамИсходныеДанныеДляПланирования.ВидВоспроизводства = &Видпроизводства
сделала так.получилось
64 DDwe
 
27.07.16
07:40
(62) ....Спецификация <> Значение(Документ.ПланПроизводстваПоСменам.ПустаяСсылка)
65 DDwe
 
27.07.16
07:40
(64) + Типа того если не ошибаюсь.
66 Marry04
 
27.07.16
07:42
(65) нет.не идет
67 Marry04
 
27.07.16
07:43
оставлю как параметр ввод вид производства
68 DDwe
 
27.07.16
07:46
(66) Конечно, фигня написана. Пардон.
69 DDwe
 
27.07.16
07:49
Значение(Перечисление.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка)
70 DDwe
 
27.07.16
07:51
(66) Ты это, тоже проверяй что тебе пишут и вопрос задавай если непонятно почему.
71 hhhh
 
27.07.16
07:52
(69) думаешь Спецификация это перечисление?
72 DDwe
 
27.07.16
07:54
(71) Да вижу уже, что опять ерунда, отвлекать начали... ))))
73 DDwe
 
27.07.16
07:54
(72) + Ну, думаю теперь исходя из примеров сама справится ))))
74 Asaqura
 
27.07.16
08:14
плохая идея из ТЧ документа собирать данные. но если другого варианта нет..
75 Marry04
 
27.07.16
10:59
а как в обработку параметры загнать?
то есть номер текущего открытого документа и вид производства?
Видпроизводств = ПеречислениеСсылка.ВидыВоспроизводстваНоменклатуры.Производство;
    ?????Номер = ПолучитьФорму(Текущий документ....
в том направлении я?
76 Marry04
 
27.07.16
11:02
Видпроизводств = Перечисления.ВидыВоспроизводстваНоменклатуры.Производство;
77 DDwe
 
27.07.16
11:06
(75) Номер относится к документу а не к форме. Следовательно есть доступ через ссылку.
78 Marry04
 
27.07.16
11:11
(77) а как получить номер текущего открытого документа?
79 DDwe
 
27.07.16
11:11
(78) Через ссылку.
80 hhhh
 
27.07.16
11:12
(78) Номер
81 Marry04
 
27.07.16
12:07
(80) (80) Номер = Документы.ПланПроизводстваПоСменам.ПолучитьСсылку();??объект не найден