1с имя команды недопустимое значение
Ошибка возникает в том случае, когда выполняется попытка сохранить объект (элемент или группу справочника, плана видов характеристик и т.п.) с кодом, который уже имеется в информационной базе. В большинстве случаев при интерактивной работе, достаточно изменить код объекта вручную (увеличив на единицу) и попытаться сохранить его снова.
Но есть особые случаи, когда такой способ решения проблемы не поможет: например, когда диапазон номеров, выделенных для данного справочника, закончился. В этом случае текст ошибки будет выглядеть так: «Значение 999 поля код не уникально» . В этом случае рекомендуется выполнить следующие действия:
- Попытаться высвободить свободные коды, удалив помеченные на удаление объекты;
- Затем, выполнить процедуру перенумерации объектов (справочника, плана видов характеристик и т.п.) и вызвать программно метод ОбновитьНумерациюОбъектов() для проблемного объекта метаданных;
- Если не помогло, увеличить в конфигураторе длину кода объекта метаданных (справочника, плана видов характеристик и т.п.) и также программно вызвать метод ОбновитьНумерациюОбъектов() для проблемного объекта метаданных;
Добавить комментарий Отменить ответ
Рубрики
Свежие записи
- Функция ПолучитьСклоненияСтроки()
- Ошибка «Тип не определен (ФормаКлиентскогоПриложения)»
- Процедура ПодключитьОбработчикОповещения()
- Недопустимое значение параметра номер 1 ПодключитьОбработчикОжидания()
- Процедура ОтключитьОбработчикОжидания()
- Процедура ПодключитьОбработчикОжидания()
- Что такое Символы.ПС в 1с 8?
- Свойство Символы.* глобального контекста
- Процедура ПолучитьЗаголовокСистемы()
- Процедура УстановитьЗаголовокКлиентскогоПриложения()
Свежие комментарии
- Александр К. к записи Функция ЗначениеЗаполнено()
- Олег к записи Функция ЗначениеЗаполнено()
- Александр К. к записи Как преобразовать таблицу значений в структуру?
- Михаил к записи Как преобразовать таблицу значений в структуру?
- Александр К. к записи Как получить формат даты месяц год?
СКД = ПолучитьИзВременногоХранилища(АдресСКД); // Отладчик ругается на эту строку.
УстановитьПоляОтбораПоСКД(СКД);
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));
КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);
КомпоновщикНастроек.Восстановить();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СКД,
КомпоновщикНастроек.ПолучитьНастройки(), , ,
Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТаблицаРезультатаКомпановки = ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
ПостроительЗапроса = Новый ПостроительЗапроса();
Источник = Новый ОписаниеИсточникаДанных(ТаблицаРезультатаКомпановки);
ПостроительЗапроса.ИсточникДанных = Источник;
ПостроительЗапроса.Выполнить();
Если НЕ СохранятьИзмененияПользователя Тогда
Объект.Реализация.Очистить();
Объект.Оплата.Очистить();
Иначе
мТаблицаОплат = Объект.Оплата.Выгрузить();
Объект.Оплата.Очистить();
КонецЕсли;
Пока РезультатЗапроса.Следующий() Цикл
Если НЕ СохранятьИзмененияПользователя Тогда
Если РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Приход Тогда
НоваяСтрока = Объект.Реализация.Добавить();
ИначеЕсли РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Расход Тогда
НоваяСтрока = Объект.Оплата.Добавить();
КонецЕсли;
ЗаполнитьЗначенияСвойств(НоваяСтрока, РезультатЗапроса);
ДобавитьСвязанныеДокументы(РезультатЗапроса, РезультатЗапроса.ВидыДвиженийПриходРасход);
Иначе // Скорректируем ТЧ Оплаты, т.к. в реализации было удаление строки
Если РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Расход Тогда
НоваяСтрока = Объект.Оплата.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, РезультатЗапроса);
МассивСтрок = мТаблицаОплат.НайтиСтроки(Новый Структура("ИдентификаторДокумента, ИдентификаторКорДокумента",РезультатЗапроса.ИдентификаторДокумента,РезультатЗапроса.ИдентификаторКорДокумента));
Если НЕ МассивСтрок.Количество() = 0 Тогда
НоваяСтрока.Счет = МассивСтрок[0].Счет;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если НЕ мВремТаблицаРеализации.Количество() = 0 Тогда
Для Каждого СтрокаРеализации ИЗ Объект.Реализация Цикл
СтрокаТЗ = мВремТаблицаРеализации.Найти(СтрокаРеализации.ИдентификаторДокумента, "ИдентификаторДокумента");
Если НЕ СтрокаТЗ = Неопределено Тогда
СтрокаРеализации.Счет = СтрокаТЗ.Счет;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если НЕ мВремТаблицаОплаты.Количество() = 0 Тогда
Для Каждого СтрокаОплаты ИЗ Объект.Оплата Цикл
МасивСтрок = мВремТаблицаОплаты.НайтиСтроки(Новый Структура("ИдентификаторДокумента, ИдентификаторКорДокумента", СтрокаОплаты.ИдентификаторДокумента, СтрокаОплаты.ИдентификаторКорДокумента));
Если НЕ МасивСтрок.Количество() = 0 Тогда
СтрокаОплаты.Счет = МасивСтрок[0].Счет;
КонецЕсли;
КонецЦикла;
КонецЕсли;
: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища)
СКД = ПолучитьИзВременногоХранилища(АдресСКД);
Недопустимое значение параметра (параметр номер '1')
Представляю вашему вниманию небольшую статью-справку по разработке внешней печатной формы с использованием БСП и возможностью ведения диалога с пользователем. Запрос различных данных и т. д.
Статья очень полезная. В БСП всегда найдется что-то, что заставит споткнуться на ровном месте и статьи подобные этой делают разработку намного проще. Однозначно плюс.
Ничего полезного не нашел. Исходя из статьи смотрим как автор предлагает оформить код процедуры Печать в форме на клиенте.
как минимум естественно получаем
: Переменная не определена (ВыполняемаяКоманда)
ПараметрыОткрытия.ИсточникДанных = >ВыполняемаяКоманда.ДополнительнаяОбработкаСсылка; (Проверка: Тонкий клиент)
: Переменная не определена (МассивОбъектов)
ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения = >МассивОбъектов; (Проверка: Тонкий клиент)
ВнешняяОбработка.НакладнаяНаСписание.Форма.Форма.Форма(8,37)>
Да автор не может нормально статью написать, у меня такие же ошибки. Только при печати они не появляются, т.к. в эту процедуру программа даже не заходит. Буду дальше искать.
Выполняемая команда - элемент стандартной структуры. Массив объектов, переменная передающаяся в процедуру печать.
В справке по БСП это описано, хоть и, как обычно, криво. Что там надо определять в коде известно только вам.
Ругается на Недопустимое значение параметра ПараметрКоманды при вызове метода УправлениеПечатьюКлиент.ВыполнитьКомандуПечати.
Ожидалось: Массив, ЛюбаяСсылка. Возникает при открытии общей формы. Дело в том, что ДополнительнаяОбработкаСсылка не присваивает значение ссылки на обработку, а равняется пустому значению.
Коллеги. Я поправил кое-что. Вот что в итоге в модуле формы:
В модуле обработки местами код следующий:
Обратите внимание, что я вернулся к серверному вызову команды печати:
&НаКлиенте
Процедура Печать(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
ПараметрыОткрытия = Новый Структура("ИсточникДанных, ПараметрыИсточника");
ПараметрыОткрытия.ПараметрыИсточника = Новый Структура("ИдентификаторКоманды, ОбъектыНазначения");
ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды = ИдентификаторКоманды;
ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения = ОбъектыНазначенияМассив;
ОткрытьФорму("ВнешняяОбработка.ИнвентарнаяКарточка52н194н_ИнфГ.Форма.Форма",
,
ЭтаФорма,
УникальныйИдентификатор.
Новый ОписаниеОповещения("ПечатьЗавершение",ЭтаФорма,ПараметрыОткрытия),
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца
);
Обработка демонстрирует пример вывода таблицы значений с произвольной структурой на управляемую форму 8.2. Вывод таблицы реализован в виде отдельной процедуры, в которую таблица значений передается в качестве параметра. Это позволяет встроить её в общий модуль, и удобно использовать при необходимости.
Внешняя обработка. Таблица значений добавлена в реквизиты и элементы формы (для размещения на форме в нужном месте). Структура таблицы не определена (колонок нет). Вывод осуществляется одной процедурой, в качестве параметра в которую передаётся таблица значений. Дополнительно можно для созданной таблицы определить обработчики событий.
Специальные предложения
chemezov; user717534; Alex1c; V_Ladeska; LuxVeritatis; Stref75; Alien_job; ilialin; taishy; as-lubava; user774630; igormiro; tinkerbell; purgin; lost-s0u1; jura_t_vega; Annita; абв-вба; dusha0020; balbesinka; Lena272; gigapevt; tolyan_ekb; Styvi; Ulfhedhinn; KRJ; acanta; ikar-nikolay; dour-dead; Evmil; pchelkatoo; petrov_al; + 32 – Ответить
Спасибо! Программно добавил колонки в тз и долго мучился с выводом их на форму. Постоянно была Ошибка при установке значения атрибута контекста (ПутьКДанным) по причине: Недопустимое значение.
Оказалось что перед добавлением элементов формы нужно еще реквизиты формы добавить (ИзменитьРеквизиты).
Если бы в коде (3) была проверка на ПрограммноСозданныйРеквизит да и еще для внешней обработки, то юзал бы Ваш код "as is":)
Типовое создание элементов/реквизитов управляемой формы.
В чем уникальность публикации? Или просто как визуализация книжек по упр. интерфейсу?
Уникальности никакой нет, на неё и не претендую. Обработка находится в нужное время, в нужном месте, пользуется спросом. У самого на днях стояла такая задача. Пришлось порыться в интернете, литературы под рукой не было. На инфостарте не нашел.
Особенностью обработки считаю универсальную процедуру, т.к. в инете есть примеры с конкретной структурой.
(5) hiduk, Большое спасибо за помощь. В 82 из мелочи любят выдумывать сложности. Туда сюда гонять реквизиты и т д. Не понимаю зачем так заморачиваться. Сам не додумался. Большое спасибо! Получилось с вашей помощью .
Спасибо за готовое решение.
Скопировал код, буду использовать в ближайшее время - ибо пока обходился без заполнения таблиц на УФ.
Я пробовал вышеуказанный код - у меня не работало удаление таблицы значений из управляемой формы. В итоге сделал свою модификацию:
Удаление таблицы значений из управляемой формы
Удалять реквизиты таблицы значений нет нужды - достаточно удалить саму таблицу значений.
Ну и до кучи - процедура вывода таблицы значений на управляемую форму:
&НаСервере
Процедура УдалитьТЗ(УФ, НомерТЗ="1") Экспорт
ИмяТЗНаФорме = ИмяТаблицы + НомерТЗ;
// Если удаляемая таблица значений действительно присутствует на данной управляемой форме
Если НЕ УФ.Элементы.Найти(ИмяТЗНаФорме) = Неопределено Тогда
// Сначала удалим реквизит "Таблица значений" из УФ
МассивИменУдаляемыхРеквизитов = Новый Массив;
Если НЕ УдаляемыйЭлемент = Неопределено Тогда
// Теперь удалим элемент формы, который служил для визуального отображения
// удалённого реквизита УФ "Таблица значений"
УФ.Элементы.Удалить(УдаляемыйЭлемент);
(10) tolyan_ekb, Можно наверное:) Попробуйте определить переменную ТЗОбработчиковСобытий как ТЗ. Добавить туда строку, колонка ИмяСобытия = "ПриАктивацииСтроки". А в модуле формы определить процедуру с именем "ИмяТаблицы" + "ПриАктивацииСтроки". В общем поройте в этом направлении.
Здравствуйте.
А как сделать группы. Ну чтобы при отображении на форме несколько колонов были объединены в Группу колонок.
(13) hiduk,
Повозился немного и сделал. В принципе не так сложно.
Но я делал для своей конфы, поэтому не доводил ее до универсальности.
Если интересно могу прислать.
Я немного подправил код вывода ТЗ: ранее он позволял вывести на управляемую форму только одну таблицу значений. Либо нужно было удалять сначала одноимённую ТЗ. Теперь ничего удалять не надо, и можно выводить на форму сколько угодно ТЗ, причём процедура принимает только один параметр - саму таблицу значений и ничего лишнего:
Но ещё интереснее было бы печатать таблицу значений в независимый табличный документ. Как бы это сделать?
Спасибо за обработку, очень удобнов вставлять и юзать. Даже внутрь не лазил процедур, юзал как функцию.
Если у таблицы тип содержит массив, не выводится.
Пришлось сделать проверку, ну и потом добавление колонок в попытке-исключении.
Просмотры 54959
Загрузки 318
Рейтинг 45
Создание 21.06.13 22:59
Обновление 21.06.13 22:59
№ Публикации 191774
Конфигурация Конфигурации 1cv8
Операционная система Windows
Страна Россия
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Не указано
См. также
Альтернативный способ добавления элементов и реквизитов на формы Промо
Предлагаю альтернативный вариант добавления динамически создаваемых элементов и реквизитов на форму.
1 стартмани
09.09.2019 20421 39 bmk74 8
Выделение текущей строки в отчете (сделать сразу во всех отчетах и ничего не сломать)
Как за 10 минут упростить работу с отчётами программистам и пользователям. Добавить ВО ВСЕ ОТЧЁТЫ механизм автоматического выделения текущей строки отчёта (той, на которой установлен курсор). И ПРИ ЭТОМ НИЧЕГО НЕ СЛОМАТЬ.
1 стартмани
17.10.2021 5244 6 Патриот 48
Работа с картами в 1С на примере бесплатной библиотеки Leaflet
Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.
1 стартмани
31.03.2021 14942 49 Parsec1C 18
Универсальные функции для работы с цветом в 1С
Все на что мы смотрим состоит из цветов в том числе и то, что есть в конфигурациях на 1С :) За время своей работы скопилось достаточно 1С-функций, которые что-то делают с цветом. Это публикация - попытка их систематизировать. Что есть: работа с HEX, HSV, HSL, CMYK представлениями цвета, конвертации из одной системы хранения в другую, работа с каталогами RAL, работа со случайными цветами, контрастные и инверсные цвета, трансформация цветов (осветление, затемнение, градации серого, смешивание цветов), работа с именованными CSS-цветами и т.п. В общем концептуально.
1 стартмани
07.08.2020 7078 18 Diversus 8
Расширенная настройка динамического списка УФ Промо
Открывая управляемую форму выбора и не увидев там видимых в форме списка элементов, часто хочется узнать причину их отсутствия там, т. е. какой наложен отбор. Но стандартная настройка списка управляемой формы показывает только пользовательские настройки, скрывая от пользователя фиксированный отбор. Предлагаю вам расширение конфигурации с расширенной настройкой динамического списка, отображающей пользователю кроме пользовательских настроек еще фиксированные.
1 стартмани
31.05.2017 41713 164 tormozit 25
Делаем из СКД Excel (ну, почти)
Несложный в использовании способ внедрить в обычный отчет СКД возможность редактировать значения ресурсов отчета (а-ля Excel) и получать отредактированные значения для дальнейшей обработки.
1 стартмани
26.01.2020 18470 29 herfis 16
Индикация прогресса выполнения фонового задания на управляемой форме внешней обработки
Внешняя обработка с фоновым выполнением и индикацией процесса для любой конфигурации на основе БСП >= 2.3 без изменения конфигурации и встраивания обработки в "Дополнительные отчеты и обработки".
1 стартмани
27.12.2019 24027 45 1sig 16
Декомпиляция условного оформления
Обработка автоматически генерирует полный код создания условного оформления формы любой сложности. Достаточно настроить для формы в конфигураторе условное оформление, а затем выбрать данную форму в обработке. В результате будет сгенерирован программный код создания условного оформления.
2 стартмани
23.12.2019 13912 62 XilDen 7
Открывашка ячеек таблиц Промо
Глобальное сочетание клавиш для открытия объекта по ссылке из текущей ячейки любой таблицы в большинстве управляемых форм
1 стартмани
27.10.2018 24720 14 tormozit 38
Многоуровневые списки выбора с оформлением элементов
Данная статья - попытка решить один маленький кусочек большой проблемы платформы 1С, а именно - бедные и невыразительные пользовательские интерфейсы. Поскольку 1С в режиме управляемого приложения позволяет задействовать веб-клиент, то хочется реализовывать интерфейсы как у взрослых веб-приложений - красивые, дружелюбные для пользователя и, желательно, с положительным UX. Возможно, кто-то со мной не согласится и скажет, что учетные системы должны быть строгие и линейные. Но мы все знаем, что 1С - это уже не только про бухгалтерию. Небольшое отступление для разработчиков, работающих с типовыми конфигурациями. Я не знаю, использует ли фирма 1С что-то похожее в своих разработках. Если да, то данная статья навряд ли будет вам полезна.
1C. "Недопустимое значение параметра" при вызове макета в расширении
Дано: 1С (в данном примере конфигурация 1С:Университет ПРОФ), платформа 8.3.10. Создано расширение, в котором к документу добавлен новый макет. В модуле менеджера документа есть процедура, формирующая печатную форму на базе макета. Необходимо было заменить данную процедуру (при помощи директивы расширения "&Вместо") и заменить вызов встроенного макета на наш, добавленный в расширение.
Проблема: при вызове добавленного макета в момент его печати в режиме "1С:Предприятие" возникала ошибка при получении макета:
: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет ("Расш1_МакетЗаявлениеПоступающего");
по причине:
Недопустимое значение параметра (параметр номер '1')
Код, вызывающий ошибку:
Варианты решения:
1. Добавить функцию, выполняемую на сервере, которая вызовет добавленный макет из документа:
А затем из заменяемой процедуры вызвать эту функцию:
(как оказалось этот способ не нужен. Причину читайте ниже)
2. Другой вариант - перенести макеты в общие и следующей командой вызвать (получить) макет из "Общие макеты":
------
Видимо это всё-таки какой-то глюк платформы (протестировано на 8.3.10.2252 и 8.3.10.2299), но если просто добавить пустой макет в общие макеты в расширении, то команда, ранее вызывавшая ошибку (ПолучитьМакет из макета документа без допфункций на сервере), начинает нормально работать. При удалении пустого общего макета, команда вызова макета из документа снова вызывает ошибку (даже если вынесена в функцию на сервере, как показано в способе 1).
Т.е. если всё-таки хочется сделать макеты нормально в документе (ожидая, что когда-нибудь этот глюк исправят), то нужно сделать макет-заглушку в общих макетах. Например:
При этом, если в расширении добавлено несколько макетов к документу, то "заглушки" достаточно только одной.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.
Читайте также: