Ошибка создания набора данных набор данных динамического списка

Ошибка создания набора данных

Я
   LivingStar

10.10.19 — 07:04

Обработка ПомощникЗаполненияОтчета. При переходе на одну из вкладок, выдается ошибка, —

Ошибка при выполнении запроса.

по причине:

Ошибка получения данных

по причине:

Ошибка создания набора данных «НаборДанныхДинамическогоСписка»

по причине:

Ошибка при исполнении запроса набора данных

по причине:

{(30, 15)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля

неограниченной длины и поля несовместимых типов.

КОГДА &ОПО <<?>><> ЗНАЧЕНИЕ(Справочник.прбОпасныеПроизводственныеОбъекты.ПустаяСсылка)

Поделитесь пожалуйста. Как её устранить? Это запрос одного из динамических списков.

   ДенисЧ

1 — 10.10.19 — 07:05

опу правильную передавай.

   LivingStar

2 — 10.10.19 — 07:08

(1) Где его отловить? В форме отчета? Сейчас буду искать.

Подскажите если есть что. Разбираюсь.

   LivingStar

3 — 10.10.19 — 07:10

Главное процедура, что вызывается по нажатию на кнопку по которой идет ошибка. Проходит.

Процедура ШагГодовоеПланированиеНажатие(Элемент)

И ошибка выскакивает после. Пока не пойму где это место, где что то не так передается?

   LivingStar

4 — 10.10.19 — 07:10

Не указано ни место ошибки, ни конфигуратор нельзя открыть. И в форме отчета нет ничего похожего (

Подскажите в каком месте передается не тот параметр?

   catena

5 — 10.10.19 — 07:11

(4)в типовых кофигурациях опы нет. Ты правда на столько веришь в форум?

   LivingStar

6 — 10.10.19 — 07:23

(5) Указана же ошибка. Подскажите куда посмотреть?

   LivingStar

7 — 10.10.19 — 07:26

При открытии отчета, в процедуре ПриСозданииНаСервере() есть такая строка

    Параметры.ОПО = Справочники.прбОпасныеПроизводственныеОбъекты.ПустаяСсылка();

И что может быть не так?

   LivingStar

8 — 10.10.19 — 07:30

Ещё там есть в процедуре ЗаполнитьПараметрыНаСервере()

    ГодовыеПланы.Параметры.УстановитьЗначениеПараметра(«ОПО», МассивОПО);

но туда передается пустой массив, тип значения Null и пустое значение …

   catena

9 — 10.10.19 — 07:51

(8)Пустой массив и массив из пустых значений — это разные вещи. Хотя ни один из этих массивов нельзя сравнивать с конкретным значением.

   hhhh

10 — 10.10.19 — 07:58

(7) попробуй при открытии это забабахать

  

LivingStar

11 — 10.10.19 — 09:15

(9) (10) Есть 2 базы. В одной работает, во второй ошибка.

На сколько я вижу, в одной передается массив, параметром, а в другой в этой же переменной пустая справочник ссылка .

Работа с динамическим списком

Автор trialex3, 11 мая 2018, 12:07

0 Пользователей и 1 гость просматривают эту тему.

(8) ну, УБЕРИ основную таблицу крестиком ТАКИМ [Х]

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают


Цитата: wise от 11 мая 2018, 15:50
(8) ну, УБЕРИ основную таблицу крестиком ТАКИМ [Х]

Убрал. теперь после выбора документа список пустой. Если пкм и обновить то пишет

Ошибка при выполнении запроса. Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(6, 32)}: Не задано значение параметра "СсылкаНаДок"
ЗаказНаПроизводствоП.Ссылка = <<?>>&СсылкаНаДок

Хотя параметр задаю в обработке выбора

&НаСервере
Процедура ЗаказНаПроизводствоОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
СсылкаНаДок = ЗаказНаПроизводство.Ссылка;
ХарактеристикаИзделия.Параметры.УстановитьЗначениеПараметра("СсылкаНаДок", СсылкаНаДок);
Элементы.ХарактеристикаИзделия.Обновить();
КонецПроцедуры


(11) МОЖЕТ:
Процедура ЗаказНаПроизводствоОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
ХарактеристикаИзделия.Параметры.УстановитьЗначениеПараметра(«СсылкаНаДок», ВыбранноеЗначение);
Элементы.ХарактеристикаИзделия.Обновить();
КонецПроцедуры

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают


Цитата: wise от 11 мая 2018, 16:20
(11) МОЖЕТ:
Процедура ЗаказНаПроизводствоОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
ХарактеристикаИзделия.Параметры.УстановитьЗначениеПараметра(«СсылкаНаДок», ВыбранноеЗначение);
Элементы.ХарактеристикаИзделия.Обновить();
КонецПроцедуры

Неа( тоже самое.
странно что он эту ошибку не выдает сразу после выбора документа а только если ПКМ — обновить.

Добавлено: 11 мая 2018, 16:45


только что попытался параметр установить уже при создании на сервере

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Док = Документы.ЗаказНаПроизводство.НайтиПоНомеру("С02851");     
ХарактеристикаИзделия.Параметры.УстановитьЗначениеПараметра("СсылкаНаДок", Док.Ссылка);
КонецПроцедуры

Ничего не получилось. Что при открытии формы список пустой, что при обновлении


(13) должно работать…
попробуй ЭТОТ запрос в консоли выполнить и посмотри на результат

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают



(15) эта форма, СЛУЧАЙНО, не является формой списка документа..?
это ДОЛЖНА быть Произвольная форма.

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают


Цитата: wise от 11 мая 2018, 17:27
(15) эта форма, СЛУЧАЙНО, не является формой списка документа..?
это ДОЛЖНА быть Произвольная форма.

Не уверен произвольная это форма или нет. Поэтому Создал еще одну форму(Произвольную) и скопировал туда все из первой. Результат тот же


Цитата: wise от 11 мая 2018, 17:27
(15) эта форма, СЛУЧАЙНО, не является формой списка документа..?
это ДОЛЖНА быть Произвольная форма.

Таки разобрался с проблемой) процедура обработки выбора происходила на сервере, где доступа к параметрам и все остальному видимо не было. Использовал клиентскую процедуру «при изменении» и все заработало.


Здравствуйте ЗУП ЗУП 3.1.24.408
В продолжение вопроса https://buhexpert8.ru/voprosy/voprosy-1s-zup/pereimenovanie-podrazdelenij-pri-sinhronizatsii.html
работа с регистром очень медленная. Хотя после сноса старой настройки и создания новой там не так много записей. Например, открывается этот регистр минут 10, а отбор по типу приемника СправочникСсылка.ПодразделенияОрганизации идет 40 минут, завершается ошибкой создания набора данных. но таки открывает этот отбор после обновления таблицы, которое занимает 10 минут. Тестирование, исправление, реиндексацию делали. Не помогло.

Alexeyon

0 / 0 / 0

Регистрация: 29.12.2014

Сообщений: 45

1

Не осуществляется отбор динамического списка

12.10.2016, 06:38. Показов 3225. Ответов 4

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

1C
1
2
3
4
5
6
7
8
9
10
11
12
Процедура Отбор3(Команда)
      Реквизит1.Отбор.Элементы.Очистить();
 
            ЭлементОтбора = Реквизит1.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        
            ЭлементОтбора.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Тип");
            ЭлементОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
        ЭлементОтбора.Использование = Истина;
                    ЭлементОтбора.ПравоеЗначение = ("Документ.Списание");
            Элементы.Список.Обновить();
 
КонецПроцедуры

Выходит вот такая ошибка. Подскажите что не так? Ошибка при выполнении запроса. Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных «НаборДанныхДинамическогоСписка»
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(13, 19)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
ЖурналСклада.Тип <<?>>= &П



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

12.10.2016, 06:38

4

Эксперт 1С

3053 / 2000 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

12.10.2016, 11:04

2

Alexeyon, у вас ошибка в запросе динамического списка, покажите текст запроса и код установки параметров запроса.



0



sigmov

584 / 371 / 63

Регистрация: 22.07.2009

Сообщений: 875

Записей в блоге: 4

13.10.2016, 04:51

3

Цитата
Сообщение от Alexeyon
Посмотреть сообщение

ЭлементОтбора.ПравоеЗначение = («Документ.Списание»);

А ежели так:

1C
1
ЭлементОтбора.ПравоеЗначение = ТИП("ДокументСсылка.Списание");



0



Alexeyon

0 / 0 / 0

Регистрация: 29.12.2014

Сообщений: 45

17.10.2016, 06:00

 [ТС]

4

Цитата
Сообщение от GreenkA
Посмотреть сообщение

Alexeyon, у вас ошибка в запросе динамического списка, покажите текст запроса и код установки параметров запроса.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 ВЫБРАТЬ РАЗЛИЧНЫЕ
    ЖурналСклада.Ссылка,
    ЖурналСклада.Дата КАК Дата,
    ЖурналСклада.ПометкаУдаления,
    ЖурналСклада.Номер КАК Номер,
    ЖурналСклада.Проведен,
    ЖурналСклада.Склад,
    ЖурналСклада.Коментарий,
    ЖурналСклада.Организация,
    ЖурналСклада.ОписаниеТабличнойЧасти,
    ЖурналСклада.Тип КАК ТипДокумента ИЗ
    ЖурналДокументов.ЖурналСклада КАК ЖурналСклада
 
СГРУППИРОВАТЬ ПО
    ЖурналСклада.Ссылка,
    ЖурналСклада.ПометкаУдаления,
    ЖурналСклада.Проведен,
    ЖурналСклада.Склад,
    ЖурналСклада.Коментарий,
    ЖурналСклада.Организация,
    ЖурналСклада.ОписаниеТабличнойЧасти,
    ЖурналСклада.Тип,
    ЖурналСклада.Дата,
    ЖурналСклада.Номер



0



Эксперт 1С

3053 / 2000 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

17.10.2016, 08:07

5

Alexeyon, у вас в тексте запроса отсутствует условие, на которое ругается выше.



0



  1. Здравствуйте. Делаю конфигурацию в 1с 8.3. Специфика -проектная деятельность. Есть справочники: Объекты(Код, Наименование, ГИП, РПО,СтатусОбъекта),Сотрудники(Код,Наименование…) и т.д. Документы: РаспределительнаяВедомость(Объект, ГИП, РПО, ВремяГИП, ВремяРуководителяПО, ФактГИП, ФактРПО, ОстатокГИП, ОстатокРПО); ОтчетРуководителяПроекта(РуководительПроекта, СтатусРуководителя,ЧасовВОтчете). Типы данных реквизитов:
    ГИП,РПО — СправочникСсылкаСотрудники
    СтатусОбъекта — ПеречисленияСсылка.СтатусОбъекта
    ПланГИП,ПланРПО, ФактГИП, ФактРПО, ОстатокГИП,ОстатокРПО — Число, 10,3
    РуководительПроекта — СправочникСсылкаСотрудники
    СтатусРуководителя — ПеречисленияСсылка.СтатусРуководителя
    ЧасовВОтчете — Число, 10,3
    Руководители проектов (ГИП и РПО) должны формировать отчеты — сколько они затратили времени на работу по своим объектам. Дляэтого я добавил обработку с реквизитами: РуководительПроекта — СправочникСсылкаСотрудники; СтатусРуководителяПроекта — ПеречисленияСсылка.СтатусРуководителя;СтатусОбъектов — ПеречисленияСсылка.СтатусОбъекта. Также в реквизиты формы обработки добавил динамический список «ОбъектыДляОтчета»,в который должен выводиться перечень объектов в зависимости от выбранного руководителя, статуса руководителя и статуса объектов. Для списка я сделал запрос(Свойство — Объект.НастройкаСписка):

    ВЫБРАТЬ РАЗРЕШЕННЫЕ
        Объекты.Наименование КАК ШифрОбъекта,
    Объекты.НаименованиеПолное КАК НаименованиеОбъекта,
    РаспределительнаяВедомость.ВремяГИП,
    РаспределительнаяВедомость.ВремяРуководителяПО,
    РаспределительнаяВедомость.ФактГИП,
    РаспределительнаяВедомость.ФактРПО,
    РаспределительнаяВедомость.ОстатокГИП,
    РаспределительнаяВедомость.ОстатокРПО,
    Объекты.Активность КАК СтатусОбъекта
    ИЗ
        Справочник.Объекты КАК Объекты
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределительнаяВедомость КАК РаспределительнаяВедомость
        ПО (РаспределительнаяВедомость.Объект = Объекты.Ссылка)
    ГДЕ
    (Объекты.ГИП = &ГИП
        И Объекты.Активность = &СтатусОбъекта
        ИЛИ Объекты.РуководительПО = &РПО
        И Объекты.Активность = &СтатусОбъекта)

    в модуле обработки прописал процедуры:

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

    т.е. содержимое динамического списка должно меняться в зависимости от выбранного статуса объекта и статуса руководителя проекта. При запуске в режиме предприятия вылетает ошибка:
    Ошибка при выполнении запроса. Ошибка при выполнении запроса.
    по причине:
    Ошибка получения данных
    по причине:
    Ошибка создания набора данных «НаборДанныхДинамическогоСписка»
    по причине:
    Ошибка при исполнении запроса набора данных
    по причине:
    {(14, 17)}: Не задано значение параметра «ГИП»
    (Объекты.ГИП = <<?>>&ГИП

    Что не так делаю? Помогите пожалуйста.


  2. Dem0lisher

    Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.271
    Симпатии:
    106
    Баллы:
    104

    В модуле обработки или в модуле формы обработки? Модуль объекта обработки про форму ничего не знает, соответственно и параметры вам не установит.


  3. Dem0lisher

    Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.271
    Симпатии:
    106
    Баллы:
    104

    Когда открывается форма — выполняется «ПриСозданииНаСервере» и в этот момент выполняется запрос дин. списка.
    У вас запрос дин. списка содержит параметр «ГИП» , который вы не задаете, поэтому он и ругается.
    А уже потом нажатием кнопки наверное вы предполагали изменить текст запроса.
    Т.е надо либо менять текст запроса в процедуре «ПриСозданииНаСервере», либо устанавливать параметр ГП по умолчанию при первоначальном открытиии обработки (также «ПриСозданииНаСервере»),
    а потом уже надеяться на изменение текста запроса ручками с клиента

  4. а чем не та установка параметра?

    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
        Объект.РуководительПроекта = ПараметрыСеанса.ТекущийПользователь.ФизЛицо;
    

    т.е. лучше создать кнопку с командой и сперва выбирать статусы объектов и руководителя ,а потом по нажатию кнопки заполнять список, назначая новый текст запроса с установкой выбранных параметров?


  5. Dem0lisher

    Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.271
    Симпатии:
    106
    Баллы:
    104

    Операция присваивания. Слева от знака равенства что находится?
    Параметр в запросе устанавливается по-другому.
    Вы же уже устанавливали параметр в другой процедуре, а тут вдруг незнаете, как.. Списывать нехорошо! :)

  6. я не списываю)) я пытаюсь сначала в реквизит РуководительПроекта записать текущего пользователя, а затем установить этого пользователя как значение параметра для запроса кодом:

    ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("ГИП",Объект.РуководительПроекта);

  7. Dem0lisher

    Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.271
    Симпатии:
    106
    Баллы:
    104

    Вот так и установите все параметры «ПриСозданииНаСервере»:
    &ГИП
    &СтатусОбъекта
    &РПО

  8. спасибо, работает. Пока разобрался))


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

  • Ошибка создания файла базы данных 1cv8tmp 1cd
  • Ошибка создания менеджера объектов слк каталог не обнаружен
  • Ошибка создания файла автосохранения getfilename код ошибки 19 гранд смета
  • Ошибка создания контракта еаист
  • Ошибка создания файла hiwatch