Имя: Пароль:
1C
1С v8
Поиск документов по реквизитам
,
0 kotokent
 
28.01.14
07:37
В конфигурации 1С Управлений торговлей редакции 10.3 создать новую общую форму и разместить на ней реквизиты "Ответственный" и "Комментарий" по кнопке записать система ищет все документы с типом "реализация товаров и услуг" и если в документе значение реквизита "ответственный" или "комментарий" сообщать номер документа.
Я подумал что будет что то типо этого:
Процедура Записать(Команда)
    Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту(Ответственный, "*");
    Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту(Комментарий, "*");
    Сообщить(НомерДокумента);

КонецПроцедуры

Но что то никак. Помогите разобраться!!!
а и еще сделал форму: http://s020.radikal.ru/i721/1401/67/df00a0409849.png
1 Wobland
 
28.01.14
07:43
советую переформулировать задачу на русском языке. что будет при Документы.РеализацияТоваровУслуг.Выбрать()?
2 jsmith82
 
28.01.14
07:45
ужас
3 ZaprosMan
 
28.01.14
07:47
Нужно проверить уникальность? Найти документы с указанным ответственным или комментарием и сообщить их номера?
4 Wobland
 
28.01.14
07:48
а форма ещё и управляемая..
5 kotokent
 
28.01.14
07:48
(1) выбрать все документы РаелизацияТоваровУслуг
6 kotokent
 
28.01.14
07:49
(3) да, или с 1-ым ответственным или с комментарием
7 kotokent
 
28.01.14
07:49
(4) конечно
8 Wobland
 
28.01.14
07:51
(7) а конфигурация работает в обычном, я уверен
9 kotokent
 
28.01.14
07:53
(8) да, я вчера разбирался как общую форму открыть... в итоге вставил кнопку на панель уструментов
10 Wobland
 
28.01.14
07:56
>Найти документы с указанным ответственным или комментарием и сообщить их номера
выбрать док.номер из документ.реализация как док где док.ответственный=&ответственный или выразить(док.комментарий как строка (1024))=&комментарий

полегчало?
11 ZaprosMan
 
28.01.14
07:59
Делай запрос на сервере, возвращай текст с найденными значениями и сообщай на клиенте.
12 kotokent
 
28.01.14
08:00
(10)



РеквизитОтветственный = Элементы.Ответственный;
    ТекДокумент = Документы.РеализацияТоваровУслуг;
    РезультатПоискаПоРеквизиту = ТекДокумент.НайтиПоРеквизиту("Ответственный",РеквизитОтветственный);
    Если РезультатПоискаПоРеквизиту = ТекДокумент.ПустаяСсылка() Тогда
        Сообщить(РезультатПоискаПоРеквизиту.Наименование);
    Иначе
        Сообщить("Не найден");
    КонецЕсли;



вот так попробовал но он пишет ошибку:
{ОбщаяФорма.РеализацияТоваровИУслуг.Форма(4)}: Поле объекта не обнаружено (Ответственный)
    РеквизитОтветственный = Элементы.Ответственный;
13 kotokent
 
28.01.14
08:01
(11) у меня база не серверная
14 Wobland
 
28.01.14
08:03
Элементы.Ответственный - это поле ввода такое (которого ещё и нет), а не то, что в нём понаписано
15 kotokent
 
28.01.14
08:05
(14) блин, я понял это, как его написать то, если на форме простое поле ввода стоит
16 Wobland
 
28.01.14
08:07
сделай уже обычную форму. при добавлении едит-бокса создастся реквизит формы. после этого можно будет его читать прямо по имени
17 kotokent
 
28.01.14
08:08
(16) ну а тут как будто сложно его считать с поля
18 George Wheels
 
28.01.14
08:09
(17) Реквизит и элемент это разные понятия в УФ.

И зачем тебе управляемая форма в обычном приложении.
19 Wobland
 
28.01.14
08:10
не надо его читать с поля, надо обратиться к реквизиту
20 kotokent
 
28.01.14
08:11
(16) он мне ошибку выдает что поле объекта не обнаружено
http://s020.radikal.ru/i706/1401/43/9bdf39a250fd.png
21 Wobland
 
28.01.14
08:12
22 kotokent
 
28.01.14
08:13
(21) да я уже по разному пробовал
23 Wobland
 
28.01.14
08:13
(22) по-хорошему не хочешь?
24 kotokent
 
28.01.14
08:16
(23)Хочу
уже и так написал
РеквизитОтветственный = Элементы.ПолеОтветственный
25 George Wheels
 
28.01.14
08:20
(24) А какой тип у Элементы.ПолеОтветственный?
26 kotokent
 
28.01.14
08:21
(25) отладчик говорит что "Поле формы"
27 George Wheels
 
28.01.14
08:24
(26) У поля формы есть свойства. Например "ПутьКДанным".
28 George Wheels
 
28.01.14
08:26
(26) И всё-таки повторюсь. Брось этот геморрой с УФ в обычном приложении. В данном случае нет никакой необходимости их использовать.
29 kotokent
 
28.01.14
08:27
30 Wobland
 
28.01.14
08:27
мы тут до вечер будем новую форму создавать в текстовом режиме
31 kotokent
 
28.01.14
08:28
(28) я с обычной не умею
32 Wobland
 
28.01.14
08:29
(31) а с управляемой в полный рост?
33 kotokent
 
28.01.14
08:30
(32) ну более менее
34 George Wheels
 
28.01.14
08:32
(29) Не надо брать из элемента ПутьКДанным из элемента. Просто посмотри, что там находится и потом обращайся не к элементу а к тому реквизиту, который там прописан.

И не забывай про &НаСервере, &НаКлиенте.
35 kotokent
 
28.01.14
08:35
(34) Это как?
36 Wobland
 
28.01.14
08:36
а нет ли какого реквизита формы про ответственного?
37 George Wheels
 
28.01.14
08:37
(35) В поле ПутьКДанным должен быть указан реквизит формы. Вот с ним и играйся.
38 kotokent
 
28.01.14
08:37
я уже создал обычную форму
39 George Wheels
 
28.01.14
08:38
(38) Вот теперь будет всё намного проще.
40 Wobland
 
28.01.14
08:40
(38) 46 минут. неплохой результат
41 kotokent
 
28.01.14
08:41
(40) ну а теперь то как обращаться к этому полю и почему намного проще будет
42 Wobland
 
28.01.14
08:46
(41) может, лучше к реквизиту?
43 Мимохожий Однако
 
28.01.14
08:47
Осталось убедить использовать запрос.
44 Wobland
 
28.01.14
08:47
(43) даже уже текст есть ;)
45 kotokent
 
28.01.14
08:54
(44) блин, как к полю обратьться?
46 Wobland
 
28.01.14
08:55
(45) -> (42)
47 kotokent
 
28.01.14
08:57
(46) да, верно, к реквизиту
48 kotokent
 
28.01.14
08:57
(46) как?
49 Wobland
 
28.01.14
08:58
(48) УважаемыйРеквизит
50 Wobland
 
28.01.14
08:59
я тебе уже все буквы назвал, тебе осталось прочитать
51 MSII
 
28.01.14
08:59
(48) У тебя реквизит чего? Формы? В модуле формы можешь обратиться к нему по просто по имени, он не обидится.
52 kotokent
 
28.01.14
08:59
(51) Ответственный?
53 MSII
 
28.01.14
09:00
(52) Если терзают сомнения, я бы заглянул в конфигуратор и посмотрел, как называется реквизит.
54 kotokent
 
28.01.14
09:00
он мне сейчас страшную ошибку выдал "ожидается выражение (pos=47)"
55 kotokent
 
28.01.14
09:02
(51) обработчик увидел что я написал, крутяк... теперь надо новера чтобы сообщил!??!
56 Wobland
 
28.01.14
09:03
(55) как насчёт запроса?
57 kotokent
 
28.01.14
09:05
(56) а без него ни как?


РеквизитОтветственный = Ответственный;
    ТекДокумент = Документы.РеализацияТоваровУслуг;
    РезультатПоискаПоРеквизиту = ТекДокумент.НайтиПоРеквизиту("Ответственный",РеквизитОтветственный);
    Если РезультатПоискаПоРеквизиту = ТекДокумент.ПустаяСсылка() Тогда
        Сообщить(Документы.РеализацияТоваровУслуг.НайтиПоНомеру());
    Иначе
        Сообщить("Не найден");
    КонецЕсли;
    
КонецПроцедуры
58 kotokent
 
28.01.14
09:05
(56) после первого "если", нельзя сообщить просто номер документа в котором тот или иной ответственный?
59 Wobland
 
28.01.14
09:06
(57) как. но получится некрасиво. что это за буквы?
60 kotokent
 
28.01.14
09:08
(59) где
61 Любопытная
 
28.01.14
09:08
Сообщить(Документы.РеализацияТоваровУслуг.НайтиПоНомеру()) - что это?
62 Wobland
 
28.01.14
09:09
> Найти документы с указанным ответственным или комментарием и сообщить их номера
попытка поиска засчитана (комментарий не рассматриваем), попытка сообщить - нет
63 MSII
 
28.01.14
09:11
(61) В этой строке так и сквозит отчаяние и жалобная просьба к платформе сделать хоть что-нибудь.
64 Wobland
 
28.01.14
09:11
(63) а она ему: хлобысь по рукам, первый параметр не указан
65 Любопытная
 
28.01.14
09:11
(62) НайтиПоРеквизиту найдет 1 документ, а не документы.
66 kotokent
 
28.01.14
09:11
(61) это я накидал, думал пройдет
(62) мне кажется что процедура не работает как надо, он мне постоянно по одному если ходит, если даже нет такого ответственного
67 Wobland
 
28.01.14
09:12
(65) поэтому засчитана только жалкая попытка
68 Wobland
 
28.01.14
09:13
(66) нажми ктрл+ф1, изучи НайтиПоРеквизиту(), сделай выводы
69 Любопытная
 
28.01.14
09:13
(66) попробуй использовать метод Выбрать()
70 Любопытная
 
28.01.14
09:13
Если реквизит Ответственный индексируется конечно
71 George Wheels
 
28.01.14
09:13
Запрос, запрос и ещё раз запрос. Как говорил великий Ленин.
72 Wobland
 
28.01.14
09:14
(69) НЕЕТ!! там отбор, а это структура
73 Любопытная
 
28.01.14
09:15
(72) и что? (71) Ленин такого не говорил. И даже про "учиться..." сказал не Ленин, а вовсе Белинский
74 kotokent
 
28.01.14
09:15
запутался я
75 George Wheels
 
28.01.14
09:15
(73) Я плохо учил заветы Ильича:)
76 Wobland
 
28.01.14
09:15
(73) так мы снова до (200) дотянем
77 George Wheels
 
28.01.14
09:16
Деньги ещё никто не просил?
78 kotokent
 
28.01.14
09:17
РезультатПоискаПоРеквизиту = ТекДокумент.НайтиПоРеквизиту("Ответственный",РеквизитОтветственный);



здесь ошибка
79 Wobland
 
28.01.14
09:17
(74) а неплохо было бы сказать платформе: выбери мне номера документов, у которых ответственный вот этот, а я потом переберу результат и сообщу это всё юзеру?
80 Wobland
 
28.01.14
09:17
(78) как работает НайтиПоРеквизиту?
81 Любопытная
 
28.01.14
09:17
(76) да брось, там все просто и в СП написано. Это будет первый шаг к запросам.
Хотя запросы, имхо, проще. Там конструктор есть, вообще все мышкой можно сделать))
82 kotokent
 
28.01.14
09:18
(80) он только 1 док найдет
83 Любопытная
 
28.01.14
09:18
(78)какая?
84 kotokent
 
28.01.14
09:19
(83)он не ищет вообще документы
85 Любопытная
 
28.01.14
09:19
(84) ТекДокумент - а это что?
86 Wobland
 
28.01.14
09:20
(84) ищет. только не находит, ибо у тебя реквизит строка, а в документе - не строка
87 kotokent
 
28.01.14
09:20
(79) не плохо, но через какую функцию
88 Любопытная
 
28.01.14
09:21
А, я сначала не читала. Ссылку со строкой попутали, да?
89 George Wheels
 
28.01.14
09:21
(84) Какого типа реквизит "Ответственный" в документе? И какого типа "РеквизитОтветственный"?
90 kotokent
 
28.01.14
09:21
(85)
91 kotokent
 
28.01.14
09:21
(85)

Процедура ЗаписатьНажатие(Элемент)
    РеквизитОтветственный = Ответственный;
    ТекДокумент = Документы.РеализацияТоваровУслуг;
    РезультатПоискаПоРеквизиту = ТекДокумент.НайтиПоРеквизиту("Ответственный",РеквизитОтветственный);
    
    Если РезультатПоискаПоРеквизиту = ТекДокумент.ПустаяСсылка() Тогда
        Сообщить("ваыываыв");
    Иначе
        Сообщить("Не найден");
    КонецЕсли;
    
    //Документы.РеализацияТоваровУслуг.Выбрать("","", Элементы.Ответственный);
    //Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту("Комментарий",);
    //Сообщить(Документы.РеализацияТоваровУслуг.Выбрать("Номер"));
КонецПроцедуры
92 Любопытная
 
28.01.14
09:21
(87) Запрос, дружище.
93 kotokent
 
28.01.14
09:21
(89) строки
94 Wobland
 
28.01.14
09:22
+(92) текст просьбы в (10)
95 kotokent
 
28.01.14
09:22
(92) это весь код менять придется
96 Любопытная
 
28.01.14
09:22
РеквизитОтветственный = Ответственный; - это что за... чудеса?
В документе РТиУ Ответственный - СправочникСсылка.Пользователи. А у тебя Ответственный - строка.
Думай
97 Wobland
 
28.01.14
09:23
(95) вот такая у нас адова работа - коды править
98 George Wheels
 
28.01.14
09:23
(95) А его и так менять надо.
99 kotokent
 
28.01.14
09:24
(96) т.е. он у меня просто пользователя смотрит... а я спрашивал как считать поле с формы
100 kotokent
 
28.01.14
09:24
Обед
101 Любопытная
 
28.01.14
09:24
(93) Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
    Накладная.Ссылка
ИЗ
    Документ.РеализацияТоваровУслуг КАК Накладная
ГДЕ
    РеализацияТоваровУслуг .Ответственный.Наименование = &Наименование"
102 Любопытная
 
28.01.14
09:25
(99) эту фразу я не поняла :)
103 Wobland
 
28.01.14
09:25
(101) Марин, не надо тут со строками
104 Любопытная
 
28.01.14
09:27
(103) ну так вы же говорите, что у него строки везде. Если не строки, тогда конечно лучшее
105 Wobland
 
28.01.14
09:27
я тут видел прекрасное (в смысле через две точки):
"выбрать разрешённые ... где Владелец.Владелец=&ЧемуТоТам"
прав на второго владельца нету - возникает ошибка исполнения, несмотря на разрешённые
106 George Wheels
 
28.01.14
09:28
Для начала на форме реквизиту "Ответственный" назначь тип "СправочникСсылка.Пользователи".
107 Wobland
 
28.01.14
09:29
по-моему, нас предали ;) (100)
108 Kri26S
 
28.01.14
09:30
(0) http://rusfolder.com/39637513, Вот смотри как, только я во внешней обработке сделал, может поможет.
109 an-korot
 
28.01.14
09:31
вот вы человеку мозг парите о.О
110 George Wheels
 
28.01.14
09:31
(107) Я тоже пошёл пить кофе.
111 catena
 
28.01.14
10:39
Студент-информатик не знающий разницы между типами переменных? нюню.
112 Wobland
 
28.01.14
10:41
(111) подозреваешь ТС в наличии бороды и пивного живота?
113 kotokent
 
28.01.14
11:00
(112) борода периодически, а живот есть :)... небольшой
114 kotokent
 
28.01.14
11:03
Через конструктор запроса, фиганул запрос


Макет = ПолучитьОбщийМакет("Результат");
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Номер,
        |    РеализацияТоваровУслуг.Комментарий,
        |    РеализацияТоваровУслуг.Ответственный.Наименование
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг";

    Результат = Запрос.Выполнить();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;

    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
115 kotokent
 
28.01.14
11:04
теперь ему переменная не нравится "ТабДок"
116 Wobland
 
28.01.14
11:04
поздравлять?
117 Wobland
 
28.01.14
11:04
(115) а что это?
118 kotokent
 
28.01.14
11:05
(116) если ее объявить просто как

Перем ТабДок;

Он в результате ничего не выдаст
119 kotokent
 
28.01.14
11:06
(116) я конструктор вызвал с результирующит пабличным документом
120 kotokent
 
28.01.14
11:07
(117)

ТабДок = Новый ТабличныйДокумент;

перед запросом поставил
121 Wobland
 
28.01.14
11:07
(120) ну теперь-то поздравлять?
122 Любопытная
 
28.01.14
11:09
Оспади.... Ну как маленький, ей богу.
Товарищ ТС, может ну ее нафиг, эту 1С?
123 kotokent
 
28.01.14
11:09
(121) погоди, я закомментировал то что мы писали ранее
он при нажатии мне ничего не выдает
124 kotokent
 
28.01.14
11:09
(122) неее... мне работа нужна
125 kotokent
 
28.01.14
11:11
(122) почему то он в цикле "Пока"(Последний) останавливается
126 kotokent
 
28.01.14
11:16
что за...?
127 Wobland
 
28.01.14
11:17
(126) отличная загадка. руки? прокладка?
128 Любопытная
 
28.01.14
11:18
"Пока"(Последний) что это значит?
129 Любопытная
 
28.01.14
11:18
Ну откуда вы такие беретесь, а?
130 catena
 
28.01.14
11:19
(112)По стилю на калькуляторщика смахивает, только без акцента, не?
131 Wobland
 
28.01.14
11:20
(130) ТС - омич. а калькуляторщик сильно западнее живёт
132 kotokent
 
28.01.14
11:22
(131) он по коду должен выводить табличный документ, может что то еще надо дописать?
133 kotokent
 
28.01.14
11:23
Процедура ЗаписатьНажатие(Элемент)
    ТабДок = Новый ТабличныйДокумент;
    
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    Макет = ПолучитьОбщийМакет("Результат");
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Номер,
        |    РеализацияТоваровУслуг.Комментарий,
        |    РеализацияТоваровУслуг.Ответственный.Наименование
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг";

    Результат = Запрос.Выполнить();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
        
    КонецЦикла;
    
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

    //РеквизитОтветственный = Ответственный;
    //ТекДокумент = Документы.РеализацияТоваровУслуг;
    //РезультатПоискаПоРеквизиту = ТекДокумент.НайтиПоРеквизиту("Ответственный",РеквизитОтветственный);
    //Если РезультатПоискаПоРеквизиту = ТекДокумент.ПустаяСсылка() Тогда
    //    Сообщить("ваыываыв");
    //Иначе
    //    Сообщить("Не найден");
    //КонецЕсли;
    
    //Документы.РеализацияТоваровУслуг.Выбрать("","", Элементы.Ответственный);
    //Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту("Комментарий",);
    //Сообщить(Документы.РеализацияТоваровУслуг.Выбрать("Номер"));
КонецПроцедуры
134 Любопытная
 
28.01.14
11:24
(132) У тебя задача какая?
135 Wobland
 
28.01.14
11:25
(133) показать бы ещё
136 Wobland
 
28.01.14
11:25
" по кнопке записать система ищет"
неожиданно ;)
137 kotokent
 
28.01.14
11:25
(134) вот я и говорю, в конце же есть команда вывести
138 kotokent
 
28.01.14
11:26
(136) да это не важно
139 Любопытная
 
28.01.14
11:26
(137) задача, *****, у тебя изначально какая стоит??
140 kotokent
 
28.01.14
11:27
(139) по реквизитам вывести номера документов
141 Wobland
 
28.01.14
11:27
(139) есть мнение, что "Найти документы с указанным ответственным или комментарием и сообщить их номера", но ТС не сознаётся
142 George Wheels
 
28.01.14
11:27
(137) ТабДок.Показать()
(138) Учись сразу писать понятно. Потом сам в своём коде не разберёшься.
143 kotokent
 
28.01.14
11:30
(142) он показал его
144 Любопытная
 
28.01.14
11:30
(141) На форму вешаешь поле выбора с типом данных СправоникСсылка.Пользователи. И кнопку СообщитьНомераДокументов

В модуле формы пишешь процедуру в которой ЗАПРОСОМ выбираешь все реализации, в которых выбранный в поле выбора пользователь является ответственным. Получаешь выборку по результату запроса, циклом обходишь выборку и в цикле делаешь Сообщить(Ссылка.Номер)
145 kotokent
 
28.01.14
11:31
(144) воу
146 Kri26S
 
28.01.14
11:32
(133)  http://rusfolder.com/39637513  посмотри...
147 Wobland
 
28.01.14
11:35
(144) запросом выбираешь все номера
148 Любопытная
 
28.01.14
11:36
(147) весьма вероятно, что ему понадобятся не только номера
149 George Wheels
 
28.01.14
11:37
Вообще в качестве обучения писать что нибудь пример подходит. Но когда закончишь заниматься этой ерундой, обрати внимание на то, что в форме списка можно установить отбор.
150 kotokent
 
28.01.14
11:38
(148) Стоп, 1) как тип данных установить

2) С комментарием тоже надо что то делать
151 kotokent
 
28.01.14
11:38
(148) в свойствах не нашел
152 Wobland
 
28.01.14
11:39
ещё разок. задача, *****, у тебя изначально какая стоит??
153 Любопытная
 
28.01.14
11:40
(150) комментарий тоже можно поискать запросом, но там несколько сложнее, начни с ответственного. Тип данных указывается в свойствах поля ввода. Чтобы было легче, воспользуйся помощником создания элементов формы (кнопка с волшебной палочкой и звездочками на панели)
154 kotokent
 
28.01.14
11:40
(152) по комментарию и/или ответственному выводить номера документов реализация товаров и услуг
155 Wobland
 
28.01.14
11:41
(154) что пишет Kri26S?
156 Kri26S
 
28.01.14
11:43
(155) Я предлагаю ему рабочий вариант его задачи, чтобы он уже наконец успокоился.
157 kotokent
 
28.01.14
11:43
(156) надо самому
158 kotokent
 
28.01.14
11:44
(153) я сделал с привязкой к пользователям поле
159 Любопытная
 
28.01.14
11:45
(158)ну так если все сделал, то что не получилось-то?
160 kotokent
 
28.01.14
11:45
(153) В модуле формы пишешь процедуру в которой ЗАПРОСОМ выбираешь все реализации, в которых выбранный в поле выбора пользователь является ответственным. Получаешь выборку по результату запроса, циклом обходишь выборку и в цикле делаешь Сообщить(Ссылка.Номер)


Это сложнее сделать будет :)
161 Kri26S
 
28.01.14
11:46
(157) Если надо самому, то зачем над людьми издеваться?
162 Любопытная
 
28.01.14
11:46
(160)тебе ее уже написали. И даже не раз
163 Wobland
 
28.01.14
11:47
(160) что-то про вывод результата запроса у тебя есть, сам запрос тоже. что планируешь делать?
164 kotokent
 
28.01.14
11:48
(162) (163) Запрос новый попробовать сделать, и там где нибудь указать что полевыбора надо учитывать
165 kotokent
 
28.01.14
11:48
но как еще незнаю
166 Wobland
 
28.01.14
11:49
(164) как работает УстановитьПараметр()?
167 kotokent
 
28.01.14
11:51
(166)  -
168 kotokent
 
28.01.14
11:52
(166) ща
169 Umga2002
 
28.01.14
11:53
Не позорь профессию... Брось Каку НЕ ТВОЕ!
170 kotokent
 
28.01.14
11:53
(169) успокойся... это единственой что я понимаю в програмировании
171 kotokent
 
28.01.14
11:54
так, теперь надо понять какой переменной в запросе необходимо установить параметр
172 Wobland
 
28.01.14
11:56
можно даже отлистать ветку на (10)
173 kotokent
 
28.01.14
11:58
(172) а если я  где :

"ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Номер,
        |    РеализацияТоваровУслуг.Комментарий,
        |    РеализацияТоваровУслуг.Ответственный
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг";

напишу что РеализацияТоваровУслуг.Ответственный = полевыбора


нормально?
174 catena
 
28.01.14
11:59
(173)Чисто из интереса: а ты документацию принципиально не читаешь?
175 George Wheels
 
28.01.14
12:00
(173) Прочитай что нибудь про параметры запроса.
176 Kri26S
 
28.01.14
12:01
(173) Это будет просто отлично.
177 kotokent
 
28.01.14
12:01
(174) ну подскажи
178 Kri26S
 
28.01.14
12:02
&НаСервере
Процедура СформироватьНаСервере(Ответственный,Комментарий)
    Запрос = Новый Запрос;
    Запрос.Текст =  "ВЫБРАТЬ
                   |    РеализацияТоваровУслуг.Номер КАК Номер
                   |ИЗ
                   |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                   |ГДЕ
                   |    РеализацияТоваровУслуг.Ответственный = &Ответственный
                   |    ИЛИ (ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1024))) = &Комментарий";
    
    Запрос.УстановитьПараметр("Ответственный",Ответственный);
    Запрос.УстановитьПараметр("Комментарий",Комментарий);

                
    Выборка= Запрос.Выполнить().Выбрать();
    ТабДок=Объект.ТабДок;
    ТабДок.Очистить();
    ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
    мМакет = ОбработкаОбъект.ПолучитьМакет("Макет");    
    Область= мМакет.ПолучитьОБласть("ОбластьВывода");
    Шапка = мМакет.ПолучитьОбласть("Шапка");
    мЗаголовок= мМакет.ПолучитьОбласть("Заголовок");
    ТабДок.Вывести(Шапка);
    ТабДок.Вывести(мЗаголовок);

    i=1;
    Пока Выборка.Следующий() Цикл
         Область.Параметры.пН=i;
         Область.Параметры.Номер = Выборка.Номер;
         ТабДок.Вывести(Область);
         i=i+1;
    КонецЦикла;    
КонецПроцедуры
179 catena
 
28.01.14
12:03
(177)Ну хотя бы F1 и ctrl+F1.
180 Wobland
 
28.01.14
12:04
(178) ты решил пойти другим путём? ;))
181 Любопытная
 
28.01.14
12:06
(178) у него УТ 10.3 какие РеквизитФормыВЗначение?
182 Kri26S
 
28.01.14
12:08
(180) Как пример, я просто быстро набрасал.
183 Kri26S
 
28.01.14
12:09
(181)Так я не говорил, чтобы он код от туда взял и на прямую вставил к себе, еще раз как пример.
184 kotokent
 
28.01.14
12:10
(182) получается мне надо добавить ГДЕ
185 Любопытная
 
28.01.14
12:11
(183) он так не умеет)
186 Любопытная
 
28.01.14
12:11
(184) конструктором запросов пользоваться умеешь? посмотри там закладку Условия
187 kotokent
 
28.01.14
12:12
(185) (183)

|    ИЛИ (ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1024))) = &Комментарий";


вот это не пойму что...1024 - это?
188 Wobland
 
28.01.14
12:13
(187) длина строки. тебе не дадут сравнивать строки неограниченной длины
189 Kri26S
 
28.01.14
12:19
(187) Вставь Запрос в модуль формы нажми правой кнопкой, выбери Конструктор запроса и перейди на закладку условия
190 kotokent
 
28.01.14
12:20
{ОбщаяФорма.Форма.Форма(22)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить();
по причине:
{(9, 44)}: Не задано значение параметра "Ответственный"
РеализацияТоваровУслуг.Ответственный = <<?>>&Ответственный (189)
191 Любопытная
 
28.01.14
12:21
(190) УстановитьПараметр почитай в Синтаксис-помощнике
192 Wobland
 
28.01.14
12:21
(190) ты же его и правда не задал, да?
193 kotokent
 
28.01.14
12:22
(192) (191)


Процедура ЗаписатьНажатие(Элемент)
    ТабДок = Новый ТабличныйДокумент;
        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

    Результат = Запрос.Выполнить();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;

    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);

    ТабДок.Показать();
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА


    
    

    
    
    //РеквизитОтветственный = Ответственный;
    //ТекДокумент = Документы.РеализацияТоваровУслуг;
    //РезультатПоискаПоРеквизиту = ТекДокумент.НайтиПоРеквизиту("Ответственный",РеквизитОтветственный);
    //Если РезультатПоискаПоРеквизиту = ТекДокумент.ПустаяСсылка() Тогда
    //    Сообщить("ваыываыв");
    //Иначе
    //    Сообщить("Не найден");
    //КонецЕсли;
    
    //Документы.РеализацияТоваровУслуг.Выбрать("","", Элементы.Ответственный);
    //Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту("Комментарий",);
    //Сообщить(Документы.РеализацияТоваровУслуг.Выбрать("Номер"));
КонецПроцедуры
194 Wobland
 
28.01.14
12:24
(193) и что?
195 Любопытная
 
28.01.14
12:25
Ну так кто значения параметров то будет задавать? Вася Пупкин??? Ну какой смысл давать советы, если ты не понимаешь как оно работает и понять, имхо, даже не пытаешься?
196 kotokent
 
28.01.14
12:25
(194) задал и в форме
197 Wobland
 
28.01.14
12:25
кто ж так развлекается?..
198 kotokent
 
28.01.14
12:26
(195) (197) я задал значение
199 Wobland
 
28.01.14
12:26
(198) а платформу в этом убедил?
200 kotokent
 
28.01.14
12:27
(199) да блин, что не так то
201 Kalambur
 
28.01.14
12:27
обучение онлайн! присоединйтесь нубы!
202 Wobland
 
28.01.14
12:28
(200)  как работает УстановитьПараметр()?
203 Kalambur
 
28.01.14
12:28
Урок проводит Wobland
204 Любопытная
 
28.01.14
12:29
(198) ты задал значения переменных, но никак не значения параметров запроса
205 Wobland
 
28.01.14
12:29
(204) я уже почти уверовал в то, что это развод
206 ptiz
 
28.01.14
12:30
(76) Был прав.
207 kotokent
 
28.01.14
12:30
(204) параметры запроса.. где задаются
208 Wobland
 
28.01.14
12:31
kotokent
116 - 27.01.14 - 08:10
(115) как картинку кинуть
   kotokent
117 - 27.01.14 - 08:10
C:\Users\pa.PPCONS\Pictures\Безымянн6ый.gif

ну не развод ли?
209 ptiz
 
28.01.14
12:33
kotokent - ты только на нас не обижайся.
Просто это всё такие элементарные вещи, что нам смешно. Это нормально, держись! Научишься!
Спасибо за поднятое настроение :)
210 kotokent
 
28.01.14
12:34
(208) мне тоже смешно и я не обижаюсь, но вы и немя поймите... я с этим не сталкивался
211 Wobland
 
28.01.14
12:35
(210) а документация почему не читается?
212 kotokent
 
28.01.14
12:36
(211) Какая
213 Любопытная
 
