Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Добавление строк в ТЧ

Добавление строк в ТЧ
Я
   prilforreal
 
05.06.18 - 11:47
Доброго дня!
При нажатии кнопки:

Стр = ЭтотОбъект.ТабличнаяЧасть1.Добавить();    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    Пользователи.Ответственный
        |ИЗ
        |    Справочник.Пользователи КАК Пользователи";
    
    Рез=Запрос.Выполнить().Выбрать();
    Пока Рез.Следующий() Цикл
    Стр.Сотрудник=Рез.Ответственный;
    КонецЦикла;

Вместо заполнения табличной части списком пользователей добавляется только одна пустая строка, помогите найти ошибку.
 
 
   yavasya
 
1 - 05.06.18 - 11:48
Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    Пользователи.Ответственный
        |ИЗ
        |    Справочник.Пользователи КАК Пользователи";
    
    Рез=Запрос.Выполнить().Выбрать();
    Пока Рез.Следующий() Цикл
Стр = ЭтотОбъект.ТабличнаяЧасть1.Добавить();  
    Стр.Сотрудник=Рез.Ответственный;
    КонецЦикла;
   prilforreal
 
2 - 05.06.18 - 11:50
(1) Спасибо, странно, не думал что это будут роль играть!)
   prilforreal
 
3 - 05.06.18 - 12:01
(1) А с условием подскажете? не ладится что то...

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


{(7, 50)}: Не задано значение параметра "Производство"
Пользователи.Ответственный.Наименование ПОДОБНО <<?>>&Производство
   1Сергей
 
4 - 05.06.18 - 12:05
(3) ты студент или как? это базовые вопросы. решаются быстрым поиском в синтаксис-помощнике. Не нужно даже гуглить и книжки читать
   Гипервизор
 
5 - 05.06.18 - 12:05
(3) Что подсказать? Ясно же написано. Задайте значение параметра "Производство".
   lubitelxml
 
6 - 05.06.18 - 12:06
(3) ты в запрос передаешь параметры, но не устанавливаешь их.
   Cool_Profi
 
7 - 05.06.18 - 12:06
(2) хм... Не думал, что ДобавитьСтроку() не имеет места быть? ))))
   Boleev
 
8 - 05.06.18 - 12:07
Маня наконец-то нашел себе напарника.
   prilforreal
 
9 - 05.06.18 - 12:10
Сделал так, но строки не появляются

Производство="Производство";
Ростов="Ростов";
Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    Пользователи.Ответственный,
        |    Пользователи.Ответственный.Напарник
        |ИЗ
        |    Справочник.Пользователи КАК Пользователи
        |ГДЕ
        |    Пользователи.Ответственный.Наименование ПОДОБНО &Производство
        |    И НЕ Пользователи.Наименование ПОДОБНО &Ростов";
    
    Запрос.УстановитьПараметр("Производство", Производство);
    Запрос.УстановитьПараметр("Ростов", Ростов);
    Рез=Запрос.Выполнить().Выбрать();
    Пока Рез.Следующий() Цикл
Стр = ЭтотОбъект.ТабличнаяЧасть1.Добавить();  
Стр.Сотрудник=Рез.Ответственный;
Стр = ЭтотОбъект.ТабличнаяЧасть1.Добавить();  
Стр.Сотрудник=Рез.ОтветственныйНапарник;
    КонецЦикла;
   hhhh
 
10 - 05.06.18 - 12:12
(9) проверь тип поля Сотрудник. действительно это справочник Пользователи?
 
 Рекламное место пустует
   Гипервизор
 
11 - 05.06.18 - 12:16
(9)
Почему используете ПОДОБНО, а не = ?
У вас нестрогое равенство? Тогда забыли %%.
   SleepyHead
 
12 - 05.06.18 - 12:19
Производство = "%Производство";
   SleepyHead
 
13 - 05.06.18 - 12:20
+12 и в конце %
   prilforreal
 
14 - 05.06.18 - 12:21
(10) Сотрудник это справочник контрагенты, а в справочники пользователи есть ссылка на него в поле ответственный. (11) Да, не строгое равенство, нужен аналог содежит.
   hhhh
 
15 - 05.06.18 - 12:24
(14) а ты что лепишь?

Стр.Сотрудник=Рез.Ответственный;
бред какой-то
   prilforreal
 
16 - 05.06.18 - 12:25
(15) Бред работает, условие не работает только, пока не пойму почему
   1Сергей
 
17 - 05.06.18 - 12:29
(16) думай, ещё думай
   hhhh
 
18 - 05.06.18 - 12:30
(16) ну значит с ПОДОБНО чего-то накосячил

а работает вот это у тебя

Стр.Сотрудник=Рез.ОтветственныйНапарник;
   Гипервизор
 
19 - 05.06.18 - 12:30
(16) Ответили уже в (13)
Или вы только на готовый код реагируете?
   prilforreal
 
20 - 05.06.18 - 12:42
(19) Я пытался так, не помогает.

Для ясности поясню условие, Пользователь должен содержать "Производство" и не должен содержать "Ростов", то есть туда должны попасть пользователи Производство1, Производство2, итд
   prilforreal
 
21 - 05.06.18 - 12:43
Есть пользователи ПроизводствоРостов, их отбраковываем
   catena
 
22 - 05.06.18 - 12:45
(20) подобно "%производство%" и не подобно "%ростов%"
   catena
 
23 - 05.06.18 - 12:46
Просто интересно, как нужно пытаться, чтобы тут не получилось
   Гипервизор
 
24 - 05.06.18 - 12:46
(21) Готовый код "попытки" покажите.
И почему у вас в первом условии " Пользователи.Ответственный.Наименование", а во втором " Пользователи.Наименование"
   prilforreal
 
25 - 05.06.18 - 13:03
Похоже понял, c таким кодом заработало)

Процедура Кнопка1Нажатие(Элемент)
Производство="%Производство%";
Ростов="%Ростов%";
Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    Пользователи.Ответственный,
        |    Пользователи.Ответственный.Напарник
        |ИЗ
        |    Справочник.Пользователи КАК Пользователи
        |ГДЕ
        |    Пользователи.Наименование ПОДОБНО ""%Производство%""
        |    И НЕ Пользователи.Наименование ПОДОБНО ""%Ростов%""
        |    И Пользователи.Код <> 2
        |    И Пользователи.Ответственный > 0";
    
    Запрос.УстановитьПараметр("Производство", Производство);
    Запрос.УстановитьПараметр("Ростов", Ростов);
    Рез=Запрос.Выполнить().Выбрать();
    Пока Рез.Следующий() Цикл
Стр = ЭтотОбъект.ТабличнаяЧасть1.Добавить();  
Стр.Сотрудник=Рез.Ответственный;
Стр.Статус=Перечисления.СтатусВР.Вешал;
Стр = ЭтотОбъект.ТабличнаяЧасть1.Добавить();  
Стр.Сотрудник=Рез.ОтветственныйНапарник;
Стр.Статус=Перечисления.СтатусВР.Вешал;
    КонецЦикла;
   prilforreal
 
26 - 05.06.18 - 13:03
(24) Ошибка то была, внимательнее буду!
   Ёпрст
 
27 - 05.06.18 - 13:08
(25)

И Пользователи.Ответственный > 0

А чего, Ответственный, это у вас числовой реквизит ?
   hhhh
 
28 - 05.06.18 - 13:09
(26) Пользователи.Ответственный > 0

вы вроде на предыдущем допросе говорили что это справочник контрагенты. Как он может быть больше нуля?
   Гипервизор
 
29 - 05.06.18 - 13:13
Статус сотрудника - "Вешал".
Сурово как.
   Ёпрст
 
30 - 05.06.18 - 13:18
(26) ну и делать 2 строки ТЧ, заместо одной, это тоже не правильный мЁд


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует