Имя: Пароль:
1C
1С v8
Клиент-сервер УТ
0 SergeySergIT
 
01.10.13
11:34
Подскажите, мне надо чтоб РеализацияТУ не проводилась если не хватает товара на складской полке я пишу запрос &НаСервере и когда в качестве параметра запроса передаю Объект.Менеджер значение видеться что это менеджер пупкин а в качестве параметра не подхватывает
1 zladenuw
 
01.10.13
11:37
запрос и как ставишь условие
2 Галахад
 
гуру
01.10.13
11:37
Самописка?
3 SergeySergIT
 
01.10.13
11:41
Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ТоварыНаСкладахОстатки.Номенклатура,
                   |    ТоварыНаСкладахОстатки.ВНаличииОстаток
                   |ИЗ
                   |    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
                   |ГДЕ
                   |    ТоварыНаСкладахОстатки.Склад = &Склад
                   |    И ТоварыНаСкладахОстатки.Помещение.Менеджер = &Менеджер";
    Запрос.УстановитьПараметр("Склад", Справочники.Склады.НайтиПоНаименованию("Основной склад пейджеркома(Ордерный)"));
    Запрос.УстановитьПараметр("Менеджер", Объект.Менеджер);
    Результат = Запрос.Выполнить().Выбрать();
4 Dmitry1c
 
01.10.13
11:42
(0) в настройках параметров учета поставь галку "Запретить списание товаров при отсутствии остатков на складе"
5 SergeySergIT
 
01.10.13
11:43
если остатков нет на складе то он и не проведет а мне надо так же если нет на складских полках
6 Галахад
 
гуру
01.10.13
11:46
Суровые члябинцы.
7 Кир Пластелинин
 
01.10.13
11:46
а значение параметра "Склад" находится?) и вообще неплохо бы перенести условия в параметры виртуальной таблицы. ну это так. к слову
8 SergeySergIT
 
01.10.13
11:48
(7) да склад находит, зачем в параметры виртуальной?
9 Dmitry1c
 
01.10.13
11:49
(8) выполнение запроса раз в 10 быстрее.

А говорят, что сертификаты спецов по платформе никуда не нужны
10 SergeySergIT
 
01.10.13
11:50
(9) ок переделаю но вопрос от этого не решиться
11 Галахад
 
гуру
01.10.13
11:54
У помещения вообще есть реквизит "менеджер"?
12 SergeySergIT
 
01.10.13
11:55
(11) естественно
13 Кир Пластелинин
 
01.10.13
11:56
если бы реквизита не было б - выполнение кода сразу застопорилось. ну как вариант взаимоисключающие параметры, либо менеджер может быть не заполнен. и вообще - остатки то есть?)
14 SergeySergIT
 
01.10.13
11:58
да остаки на полке есть
15 hhhh
 
01.10.13
12:03
(14) ну может так как-то

    Запрос.УстановитьПараметр("Менеджер", РеквизитФормыВЗначение(Объект.Менеджер));
16 SergeySergIT
 
01.10.13
12:13
(15) {Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(179)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
     Запрос.УстановитьПараметр("Менеджер", РеквизитФормыВЗначение(Объект.Менеджер));
по причине:
Несоответствие типов (параметр номер '1')
17 SergeySergIT
 
01.10.13
12:23
А если делать без него то как мне потом весь массив данных передать на клиент?
18 SergeySergIT
 
01.10.13
12:33
и еще у меня проблема вышла не могу нырнуть в функцию написанную на сервере с клиента
19 AllJoke
 
01.10.13
12:46
Синтаксис:

РеквизитФормыВЗначение(<ИмяРеквизита>, <Тип>)
Параметры:

<ИмяРеквизита> (обязательный)

Тип: Строка.
20 SergeySergIT
 
01.10.13
12:49
(19) т.е. там надо не просто объект.менеджер а объект.менеджер.наименование тогда мы получим с типом строка
21 AllJoke
 
01.10.13
12:50
(20) ytn
22 AllJoke
 
01.10.13
12:51
Ты имя реквизита должен передать. Как он у тебя называется. В данном случае "Объект.Менеджер"
23 SergeySergIT
 
01.10.13
12:51
(21) тогда по подробнее пожалуйста луче с примером
24 SergeySergIT
 
01.10.13
12:52
(22) а почему тогда ошибка?
25 AllJoke
 
01.10.13
12:56
(24) в чем ошибка?
26 AllJoke
 
01.10.13
12:57
Отладчиком пользоваться умеешь? Ставь точку останова на
Запрос.УстановитьПараметр("Менеджер", РеквизитФорсыВЗначение("Объект.Менеджер")); и смотри чё там у тебя.
27 SergeySergIT
 
01.10.13
12:58
(26) см (18)
28 Кир Пластелинин
 
01.10.13
13:03
(27) вангую, что отладка на сервере отрублена. ключ debug прописать
29 AllJoke
 
01.10.13
13:03
&НаКлиенте
Процедура ЗапросПоПроценту(Команда)
    ЗапросПоПроцентуНаСервере(ВходящаяСтрока);
КонецПроцедуры

&НаСервере
Процедура ЗапросПоПроцентуНаСервере(ТекРекв)
30 AllJoke
 
01.10.13
13:03
+ (29) у меня всё ныряет.
31 SergeySergIT
 
01.10.13
13:08
А если отказаться от этого условия и получать его в выборке вместе с остальными данными то через что лучше выгружать эти данные в клиент через массив или через структуру?
32 Кир Пластелинин
 
01.10.13
13:14
штатные телепаты в отпуске
33 SergeySergIT
 
01.10.13
13:15
плохо)
34 hhhh
 
01.10.13
13:24
(33) зачем передавать? заводишь на форме табличное поле, оно у тебя будет видно и с клиента и с сервера.
35 AllJoke
 
01.10.13
13:31
(31) Лучше условие в запросе. Почему у тебя запрос не выполняется? Может и не должен выполняться. Он пустой результат возвращает или вообще в ошибку уходит?
36 SergeySergIT
 
01.10.13
13:38
я щас через консоль запросов проверил там не пустые значения
37 Jaffar
 
01.10.13
13:50
НайтиПоНаименованию("Основной склад пейджеркома(Ордерный)") = жесть... хорошо, что не в самом тексте запроса...
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший