Имя: Пароль:
1C
1С v8
обращение как к функции
0 Sem0709
 
08.07.20
06:31
Добрый день.

    МенеджерРегистра = РегистрыСведений.НоменклатураПоставщика.СоздатьМенеджерЗаписи();
    МенеджерРегистра.Поставщик = РезультатЗапроса.Поставщик;
    МенеджерРегистра.Наименование = РезультатЗапроса.Наименование;
    МенеджерРегистра.ХарактеристикаНоменклатуры = РезультатЗапроса.ХарактеристикаНоменклатуры;
    МенеджерРегистра.КодНоменклатурыПоставщика = 2;
    МенеджерРегистра.Прочитать();

На методе Прочитать() в конфигураторе пишет обращение к процедуре как функции.
Чего не так?
1 Sem0709
 
08.07.20
06:40
Попытка
            МенеджерРегистра.Прочитать();
        Исключение
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
2 Sem0709
 
08.07.20
06:40
Исключения нет. При Прочитать() менеджер пустой. Может я чего путая?
3 Sem0709
 
08.07.20
06:50
Аа, на счет обращения как функции я понял. Я же значение пытаюсь вычислить выражение, а это процедура)
Но почему не читает тогда запись из регистра.... указал все измерения

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    НоменклатураПоставщика.Поставщик КАК Поставщик,
    |    НоменклатураПоставщика.Наименование КАК Наименование,
    |    СУММА(1) КАК Количество,
    |    НоменклатураПоставщика.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
    |ИЗ
    |    РегистрСведений.НоменклатураПоставщика КАК НоменклатураПоставщика
    |
    |СГРУППИРОВАТЬ ПО
    |    НоменклатураПоставщика.Поставщик,
    |    НоменклатураПоставщика.Наименование,
    |    НоменклатураПоставщика.ХарактеристикаНоменклатуры
    |
    |ИМЕЮЩИЕ
    |    СУММА(1) > 1";
    
    РезультатЗапроса = Запрос.Выполнить().Выбрать();
    
    Пока РезультатЗапроса.Следующий() Цикл
        
        МенеджерРегистра = РегистрыСведений.НоменклатураПоставщика.СоздатьМенеджерЗаписи();
        МенеджерРегистра.Поставщик = РезультатЗапроса.Поставщик;
        МенеджерРегистра.Наименование = РезультатЗапроса.Наименование;
        МенеджерРегистра.ХарактеристикаНоменклатуры = РезультатЗапроса.ХарактеристикаНоменклатуры;
        МенеджерРегистра.КодНоменклатурыПоставщика = 2;
        МенеджерРегистра.Прочитать();
        
        Если МенеджерРегистра.Выбран() Тогда
            Сообщить("" + МенеджерРегистра.Наименование + " " + МенеджерРегистра.КодНоменклатурыПоставщика);
        КонецЕсли;
        
    КонецЦикла;
4 CHerypga
 
08.07.20
06:54
изменениями должны быть поставщик, харатеристика номенклатуры и сама номенклатура, а не какое-то там наименование и код номенклатуры поставщика
5 Chameleon1980
 
08.07.20
06:55
текст ошибки в студию
6 Sem0709
 
08.07.20
07:01
(4) смотрю в книгу - вижу фигу) Спасибо.
7 Ненавижу 1С
 
гуру
08.07.20
07:36
Где-то ещё есть ошибочная конструкция. С
Лексический анализатор спотыкается
8 Sem0709
 
08.07.20
07:47
Да я смотрю "На..." и "Но...", длина похожая. Ну и подумаю что всё норм)
В мтоге так сделал:

НаборЗаписей = РегистрыСведений.НоменклатураПоставщика.СоздатьНаборЗаписей();        
НаборЗаписей.Отбор.КодНоменклатурыПоставщика.Установить(2);
НаборЗаписей.Записать();

КодНоменклатурыПоставщика - измерение
9 Sem0709
 
08.07.20
07:54
Я тут ещё погуглил, может не правильно менеджер использую и топ два в гугле мне выдаёт очень интересную статью. Последние два примера почитайте:

https://1c-programmer-blog.ru/programmirovanie/rabota-s-nezavisimym-registrom-svedenij.html
10 Chameleon1980
 
08.07.20
07:56
(9) и ?
11 Chameleon1980
 
08.07.20
07:57
многие начинающие 1сники попадают в убийц РС случайно :) при неправильном использовании НАборраЗаписей
12 Chameleon1980
 
08.07.20
07:57
бывает, и не начинающие попадают :)
13 Sem0709
 
08.07.20
07:58
(10) Страшно)
14 D_E_S_131
 
08.07.20
11:00
Это как такое разувидеть в (3)? Читаем данные из РС, чтобы потом опять их прочитать, но уже менеджером записи?
15 Sem0709
 
08.07.20
19:00
(14) Не увидел Вашего варианта.
16 Sem0709
 
08.07.20
19:03
К тому же в 8 я уже написал решение.
17 Sem0709
 
08.07.20
19:19
(14) Вас, наверное, смутило что я их сразу не перебирают !?
Затем я собирался не просто сообщить их, просто споткнулся на Прочитать(), добавил Сообщить() для поиска косяка, почему отбор не работает.
В итоге всё оказалось что я не доглядел, когда разобрался отчего данные задваиваются и что лишнее, то и нашёл другое решение вопроса.
18 ДенисЧ
 
08.07.20
19:23
(14) А что? Сначала читаем данные, потом их меняем. Твоё решение?
19 Sem0709
 
08.07.20
19:28
(14) Кстати, а тут вопрос тогда.
Нужно удалить все записи РС с ресурсом Цвет "Фиолетовый" или поменять на "Баклажановый"
То как это проще сделать?
20 hhhh
 
08.07.20
20:32
(19) никак. Придется делать сложно.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой