Ошибка при вызове конструктора структура недопустимое значение параметра параметр номер 1

Afinogen, Функция СведенияОВнешнейОбработке() Экспорт
   СписокНазначений = Новый Массив();
   СписокНазначений.Добавить(«Справочники.Номенклатура»);

      СписокКоманд = Новый ТаблицаЗначений;
   СписокКоманд.Колонки.Добавить(«Представление»);
   СписокКоманд.Колонки.Добавить(«Идентификатор»);
   СписокКоманд.Колонки.Добавить(«Использование»);
   СписокКоманд.Колонки.Добавить(«ПоказыватьОповещение»);
   СписокКоманд.Колонки.Добавить(«Модификатор»);

      НоваяСтрока = СписокКоманд.Добавить();
   НоваяСтрока.Представление = «Распечатать карточку номенклатуры»;
   НоваяСтрока.Идентификатор = «РаспечататьКарточку»;
   НоваяСтрока.Использование = «ВызовСерверногоМетода»;
   НоваяСтрока.ПоказыватьОповещение = Ложь;
   НоваяСтрока.Модификатор = «ПечатьMXL»;

         Сведения = Новый Структура();
   Сведения.Вставить(«Наименование», «Карточка номенклатуры»);
   Сведения.Вставить(«Назначение», СписокНазначений);
   Сведения.Вставить(«Информация», «Это наша обработка»);
   Сведения.Вставить(«Вид», «ПечатнаяФорма»);
   Сведения.Вставить(«Версия», «Версия 1.0»);
   Сведения.Вставить(«БезопасныйРежим», Ложь);
   Сведения.Вставить(«Команды», СписокКоманд);

      Возврат Сведения;

   КонецФункции   

Процедура Печать(МассивОбъектов,  КоллекцияПечатныхФорм,ОбъектыПечати, ПараметрыВывода) Экспорт

            УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
                                                «РаспечататьКарточку»,
                                                «Распечатать карточку номенклатуры»,
                                                ПечатьКарточкиНоменклатуры(МассивОбъектов[0],ОбъектыПечати));

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

Функция ПечатьКарточкиНоменклатуры (Ном, ОбъектыПечати)
ТаблДок = Новый ТабличныйДокумент ();
Макет = ПолучитьМакет(«Карточканоменклатуры»);
ОбластьШапки = Макет.ПолучитьОбласть(«Шапка»); 
ОбластьИнформации  = Макет.ПолучитьОбласть(«Информация»);   

//Заполнение параметров
ОбластьШапки.Параметры.Номенклатура =Ном.Наименование;       
ОбластьИнформации.Параметры.Номенклатура =Ном.ВидНоменклатуры;
ОбластьИнформации.Параметры.Номенклатура =Ном.Наименование; 
ОбластьИнформации.Параметры.Номенклатура =Ном.Артикул;
ОбластьИнформации.Параметры.Номенклатура =Ном.ЕдиницаИзмерения;
ТаблДок.Вывести(ОбластьШапки); 
ТаблДок.Вывести(ОбластьИнформации);

      Конецфункции

Приложение

Здравствуйте, Лидия!
Это ошибка разработчиков в обновлении 3.0.109. Что неприятно — она еще не зарегистрирована, поэтому нужно написать на горячую линию 1С о ней и дожидаться исправления в ближайшем обновлении.

Работа над вашим вопросом была проведена с анализом программного кода.
Вы не указали свою платформу, но судя по совместимости 8.3.16 — это, скорее всего, 8.3.20.
Я все тестируемые действия выполняла на платформе 8.3.20.1590

Первоначально до обновления Уведомление о контролируемых иностранных компаниях формировалось, проверялось и выгружалось нормально.

Tuutish

0 / 0 / 0

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

Сообщений: 4

1

1C 8.x

13.04.2021, 22:17. Показов 23996. Ответов 4

Метки база, база данныйх, База данных (Все метки)


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

Помогите пожалуйста

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
&НаКлиенте
Процедура ДатаВыездаПриИзменении(Элемент)
    Объект.КолДнейПроживания = (Объект.ДатаВыезда - Объект.ДатаЗаезда) / (24*60*60) + 1// Вставить содержимое обработчика.
КонецПроцедуры
 
&НаКлиенте
Процедура КомнатаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    Элемент.СписокВыбора.ЗагрузитьЗначения(ПолучитьСписокСвободныхНомеров());
    
КонецПроцедуры
 
&НаСервере
Функция ПолучитьСписокСвободныхНомеров()
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
        |   Номер.Ссылка КАК Ссылка
        |ПОМЕСТИТЬ втНомера
        |ИЗ
        |   Справочник.Номер КАК Номер
        |ГДЕ
        |   НЕ Номер.ПометкаУдаления
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   тбНомер.Ссылка КАК Номер,
        |   ЕСТЬNULL(СвободныеМестаОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, 
        |   &ДатаЗаезда как Дата
        |ПОМЕСТИТЬ вт
        |ИЗ
        |   втНомера КАК тбНомер
        |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеМеста.Остатки(&ДатаЗаезда, ) КАК СвободныеМестаОстатки
        |       ПО тбНомер.Ссылка = СвободныеМестаОстатки.Номер
        |";
    Запрос.УстановитьПараметр("ДатаЗаезда",Объект.ДатаЗаезда);
    
    тДата = Объект.ДатаЗаезда + 43200; нм = 1;
    Пока тДата<Объект.ДатаВыезда Цикл 
        
        Запрос.Текст = Запрос.Текст +
            "
            |ОБЪЕДИНИТЬ ВСЕ
            |
            |ВЫБРАТЬ
            |   тбНомер.Ссылка,
            |   ЕСТЬNULL(СвободныеМестаОстатки.КоличествоОстаток, 0),
            |   &Дата"+Формат(нм,"ЧГ=")+"
            |ИЗ
            |   втНомера КАК тбНомер
            |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеМеста.Остатки(&Дата"+Формат(нм,"ЧГ=")+", ) КАК СвободныеМестаОстатки
            |       ПО тбНомер.Ссылка = СвободныеМестаОстатки.Номер
            |";
        Запрос.УстановитьПараметр("Дата"+Формат(нм,"ЧГ="),тДата);
        тДата = тДата + 43200; нм = нм + 1;
    КонецЦикла;
    
    Запрос.Текст = Запрос.Текст + 
        "
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |   тбНомер.Ссылка,
        |   ЕСТЬNULL(СвободныеМестаОстатки.КоличествоОстаток, 0), &ДатаВыезда
        |ИЗ
        |   втНомера КАК тбНомер
        |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеМеста.Остатки(&ДатаВыезда, ) КАК СвободныеМестаОстатки
        |       ПО тбНомер.Ссылка = СвободныеМестаОстатки.Номер
        |
        |";
    
    Запрос.УстановитьПараметр("ДатаВыезда",Объект.ДатаВыезда);
 
    Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Номер");
    
КонецФункции
 
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элементы.Комната.СписокВыбора.Добавить(Объект.Комната);
КонецПроцедуры

Изначально все работало, потом что-то произошло и выдает ошибку:
{Документ.Размещение.Форма.ФормаДокумента.Форма(75)}: Ошибка при вызове метода контекста (ВыгрузитьКолонку)
Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(«Номер»);
по причине:
Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции)
Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции)

Не понимаю как исправить



0



1195 / 733 / 212

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

Сообщений: 5,385

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

13.04.2021, 22:55

2

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

|ПОМЕСТИТЬ вт



0



0 / 0 / 0

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

Сообщений: 4

14.04.2021, 10:05

 [ТС]

3

Можно уточнить? это удалить? Если удалять, то тогда тоже ошибка

Добавлено через 4 минуты
Можно уточнить? это удалить? Если удалять, то тогда тоже ошибка



0



1195 / 733 / 212

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

Сообщений: 5,385

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

14.04.2021, 10:08

4

судя по всему, у вас окончательный запрос формируется в
|ВЫБРАТЬ
| тбНомер.Ссылка КАК Номер,
| ЕСТЬNULL(СвободныеМестаОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
| &ДатаЗаезда как Дата
|ПОМЕСТИТЬ вт
то есть в итоговой таблице у вас нет никаких столбцов. у вас только временные таблицы.
поставьте точку остановки. вычислите ваш запрос и посмотрите, какие там столбцы.
программа же пишет, что НЕТ колонки номер



0



Модератор

Эксперт 1С

3724 / 2918 / 575

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

Сообщений: 11,491

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

16.04.2021, 00:50

5

Лучший ответ Сообщение было отмечено Tuutish как решение

Решение

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

это удалить?

Да в 31й строке



0



IT_Exp

Эксперт

87844 / 49110 / 22898

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

Сообщений: 92,604

16.04.2021, 00:50

5

Ошибка при обновлении 1С 8 КА 2 с подредакции 2.5.8 на 2.5.9: Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции). {РегистрСведений.СловарьСопоставленияНоменклатурыБЭД.МодульМенеджера(41)}:ЗаполнитьСловарьСопоставленияН

Описание ошибки:
«Проблема с обработчиками» была встречена при выполнении обработчиков обновления базы Комплексная автоматизация с релиза подредакции 2.5.8.287 на релиз подредакции 2.5.9.119. «Не все процедуры удалось выполнить» из дополнительных процедур обработки данных. Стандартный способ решения, предлагаемый разработчиками, не помог.

Найденные решения:

Данная проблема и последующее ее решение может поджидать Вас не только в конкретной конфигурации, но и в других, которые работают в режиме управляемого приложения, и могут быть «построены» с использованием Библиотеки стандартных подсистем (БСП).

1C 8 при обновлении проблемы с обработчиками, не все процедуры удалось выполнить
Рис. 1. Частный пример «проблемы с обработчиками», «не все процедуры удалось выполнить».

Общая рекомендация от 1С как подсказка в форме рекомендует открыть список дополнительных процедур обработки данных, перейдя по соответствующей ссылке и нажать в открывшемся окне на кнопку «Запустить», чтобы процесс принудительно снова выполнился.

1С 8, результат обновления программы с проблемой обработчиков
Рис. 2. Общая рекомендация о том, как исправить «проблемы с обработчиками» при обновлении в 1С 8.

В соответствии с рекомендацией — переходим по ссылке «Не все процедуры удалось выполнить» открываем форму списка «Дополнительные процедуры обработки данных». Находим копку «Запустить» и ожидаем.

Нажатие на изображении увеличит его
1С 8 ошибка, как исправить, решить, руководство, не все процедуры удалось выполнить
Рис. 3.  Форма списка «Дополнительные процедуры обработки данных» при обновлении в 1С 8

Если ошибка при дополнительной обработке носит не технический характер, то, возможно, что такой запуск избавит от ее. Но в обсуждаемом примере ошибка носила именно технический характер. И хоть сколько запускай — результат будет один и тот же. В частности, проблема была в участке кода:

Подробный текст ошибки:

Процедура «РегистрыСведений.СловарьСопоставленияНоменклатурыБЭД.ОбработатьДанныеДляПереходаНаНовуюВерсию» обработки данных завершилась с ошибкой:

Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции)

Технические подробности:
Ошибка выполнения фонового задания ДлительныеОперации.ВыполнитьСКонтекстомКлиента с идентификатором 10be6416-8958-4124-b61f-023b79cfb16f по причине
Ошибка при вызове метода контекста (ВыгрузитьКолонку)
{РегистрСведений.СловарьСопоставленияНоменклатурыБЭД.МодульМенеджера(246)}:Порция = ОбновляемыеДанные.ВыгрузитьКолонку(«СсылкаНаОбъект»);
{РегистрСведений.СловарьСопоставленияНоменклатурыБЭД.МодульМенеджера(41)}:ЗаполнитьСловарьСопоставленияНоменклатурыБЭД(Параметры);
{(1)}:РегистрыСведений.СловарьСопоставленияНоменклатурыБЭД.ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры[0])

Нажатие на изображении увеличит его
1С 8 ошибка при обновлении базы, при выполнении дополнительных процедур
Рис. 4. Ошибка при обновлении базы «Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции)».

Так как разрешить подобные «проблемы с обработчиками обновления данных» при обновлении баз 1С 8? Такая ошибка может поджидать не только в данном примере. Можно рассматривать два варианта — первый сразу пробовать исправлять код разработчиков, чтобы обработчик отработал после исправления. Второй — попробовать изменить порядок обновления. Еще раз отметим, что в данном примере выполнялось обновление с подредакции Комплексной автоматизации 2.5.8 на подредакцию 2.5.9, а значит, возможно может быть и в других конфигурациях, «построенных» на БСП (Библиотека стандартных подсистем), таких, как Управление торговлей ред. 11, ERP 2. И, скорее всего, переход с релиза …5.8.287 на релиз …5.9.119 во всех этих конфигурациях может сопровождаться такой ошибкой.

Итак, если имеется архив базы, созданный перед началом обновления, то можно попробовать другую комбинацию, другой порядок обновляемых релизов, предварительно восстановив базу. В данном же примере было еще выполнено обновление до релиза 2.5.8.303, потом обновление до подредакции 2.5.9.125. И при обновлении, при выполнении дополнительных процедур обработки данных все прошло без проблем и ошибок. Т.е. ошибка, которая содержалась, скорее всего, в коде релиза 5.9.119, была устранена в релизе 5.9.125. Можно, конечно, проверить по истории регистрации и исправления ошибок на сайте 1С. Но на это не было времени. И выбранный подход в обходе проблемы помог.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

05-12-2022

Журавлев А.С.
(Сайт azhur-c.ru)

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Pick a username
Email Address
Password

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

  • Ошибка при вызове конструктора сомобъект unknown error 0x80131700
  • Ошибка при вызове метода контекста bookmarks
  • Ошибка при вызове конструктора сомобъект 2147467262 0x80004002 интерфейс не поддерживается
  • Ошибка при вызове метода контекста authenticate
  • Ошибка при вызове конструктора сомобъект 2147221164 0x80040154 класс не зарегистрирован