Имя: Пароль:
1C
1С v8
Запрос не выполняется
0 dubolom
 
17.11.21
10:14
У меня не выполняется следующий код:

Массив = Новый Массив;
Для Каждого а Из СписокДокументов Цикл
   Запрос = Новый Запрос;
   Запрос.Текст = "
   |ВЫБРАТЬ
   |   Документ.Товары.Номенклатура,
   |   Документ.Товары.Цена
   |ИЗ Документ КАК Документ";
   Код = Номенклатура.ГруппаНоменклатуры.Код;
   Для Каждого б Из Массив Цикл
      Если Массив[б]<>Код Тогда
      Массив[б].Добавить(Код);
      Продолжить;
   КонецЦикла;
   Если Массив.Количество()>0 Тогда
      Сообшить(Массив.Итог("Код"));
   КонецЕсли;
КонецЦикла

Где может быть ошибка?
1 Жан Пердежон
 
17.11.21
10:15
что за документ то?
2 Жан Пердежон
 
17.11.21
10:15
в текст ошибки хоть смотри иногда
3 Малыш Джон
 
17.11.21
10:16
(1) То есть тебя только это смутило?)))
4 Жан Пердежон
 
17.11.21
10:17
(3) да, но потом код глянул - рано ему еще запросы писать
5 Галахад
 
гуру
17.11.21
10:18
Да тут все прекрасно, не только запрос.
6 aka MIK
 
17.11.21
10:18
Жесть какая-то )
7 Малыш Джон
 
17.11.21
10:18
(0) там в каждой строке можно ошибку найти

Ты не знаешь как вытащить перечень номенклатуры из списка документов?
8 Dmitrii
 
гуру
17.11.21
10:22
(0) >> Запрос не выполняется.

А почему он должен выполняться?
Я не вижу строки Запрос.Выполнить().

>> не выполняется следующий код.

Как ты понял, что код не выполняется?
Не вижу ничего, что могло бы помешать ему выполниться. Другой вопрос, что это код ничего не сделает - ни запрос, ни Сообщить, вообще ничего. Но он должен выполняться.
9 acht
 
17.11.21
10:23
(8) > Не вижу ничего
КонецЦикла
10 Dmitrii
 
гуру
17.11.21
10:24
И вообще. Каков смысл болезненного бреда из (0)?
11 Kassern
 
17.11.21
10:24
(0) раз так не получается запросы писать, попробуйте через конструктор (он вам точно не напишет "|ИЗ Документ КАК Документ"). Далее выберите таблицу с товарами нужного документа и из нее выберите поля, которые вам нужны. Далее на вкладке отбора укажите, что ВашаТаблица.Ссылка В (&МассивДокументов). Установите в параметрах отчета данный массив, либо передайте список значений с документами. Потом не забудьте получить Выборку, либо таблицу из результата запроса, чтобы его обработать в дальнейшем
12 Йохохо
 
17.11.21
10:24
Код = Номенклатура.ГруппаНоменклатуры.Код; - это лямбда?
13 Dmitrii
 
гуру
17.11.21
10:24
(9) Что "КонецЦикла"? Не понял.
14 acht
 
17.11.21
10:25
(13) "Не вижу, не понял..."
Оно синтаксический контроль даже не пройдет.
15 acht
 
17.11.21
10:26
На 14 строке фрагмента
16 Dmitrii
 
гуру
17.11.21
10:27
(14) Тебе трудно пояснить? Может я чего-то не вижу. Тебе жалко ткнуть носом?
17 ChMikle
 
17.11.21
10:27
Для Каждого б Из Массив Цикл
      Если Массив[б]<>Код Тогда
      Массив[б].Добавить(Код);
      Продолжить;
   КонецЦикла;

конецесли - не мешало бы поставить
18 Dmitrii
 
гуру
17.11.21
10:29
(9)(14)(15) Ааааааа. Действительно не увидел.
Ну так написал бы "КонецЕсли". А то я уже по десятому разу все цикла перепроверил, что они корректно написаны.
19 eklmn
 
гуру
17.11.21
10:29
его укусила ГБ из СССР
2S уже ищет новое место наверно)
20 shuhard
 
17.11.21
10:30
(10) кроме тролинга ТС смысла нет,
код написан в блокнотике чисто поржать
21 Малыш Джон
 
17.11.21
10:30
(20) так мы и ржем
22 УдавВПопугаях
 
17.11.21
10:33
(17) в логику перебора лучше даже не смотреть...
массив[б].добавить() мля аааааааааахахахахаха лол
23 Kassern
 
17.11.21
10:35
(22) (21) человек может может только начал изучать 1ску, а вы стебетесь над ним. Лучше бы литературу посоветовали в тему. Вспомните как вы стартовали в программировании и как у вас все сразу с первого раза получалось...
24 assasu
 
