Имя: Пароль:
1C
1С v8
Передача набора записей регистра из функции в процедуру
,
0 nvhost
 
19.08.13
08:19
Как осущесвить программно, не могу закодить помогите плиз.....
1 Defender aka LINN
 
19.08.13
08:20
Ну, надо себя как-то заставить...
2 Wobland
 
19.08.13
08:20
а пожалуйста

    РассчитатьЗаписиРегистраРасчета("ОсновныеНачисления", НаборОсновныеНачисления, );
    РассчитатьЗаписиРегистраРасчета("ДополнительныеНачисления", НаборДополнительныеНачисления, );
    РассчитатьЗаписиРегистраРасчета("Удержания", НаборУдержания, );
3 nvhost
 
19.08.13
08:46
Это я так понимаю Таблица значений?Мне еще нужно передать между сервером и клиентом....
4 Нуф-Нуф
 
19.08.13
08:47
Что передать? Пакет с анашой?
5 Wobland
 
19.08.13
08:51
(3) нет
6 Defender aka LINN
 
19.08.13
08:53
(3) И зачем же тебе это нужно?
А вообще, про такие вещи не надо в третьем посте уже рассказывать. Надо было тянуть интригу поста до 20-30. А где-нибудь к 50-60 сознаться, что это тебе нужно, чтобы на форму индикатор вывести
7 V01tk2010
 
19.08.13
09:06
Похоже автор имеет ввиду управляемые формы и передачу между серверем и клиентом?
8 nvhost
 
19.08.13
09:18
Дак вот поэтому и кусками пишу, потому что  когда речь заходит о задачи, читать саркастические насмешки надоело, не чтоб написать по делу и у каждого как говорится свое мнение на этот  счет!А тут конкретнее не куда, задача передать Таблицу значений с записями регистра из функции в процедуру!
9 Cube
 
19.08.13
09:21
(8) Русская языка меня покинуть...
10 Cube
 
19.08.13
09:22
(8) "не чтоб написать по делу"
Нет, чтоб описать задачу грамотно в нулевом посте...
11 Cube
 
19.08.13
09:24
(3) &НаКлиенте набор записей не существует. Изучай СП:

РегистрНакопленияНаборЗаписей
...
Доступность:
Сервер, толстый клиент, внешнее соединение.
12 Defender aka LINN
 
19.08.13
09:24
(8) Дык потому и насмешки. Я че-то сильно сомневаюсь, что к тебе подошел пользователь и поставил задачу "передать Таблицу значений с записями регистра из функции в процедуру". Это ты такое делать придумал
13 andreymongol82
 
19.08.13
09:26
(10) Словосочетание "помогите плиз.....", должно автоматически вызвать у присутствующих резкий приступ телепатии.
(3) Не понял, ТЗ передать с сервера на сервер? По другому-то не очень получится.
14 nvhost
 
19.08.13
09:36
Делаю Так:

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

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Оповещение.Задача,
        |    Оповещение.Сообщение,
        |    Оповещение.Прочитано,
        |    Оповещение.Роль
        |ИЗ
        |    РегистрСведений.Оповещение КАК Оповещение";

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

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

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

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


    
    Возврат ВыборкаДетальныеЗаписи;

Процедура которая вызывает эту функцию находится на клиенте пишет ошибку:
{МодульУправляемогоПриложения(87)}: Ошибка при вызове метода контекста (ОбновляемСписок)
        Для Каждого Запись из itilprofИнтеграция.ОбновляемСписок() Цикл
по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'
15 Cube
 
19.08.13
09:40
(14) Мда... Ты (11) читал? Выводов для себя не сделал? Лады, я ещё разок (последний) сделаю выдержку из СП для тебя:

ТаблицаЗначений
...
Доступность:
Сервер, толстый клиент, внешнее соединение.
16 andreymongol82
 
19.08.13
09:41
(14) Ну так ясно же написало же "Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа."
17 nvhost
 
19.08.13
09:45
А какой тип значения допустим?СЗ?
18 andreymongol82
 