28.01.14
12:36
(207) Ипонский коневод, блин!
Запрос.УстановитьПараметр("ИмяПараметраВЗапросе(которое после амперсента)",ЗначениеПараметра (которое хочешь в засунуть в парамер));
214 catena
 
28.01.14
12:37
(210)УстановитьПараметр прозвучало в ветке уже раз 20. Так что, уже не смешно, уже баян.
215 Wobland
 
28.01.14
12:39
а вот интересно, что получится, если засунуть в параметр едит-бокс? никто не делал?
216 Любопытная
 
28.01.14
12:40
(215) что такое едит-бокс?
217 Wobland
 
28.01.14
12:40
(216) поле ввода по-православному
218 ИС-2
 
naïve
28.01.14
12:40
(216) поле ввода
219 Любопытная
 
28.01.14
12:42
(217)а как ты его засунешь в параметр?
Впрочем, думаю, что даже если получится, ничего не получится)
220 ИС-2
 
naïve
28.01.14
12:42
(0) ни кто еще не отправлял в групповую обработку справочников и документов? Там это уже реализовано.

(0) советую пока забросить задачу и прочитать Радченко, посмотреть курсы "программирование за 21 день".
221 Wobland
 
28.01.14
12:43
(219) так же, как и строку, как и ссылку
222 Wobland
 
28.01.14
12:44
(220) уже готовое давали. на УФ, правда
223 Любопытная
 
28.01.14
12:45
(221) ну и будет не равно. Вот и все
224 kotokent
 
28.01.14
12:46
я опять в тупике, теперь задача установить параметр,...
225 Wobland
 
28.01.14
12:46
(223) без ошибки будет? запрос вроде как такие типы не ест
226 Wobland
 
28.01.14
12:47
(224) это нормально, я сто раз параметры устанавливал
227 kotokent
 
28.01.14
12:47
(225) скажи мне... имя параметра задавать как Документы.РеализацияТоваровУслуг.Ответственный или как
228 Wobland
 
28.01.14
12:48
"ИмяПараметраВЗапросе(которое после амперсанда)"
229 Wobland
 
28.01.14
12:48
(227) давай посмотрим в (228) и подумаем, что имела в виду Любопытная. что она имела в виду?
230 Любопытная
 
28.01.14
12:49
(225)я вообще это представить не могу.
УстановитьПараметр("Ответственный",ЭтаФорма.ПолеВвода)?
231 Wobland
 
28.01.14
12:49
(230) дада. как-то до седых волос дожил, а ни разу не пробовал так сделать ;)
232 Любопытная
 
28.01.14
12:50
"Я понял - это намек,
Я все ловлю на лету,
Но непонятно, что конкретно ты имела в виду?
Вот я не понял." (с) :)
233 Любопытная
 
28.01.14
12:51
(231)
<Значение> (обязательный)

Тип: Произвольный.
Значение устанавливаемого параметра.

Раз произвольный, значит можно засунуть. Думаю, платформа даже это проглотит
234 Wobland
 
28.01.14
12:51
щас автор нам расскажет
235 Любопытная
 
28.01.14
12:52
(234) думаешь, он засунет туда поле формы???
236 Wobland
 
28.01.14
12:53
(235) надеюсь
237 catena
 
28.01.14
12:54
(228)"амперсанда" Бог мой, кто ж Вас учил так при студентах материться???
238 kotokent
 
28.01.14
12:54
&НаКлиент
Процедура ЗаписатьНажатие(Элемент)
    ТабДок = Новый ТабличныйДокумент;
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    Макет = ПолучитьОбщийМакет("Результат");
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ответственный",ЭтаФорма.ПолеВвода);
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Номер,
        |    РеализацияТоваровУслуг.Комментарий,
        |    РеализацияТоваровУслуг.Ответственный
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг";

    Результат = Запрос.Выполнить();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьДетальныхЗаписей);
    КонецЦикла;

    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    ТабДок.Показать();
    

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецПроцедуры
239 Wobland
 
28.01.14
12:55
(237) ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент на тебя ;)
240 kotokent
 
28.01.14
12:55
вообще ничего не выводит
241 catena
 
28.01.14
12:56
(239)Вот даже не знаю, как воспринмать, как комплимент или как оскорбление)))
242 Wobland
 
28.01.14
13:00
гм, звучит как оскорбление, да. срочно изобретаю комплимент со словом ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент
243 Любопытная
 
28.01.14
13:00
(240)а макет есть? А области в макете? А параметры в облстях в макете?
244 kotokent
 
28.01.14
13:00
(239) он не устанавливает переменную в запрос, может я ее не туда вставил
245 Wobland
 
28.01.14
13:01
этот стиль называется "метод стохастического программирования". берутся куски кода, рандомно перемешиваются до получения результата
246 catena
 
28.01.14
13:02
Запрос.УстановитьПараметр("Ответственный",ЭтаФорма.ПолеВвода);

Wobland +5 к телепатии
247 Wobland
 
28.01.14
13:02
(244) устанавливает
248 Любопытная
 
28.01.14
13:03
(245) помнишь сортировку глупца?
249 kotokent
 
28.01.14
13:04
(246) {ОбщаяФорма.Форма.Форма(11)}: Поле объекта не обнаружено (ПолеВвода)
    Запрос.УстановитьПараметр("Ответственный",ЭтаФорма.ПолеВвода);
250 Wobland
 
28.01.14
13:05
(248) Бого - наше всё
    while (!isSorted(r))
        randomShuffle(r);
251 kotokent
 
28.01.14
13:06
Теперь он мне выдает таблицу
я написал
Запрос.УстановитьПараметр("Ответственный",ЭтаФорма.Ответственный);

но без параметра ответственный
252 Любопытная
 
28.01.14
13:06
(249) ты что, просто скопировал эту строку из (230)?
253 kotokent
 
28.01.14
13:06
т.е всех выдает
254 catena
 
28.01.14
13:06
(251)Ты запросу не сказал, что ему фильтровать надо.
255 kotokent
 
28.01.14
13:07
(252) да я уже незнал как ее писать
256 Wobland
 
28.01.14
13:07
(251) вово. добавь условие про ответственного, только параметр не меняй пока
257 catena
 
28.01.14
13:08
(256)А это уже использование авторитета в личных целях.
258 Любопытная
 
28.01.14
13:08
(256) у него нет условий в запросе
259 Wobland
 
28.01.14
13:09
(257) ну не буду ж я сам элементы управления в запрос передавать. меня девушки засмеют
260 kotokent
 
28.01.14
13:10
(259) (258) (257) Так, теперь и фильтрует
261 Wobland
 
28.01.14
13:10
уже поздравлять?
262 kotokent
 
28.01.14
13:10
теперь про комментарий надо замутить
263 Любопытная
 
28.01.14
13:13
(259) исключительно чтобы тебя порадовать - ЭтаФорма.ПолеВвода - реквизит формы, а не элемент. А вот ЭтаФорма.ЭлементыФормы.ПолеВвода, вот это другое дело
264 Любопытная
 
28.01.14
13:13
(261) Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
РеализацияТоваровУслуг.Ответственный <<?>>= &Ответственный
265 Любопытная
 
28.01.14
13:14
+(264) Это если в параметр засунуть элемент формы)
266 kotokent
 
28.01.14
13:14
{ОбщаяФорма.Форма.Форма(24)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить();
по причине:
{(9, 39)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И РеализацияТоваровУслуг.Комментарий <<?>>= &Комментарий
267 Wobland
 
28.01.14
13:14
(264) ай, спасибо, хорошо.
(263) действительно, не углядели
268 Wobland
 
28.01.14
13:14
(266) разрешаю поискать свой вопрос про 1024
269 Любопытная
 
28.01.14
13:15
(266) комментарий - строка неограниченной длины. Ее нельзя сравнивать просто так, надо привести к какой-нибудь длине. при помощи ВЫРАЗИТЬ
270 catena
 
28.01.14
13:15
(259)Он ругается на сравнение несовпадающих типов.
271 Любопытная
 
28.01.14
13:16
Вот так. Девушки сделали за Wobland всю грязную работу, чтобы его не засмеяли))
272 catena
 
28.01.14
13:16
(271)Умеет уговаривать, чертяка))
273 catena
 
28.01.14
13:22
В ходе обсуждения партизанского исправления очередного гoмнoкoда:
- Если ты правишь код, который написан через апож, означает ли это, что ты находишься в глубоком тылу противника?
(с)bash
274 kotokent
 
28.01.14
13:24
(269) ВЫРАЗИТЬ через конструктор построю
а то я скопировал то что мне писали в разных вариантах, а оно не работает
275 Wobland
 
28.01.14
13:26
когда уже закончится эта вакханалия?
276 kotokent
 
28.01.14
13:26
(275) подскажи
277 Wobland
 
28.01.14
13:27
(276) пиши выразить руками. а то мы эту кнопку в конструкторе ещё 30 постов искать будем
278 George Wheels
 
28.01.14
13:27
(275) Когда он созреет прочитать что-нибудь или сходить на курсы. Кажется никогда.
279 kotokent
 
28.01.14
13:30
(277)

ГДЕ
        |    РеализацияТоваровУслуг.Ответственный = &Ответственный
        |    ИЛИ (ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1024))) = &Комментарий";
280 kotokent
 
28.01.14
13:30
не работает
281 Любопытная
 
28.01.14
13:31
(280) что не работает?
282 Wobland
 
28.01.14
13:31
(280) как узнал?
283 kotokent
 
28.01.14
13:33
(281) (282) ща
284 kotokent
 
28.01.14
13:35
(282) (281) он как будто не видит то что я туда ввожу, а когда славлю заместо ИЛИ - И то ищет вместе чтобы был такой пользователь и комментарий
285 Wobland
 
28.01.14
13:36
&Ответственный какого типа?
286 Любопытная
 
28.01.14
13:36
(284) значение параметра указал?
287 kotokent
 
28.01.14
13:37
(285) СправочникСсылка.Пользователи
288 kotokent
 
28.01.14
13:37
(286)

Макет = ПолучитьОбщийМакет("Результат");
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ответственный",ЭтаФорма.Ответственный);
    Запрос.УстановитьПараметр("Комментарий",ЭтаФорма.Комментарий);
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Номер,
        |    РеализацияТоваровУслуг.Комментарий,
        |    РеализацияТоваровУслуг.Ответственный
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |ГДЕ
        |    РеализацияТоваровУслуг.Ответственный = &Ответственный
        |    ИЛИ (ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1024))) = &Комментарий";

    Результат = Запрос.Выполнить();
289 Wobland
 
28.01.14
13:39
и что тебя убеждает в том, что это не работает?
290 kotokent
 
28.01.14
13:40
(289) погоди, я в ответтственный делал тип СправочникСсылка.Пользователи, а здесь какой тип надо поставить
291 kotokent
 
28.01.14
13:41
ДокументСсылка.РеализацияТоваровУслуг
292 Wobland
 
28.01.14
13:41
(290) такой же, какой и в документе
293 kotokent
 
28.01.14
13:43
(292) строка походу
294 Wobland
 
28.01.14
13:43
(293) не верю
295 kotokent
 
28.01.14
13:45
(294) все равно не канает
296 kotokent
 
28.01.14
13:46
или когда ставлю у него вообще отбора нет, он всех показывает
297 George Wheels
 
28.01.14
13:47
(296) А при этом в поле комментарий на форме что нибудь есть?
298 Wobland
 
28.01.14
13:47
(296) условие на пустой комментарий проходит?
299 kotokent
 
28.01.14
13:51
(298) (297) в есть что то при ИЛИ - ему все равно, он всех выдает
В поле нет ничего при И - он выдает только тех у кого ничего нету в комментарии и которых мы по ответственному выбрали(Иван - все покажет с иваном, но если мы не заполнили поле комментарий, значит все с иван только без комментариев)
300 Wobland
 
28.01.14
13:51
дриста!
301 George Wheels
 
28.01.14
13:52
Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Номер,
        |    РеализацияТоваровУслуг.Комментарий,
        |    РеализацияТоваровУслуг.Ответственный
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг";

ТекстУсловия = "";

Если ЗначениеЗаполнено(ЭтаФорма.Ответственный) Тогда
  ТекстУсловия =
        "ГДЕ
        |    РеализацияТоваровУслуг.Ответственный = &Ответственный"
КонецЕсли;
Если ЗначениеЗаполнено(ЭтаФорма.Ответственный) Тогда
  Если ТекстУсловия = "" Тогда
  ТекстУсловия =
        "ГДЕ (ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1024))) = &Комментарий";
  Иначе
  ТекстУсловия = ТекстУсловия +
        "    ИЛИ (ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1024))) = &Комментарий";
  КонецЕсли;
КонецЕсли;

Запрос.Текст = Запрос.Текст + ТекстУсловия;
302 Wobland
 
28.01.14
13:52
(299) всех или всех с пустыми комментариями?
303 George Wheels
 
28.01.14
13:54
(301) Во втором если поторопился
Если ЗначениеЗаполнено(ЭтаФорма.Ответственный) Тогда

читать как

Если ЗначениеЗаполнено(ЭтаФорма.Комментарий) Тогда
304 kotokent
 
28.01.14
13:54
305 Wobland
 
28.01.14
13:56
(304) вижу справа равенство комментария тому, что введено на форме. на Анашкина уже плевать
306 Wobland
 
28.01.14
13:58
думаю, можно поздравлять, задача сделана. поздравлять?
307 George Wheels
 
28.01.14
14:00
(306) Сейчас будем разбирать, что за ТекстУсловия и доберёмся до 400.
308 kotokent
 
28.01.14
14:02
(305) (307) ну вы понимаете что он по комментарию не ищет
309 Wobland
 
28.01.14
14:03
(308) мы понимаем обратное
310 Wobland
 
28.01.14
14:04
(РеализацияТоваровУслуг.Ответственный = &Ответственный ИЛИ &Ответственный=ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))
ИЛИ ((ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1024))) = &Комментарий ИЛИ &Комментарий="")

не?
311 kotokent
 
28.01.14
14:09
(310) не
312 kotokent
 
28.01.14
14:13
(310) ковычку требует в конце
313 kotokent
 
28.01.14
14:13
(310) а когда ставлю то синтаксическая ошибка
314 Wobland
 
28.01.14
14:18
ИЛИ &Комментарий=""""
315 kotokent
 
28.01.14
14:19
(314) ща
316 kotokent
 
28.01.14
14:20
317 Wobland
 
28.01.14
14:21
мне не сложно и повторить: ИЛИ &Комментарий=""""
318 kotokent
 
28.01.14
14:22
(317) извини затупил
319 Wobland
 
28.01.14
14:22
ну? когда поздравлять?
320 MSII
 
28.01.14
14:23
(76) До двухсот, говоришь? :)
321 kotokent
 
28.01.14
14:23
(319) блин, теперь по ответственному не сортирует
322 George Wheels
 
28.01.14
14:23
(321) Не сортирует или не отбирает?
323 Wobland
 
28.01.14
14:24
(320) дотянули же! ;)
324 kotokent
 
28.01.14
14:25
(322) он тупо всех воводит кого бы не выбрать, но если любой комментарий написать то выводит Ответственного кого выбрали
325 kotokent
 
28.01.14
14:26
если в комментарий ничего не писать он всех выводит
326 Wobland
 
28.01.14
14:27
(324) а попробуй второе ИЛИ на И заменить
327 kotokent
 
28.01.14
14:28
(326) ща
328 George Wheels
 
28.01.14
14:29
(310) (РеализацияТоваровУслуг.Ответственный = &Ответственный ИЛИ &Ответственный=ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))
И ((ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1024))) = &Комментарий ИЛИ &Комментарий="")
329 ICWiner
 
28.01.14
14:30
(327) А что год рождения не заполнен? А то появилось пару мыслей...
330 kotokent
 
28.01.14
14:31
(326) (328) (320) (286) (273)

я понял получилось... Аплодисменты и авиации в вашу честь кто помоглал

))))))))))))))))))
331 kotokent
 
28.01.14
14:32
Процедура ЗаписатьНажатие(Элемент)
    ТабДок = Новый ТабличныйДокумент;
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    Макет = ПолучитьОбщийМакет("Результат");
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ответственный",ЭтаФорма.Ответственный);
    Запрос.УстановитьПараметр("Комментарий",ЭтаФорма.Комментарий);
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Номер,
        |    РеализацияТоваровУслуг.Комментарий,
        |    РеализацияТоваровУслуг.Ответственный
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |ГДЕ
        |    (РеализацияТоваровУслуг.Ответственный = &Ответственный
        |    ИЛИ &Ответственный=ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))
        |    И ((ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1024))) = &Комментарий
        |    ИЛИ &Комментарий="""")" ;

    Результат = Запрос.Выполнить();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьДетальныхЗаписей);
    КонецЦикла;
    
    

    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    
    ТабДок.Показать();
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецПроцедуры
332 Kri26S
 
28.01.14
14:33
(330) Вот это счастье хвала богам и повелителям 1С.
333 kotokent
 
28.01.14
14:33
(332) вы крутые
334 George Wheels
 
28.01.14
14:33
Wobland поздравляй!
335 kotokent
 
28.01.14
14:34
я тоже скоро таким буду
(334) я его поздравил
336 kotokent
 
28.01.14
14:34
скоро еще спишумся
337 Kri26S
 
28.01.14
14:52
(336) Почитай какую-нить литературу например Радченко 1С:Предприятие 8.2. Практическое пособие разработчика для начала. Для более обширного знакомства можно "Профессиональная разработка в системе 1С:Предприятие 8", кинуть ссылки?
338 kotokent
 
28.01.14
14:55
(337) ну если не сложно!!
339 Kri26S
 
28.01.14
15:03
340 Wobland
 
28.01.14
15:34
АЛИЛУЙЯ!
поздравляю! я так долго к этому шёл
341 Kri26S
 
28.01.14
15:46
342 Wobland
 
28.01.14
15:53
(341) Том_1.7z - талмуд штоль?
343 Kri26S
 
28.01.14
16:03
344 Kri26S
 
28.01.14
16:03
(342) Ты в реале эту книгу видел?
345 Wobland
 
28.01.14
16:05
(344) на столе держу
346 Kri26S
 
28.01.14
16:08
(345)Тогда зачем спрашиваешь талмуд или нет, или я чего-то не понимаю.
347 Wobland
 
28.01.14
16:10
(346) чтобы понять, чего ты автору предлагаешь. талмуд - штука хорошая, но ТС не осилит
348 Kri26S
 
28.01.14
16:14
(347) Ну тут дело каждого силить или нет, может быть и осилит, не сразу, позже.
349 Kri26S
 
28.01.14
16:16
Лучше конечно начать с простой литературы.