17.11.21
10:35
(0) за такой "код" надо херачить палкой. лучше по яйцам сразу
25 Kassern
 
17.11.21
10:36
(24) вас подобным методом обучали программированию?)
26 Малыш Джон
 
17.11.21
10:37
27 assasu
 
17.11.21
10:38
(25) а то. зато потом 7 раз подумаешь прежде чем написать. но я быстро все схватываю -  одно мое осталось и всегда при мне
28 Kassern
 
17.11.21
10:38
(27) жестоко)
29 УдавВПопугаях
 
17.11.21
10:42
троль он, а не учится)
30 УдавВПопугаях
 
17.11.21
10:43
а не ученик
31 bolder
 
17.11.21
10:44
(24) Так это же троль...А поржать в середине недели?
32 Dmitrii
 
гуру
17.11.21
10:46
(23) Причем тут 1С? В (0) код выполняет манипуляции стандартные для любого языка программирования. Работа с массивами, использование циклов и операторов условия. Оно делается почти одинакового на любом языке.

В (0) какой-то либо слишком тупой троллинг, либо настолько тонкий, что мне этого не понять.
33 assasu
 
17.11.21
10:47
(31) все тут понятно. он троллит , а мы его "дубасим" за это) вот смешно
34 УдавВПопугаях
 
17.11.21
10:51
(33) с вашим так же было?))
35 УдавВПопугаях
 
17.11.21
10:51
* с вами
36 assasu
 
17.11.21
10:52
(35) отвечал уже (27)
37 УдавВПопугаях
 
17.11.21
10:55
тоже троллили.. поняяятно
38 dubolom
 
17.11.21
11:09
Этот запрос должен выводить документы с наибольшим кодом чтобы показывать последнюю номенклатуру на остатках.
39 palpetrovich
 
17.11.21
11:10
(38) это правда весь код?  ...или сильно упрощенный?
40 УдавВПопугаях
 
17.11.21
11:16
(38) а почему этот? к задаче он имеет такое же отношение, как и любой другой, даже не в твоей базе
41 УдавВПопугаях
 
17.11.21
11:18
и сама задача конечно бенч!
42 1Сергей
 
17.11.21
11:19
Давно я так не ржал, прастити
43 ptiz
 
17.11.21
11:23
Зато никнейм честный.
44 dubolom
 
17.11.21
11:29
Этот код должен выбирать нужные документы. Просто почему-то не выбирает.
45 dubolom
 
17.11.21
11:33
Вообще я прекрасно пишу запросы на многих языках, не надо тут.
46 DEVIce
 
17.11.21
11:36
Среда - малая пятница? :))
(45) Выдыхай бобер. Ты ж наркоман! :))
47 acht
 
17.11.21
11:37
(45) > я прекрасно пишу запросы на многих языках
Кроме русского?
48 ptiz
 
17.11.21
11:41
(44) Объясни свою логику даже без учета запроса: ты создаешь пустой массив и его перебираешь. Чего этим добиться хочешь?
49 dubolom
 
17.11.21
11:44
В этом массиве будут нужные документы, точнее ссылки на них - коды.
Потом суммируем ссылки и получаем нужную структуру, откуда уже легко вытащить последние товары по складам.
50 dubolom
 
17.11.21
11:51
Хороший же код почему не работает
51 acht
 
17.11.21
11:51
(49) > суммируем ссылки
Браво.
52 acht
 
17.11.21
11:52
(50) На английский перепиши
53 pasha_d
 
17.11.21
12:09
"ИЗ Документ КАК Документ" - это как?
54 УдавВПопугаях
 
17.11.21
12:18
(53) хороший код (с)
55 acht
 
17.11.21
12:25
(53) КОГДА ПРОВЕДЕН ТОГДА ПРОВЕДЕН КОГДА НЕ ПРОВЕДЕН ТОГДА НЕ ПРОВЕДЕН ИНАЧЕ ЛОЖЬ КОНЕЦ

Могуч таки русский язык.
56 УдавВПопугаях
 
17.11.21
12:37
(55) ну так то косят будет, когда не проведен вернет проведен
57 acht
 
17.11.21
12:39
(56) Так и задумывалось
58 hhhh
 
17.11.21
13:04
(50) вообще-то так надо

|ВЫБРАТЬ
   |   ДокументТовары.Номенклатура,
   |   ДокументТовары.Цена
   |ИЗ Документ.Товары КАК ДокументТовары";
59 Kassern
 
17.11.21
13:19
(58) Классный документ "Товары")
Скорее всего у ТС, |    Документ.Документ.Товары КАК ДокументТовары";
60 hhhh
 
17.11.21
13:22
(59) ну да, точно
61 УдавВПопугаях
 
17.11.21
13:22
(57) норм отмазка))
62 CaIIIka
 
17.11.21
13:25
(0) Спасибо))