19.08.13
09:47
(17) Что ты собрался с этой ТЗ делать? Ты опиши сначала нормально задачу и проблему? может тебе ничего не надо будет передавать на клиент?
19 Cube
 
19.08.13
09:48
(17) Так тебе уже и не надо набор записей на клиенте, оказывается?... Прикольно...
Говоришь, "читать саркастические насмешки надоело"?)) Ну-ну... А может дело в тебе?

"А какой тип значения допустим?"
А почитать СП не желаешь сам?
20 Wobland
 
19.08.13
09:49
правильный ответ: так делать не надо
21 nvhost
 
19.08.13
09:56
В этой ТЗ находятся оповещение пользователя, которые надо ему показать методом ПоказатьОповещениеПОльзователя!
В СП я читал там написано что Сервер, толстый клиент, внешнее соединение.
22 Wobland
 
19.08.13
09:57
(21) покажь скриншот
23 Cube
 
19.08.13
09:58
(21) "В СП я читал"
И не дочитал... Ты программируешь под тонкий клиент. Есть у ТЗ доступность на тонком клиенте?
24 Cube
 
19.08.13
10:00
(21) "В этой ТЗ находятся оповещение пользователя, которые надо ему показать методом ПоказатьОповещениеПОльзователя!"

У ПоказатьОповещениеПОльзователя() нет параметра ТЗ. Есть текст. Так вот и передавай с сервера на клиент текст...
25 Defender aka LINN
 
19.08.13
10:00
(21) "В этой ТЗ находятся оповещение пользователя, которые надо ему показать методом ПоказатьОповещениеПОльзователя!"

Все фееричнее и фееричне... Запасся попкорном, подписался на тему.
26 Cube
 
19.08.13
10:01
(25) )))))))
27 Wobland
 
19.08.13
10:05
(24) можно через картинку двоичные данные передавать. а в них запихать ТЗ
28 Wobland
 
19.08.13
10:06
(27) хотя, что это я.. ЗначениеВСтрокуВнутр(ТЗ) - строка
29 nvhost
 
19.08.13
10:13
А как программировать Под толстый?С чего вдруг 1С решила что я буду тонким клиентом пользоватся!НАфиг он мне не нужен
30 andreymongol82
 
19.08.13
10:17
(29) надо прямо указать в списке баз в скобках, что это толстый клиент (Напирмер, "Наша бухгалтерия это -(Толстые клиенты)" ))).
Ты вообще хоть что-то понимаешь, что пишешь?
С этими сообщениями пользователя что делать будешь - просто покажешь в окошке каком или есть реквизит на форме?
31 nvhost
 
19.08.13
10:28
нет просто покажу, сдела так:

Процедура ПриНачалеРаботыСистемы()
......
ПодключитьОбработчикОжидания("Оповещение",100;

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

Если ТолстыйКлиентОбычноеПриложение Тогда
Процедура Оповещение() Экспорт
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Оповещение.Задача,
        |    Оповещение.Сообщение,
        |    Оповещение.Прочитано,
        |    Оповещение.Роль
        |ИЗ
        |    РегистрСведений.Оповещение КАК Оповещение";

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

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

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        Для Каждого Запись из Результат.Выгрузить() Цикл
    
            Если Запись.Прочитано = Ложь Тогда
                ПоказатьОповещениеПользователя(Запись.Задача + Запись.Оповещение);
                Запись.Прочитано = Истина;
            КонецЕсли;
        
        КонецЦикла;

    КонецЦикла;

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

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

#КонецЕсли

Ругается теперь
{МодульУправляемогоПриложения(79)}: Ошибка при вызове метода контекста (ПодключитьОбработчикОжидания)
    ПодключитьОбработчикОжидания("Оповещение", 15);
по причине:
Недопустимое значение параметра (параметр номер '1')
32 Serginio1
 
19.08.13
10:31
33 Defender aka LINN
 
19.08.13
11:05
Продолжайте, продолжайте...
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой