1с переменная не определена данныерасшифровки
Добрый день!
Оформляю движения в модуле объекта документа "РасходнаяНакладная". Выдает ошибку ": Переменная не определена (Подразделение)
Запрос.УстановитьПараметр("Подразделение", >Подразделение);"
Вот код:
Переменная не определена
Короче вот в чем фишка: &НаКлиенте Процедура Проверить(Команда) НаборЗаписей =.
Переменная не определена
Вот код текста: Процедура КлиентПриИзменении(Элемент) Телефоы = Клиент.Телефоны;.
Переменная не определена
Скажите, пожалуйста, почему вот эта обработка не хочет работать? &НаКлиенте Процедура.
Если данный код выполняется в модуле объекта, то видимо надо поменять
antizilis, я так пробовала, но он все равно не находит переменную, только теперь это уже переменная "объект". И, вроде бы как, наоборот в модуле объекта "объект" писать не надо
antizilis, модуль объекта документа "РасходнаяНакладная", конфигурация 1С:Предприятие 8.3, учебная версия (8.3.8.1933), а значение посмотреть не могу - окно "Выражение" почему-то нельзя открыть
ну значит в документе вашем нет подразделения
или когда вы его проводите - оно не заполнено
больше вариантов-то нет
поставьте точку остановки на этой строке и посмотрите, чему равно подразделение и чему выпредполааете оно должно быть равно
и увиидте разницу
можно извратиться и написать выбор когда подразделение = справочники.подразделени.пустаяссылка() тогда истина иначе подразделение конец
тогда у вас по всему союзу сфомрируется документ
Sagaa, Сообщить(Подразделение); это если оно будет
но его нет, как говорит Tklwegsd.
значит что-то у вас в консерватории неправильно
Ошибка: переменная не определена
Перечитала все советы, все перепробовала. Никакого толка. Версия 8.2. Пожалуйста :( Скрин во.
Переменная не определена (Элементы формы)
Делаю форму по книги "1С Предприятие учимся программировать " Кашаева. Размещаю как в книги на.
Ошибка "Переменная не определена (РаботаСДиалогами)"
Здравствуйте! создал внешний отчет, в форме которого есть реквизит типа.
Переменная не определена
Доброго времени суток! Позавчера пришлось столкнуться с 1с Предприятие 8.2 Начал делать.
Переменная не определена
Переделываю форму приложения к ТН2. Требуется добавить столбец "Дата" и "Время" изготовления. В.
Переменная не определена
Всем привет :) Платформа 8.3 Бухгалтерия предприятия редакция 3.0.28.7 Столкнулся с.
Добрый день!
Никак не могу разобраться с данными расшифровки в управляемых формах. Конфигурация УТ 11.1.4.10. В отчете есть поля регистратор и контрагент. При нажатии на них двойным щелчком должны открываться соответственно документ и контрагент. Формирование отчета программное. При нажатии вместо расшифровки вылазит номер ячейкм. Что я делаю не так?
&НаСервере
Процедура СформироватьНаСервере()
Результат.Очистить();
ДокументРезультат = Новый ТабличныйДокумент;
// Схема компоновки данных
// Загрузка настроек
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
КомпоновщикНастроекКомпоновкиДанных = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(Настройки);
// Установка параметров данных
КомпоновщикНастроекКомпоновкиДанных.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Дата2", Отчет.Дата2);
КомпоновщикНастроекКомпоновкиДанных.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Дата1", Отчет.Дата1);
ОтборКонтрагент = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ПравоеЗначение;
КомпоновщикНастроекКомпоновкиДанных.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Контрагент", ОтборКонтрагент);
КомпоновщикНастроекКомпоновкиДанных.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ЧислоДнейПоУмолчанию", Отчет.ЧислоДнейПоУмолчанию);
КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы[0].ПравоеЗначение = ОтборКонтрагент;
КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы[0].Использование = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[0].Использование;
КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы[1].ПравоеЗначение = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[1].ПравоеЗначение;
КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы[1].Использование = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[1].Использование;
КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы[2].ПравоеЗначение = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[2].ПравоеЗначение;
КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор.Элементы[2].Использование = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[2].Использование;
КомпоновщикМакетаКомпоновкиДанных = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакетаКомпоновкиДанных.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроекКомпоновкиДанных.Настройки, ДанныеРасшифровки);
// Инициализация процессора компоновки
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, , ДанныеРасшифровки);
ПроцессорВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
Результат.ФиксацияСверху = 3;
Результат.ФиксацияСлева = 1;
Результат.Вывести(ДокументРезультат);
Элементы.Результат.ОтображениеСостояния.Видимость = ложь;
Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;
КонецПроцедуры
Мое почтение. Есть подозрение, что ДанныеРасшифровки уже определены на форме и их не надо переопределять. Попробуйте убрать эту строчку. (Не гарантирую, что сработает, просто предположение, на остаточной памяти)
(1) + я наврал. Судя по записям все верно. Надо просто описать свой механизм расшифровки. Как пример:
(2) а что должно быть в ДанныеРасшифровкиОтчета? Их надо как-то определить заранее? Процедура у меня на них ругается. И если пишу ДанныеРасшифровки, то тоже ругается
(4)блин, такая ошибка дурацкая была. каким-то образом из реквизитов формы был удален реквизит ДанныеРасшифровки, который похоже должен там обязательно быть. Как только его добавила, заработала стандартная расшифровка. Твой вариант кстати тоже работает, но его наверное лучше использовать для более сложной расшифровки.
Спасибо большое. Ты мне уже не в первый раз помогаешь, я у тебя в долгу)
Здравствуйте, коллеги! Сегодня поговорим о проблеме неопределенных переменных в 1С. Рядовой пользователь с данной ошибкой сталкиваться не должен, но если уж и произошло подобное при работе в типовой конфигурации 1С, которая никак не модифицировалась, возможно, у нас наклевывается проблема самого релиза, которая иссякнет при обновлении. В таком случае стоит связаться со специалистом, чтобы найти выход из ситуации.
Если же Вы сами занимаетесь разработкой и столкнулись с ошибкой, «Переменная не определена в 1С», то следует обратится к конфигуратору, найти, что за переменная и в какой именно момент не определена. Есть несколько вариантов решения, но нужно подбирать их с умом, ибо вполне возможно, что после неправильного исправления в одном месте, Вы получите кучу ошибок в других местах.
1. Проверка на определения 1С 8.3
Можно прописать перед ошибкой следующий код:
Если Не НашаПеременная = Неопределено Тогда
Соответственно, закрыв «Если» после, но тут как уже писалось нужно действовать аккуратно, возможно данная конструкция напрочь сломает весь последующий код. Гораздо лучше найти, где объявляется переменная и устранить ошибку.
2. Поиск объявления переменной 1С 8.3
Вполне возможен вариант, что ее просто забыли включить в передаваемые параметры функции или она не доступна в данном виде клиента. Такое случается, когда, например, обращаются из тонкого клиента к метаданным. В этом случае стоит переписать функцию или, возможно, объявить новую, но уже на сервере, которая вернет необходимые тонкому клиенту данные.
3. Обычная опечатка в программе 1С 8.3 Предприятие
Чтобы быстро в программе 1С 8.3 Предприятие проверить опечатка ли спровоцировала ошибку, просто скопируем переменную из объявления и вставим ее имя в то место, где случается ошибка. Можно сделать следующим образом, чтобы избежать таких ошибок в будущем:
Теперь, когда курсор останавливается на идентификаторе, все другие его упоминания будут выделены, как на следующем изображении:
Специалист компании ООО «Кодерлайн»
Дягилев Дмитрий Вадимович
Вас могут заинтересовать следующие статьи:
Здравствуйте, коллеги! Сегодня поговорим о проблеме неопределенных переменных в 1С. Рядовой пользователь с данной ошибкой сталкиваться не должен, но если уж и произошло подобное при работе в типовой конфигурации 1С, которая никак не модифицировалась, возможно, у нас наклевывается проблема самого релиза, которая иссякнет при обновлении. В таком случае стоит связаться со специалистом, чтобы найти выход из ситуации.
Если же Вы сами занимаетесь разработкой и столкнулись с ошибкой, «Переменная не определена в 1С», то следует обратится к конфигуратору, найти, что за переменная и в какой именно момент не определена. Есть несколько вариантов решения, но нужно подбирать их с умом, ибо вполне возможно, что после неправильного исправления в одном месте, Вы получите кучу ошибок в других местах.
1. Проверка на определения 1С 8.3
Можно прописать перед ошибкой следующий код:
Если Не НашаПеременная = Неопределено Тогда
Соответственно, закрыв «Если» после, но тут как уже писалось нужно действовать аккуратно, возможно данная конструкция напрочь сломает весь последующий код. Гораздо лучше найти, где объявляется переменная и устранить ошибку.
2. Поиск объявления переменной 1С 8.3
Вполне возможен вариант, что ее просто забыли включить в передаваемые параметры функции или она не доступна в данном виде клиента. Такое случается, когда, например, обращаются из тонкого клиента к метаданным. В этом случае стоит переписать функцию или, возможно, объявить новую, но уже на сервере, которая вернет необходимые тонкому клиенту данные.
3. Обычная опечатка в программе 1С 8.3 Предприятие
Чтобы быстро в программе 1С 8.3 Предприятие проверить опечатка ли спровоцировала ошибку, просто скопируем переменную из объявления и вставим ее имя в то место, где случается ошибка. Можно сделать следующим образом, чтобы избежать таких ошибок в будущем:
Теперь, когда курсор останавливается на идентификаторе, все другие его упоминания будут выделены, как на следующем изображении:
Специалист компании ООО «Кодерлайн»
Дягилев Дмитрий Вадимович
Вас могут заинтересовать следующие статьи:
Рассмотрим задачу изменения расшифровки по умолчанию в 1С отчетах, реализованных с помощью системы компоновки данных (далее СКД). Один из вариантов решения этой задачи – переопределение алгоритма расшифровки в модуле формы отчета СКД.
[Очень часто для отчетов, выполненных с помощью системы компоновки данных, требуется изменить расшифровку по умолчанию. Один из вариантов решения этой задачи – переопределение алгоритма расшифровки в модуле формы отчета.]
1. Расшифровка отчета 1С: Открытие значения группировки отчета
Процедура обработчик события Обработка Расшифровки поля табличного документа выполняется при двойном щелчке мышью по полю отчета.
Следующий код выполняет открытие формы документа, являющегося значением группировки отчета:
&На Клиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
Если КлючТекущегоВарианта = "Вариант1" Тогда //Проверяем текущий вариант
Документ = ПолучитьДокумент(Расшифровка); //получаем ссылку на документ
Если Документ = Неопределено Тогда
ПоказатьЗначение(, Документ);//открываем форму документа
Получим значения группировок для поля, которое пытаются «расшифровать»:
Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки); //данные расшифровки – (реквизит формы отчета) строка с адресом хранения данных расшифровки
Если Группировки.Количество() > 0 Тогда
Для Каждого ПолеГруппировка Из ПоляГруппировки Цикл //находим нужную группировку
Если ПолеГруппировка.Поле = "Документ" Тогда
2. Расшифровка отчета СКД другим отчетом
В следующем примере продемонстрируем, как производится в 1С расшифровка отчета другим отчетом:
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
Если КлючТекущегоВарианта = "Вариант1" Тогда //Проверяем текущий вариант
ПараметрыФормы = Новый Структура;
ФормаРасшифровки = ПолучитьФорму("Отчет. Расшифровка.Форма ", ПараметрыФормы, , Истина);
ФормаРасшифровки.ВариантМодифицирован = Ложь; //если в процедуре ЗаполнитьНастройкиРасшифровки //меняется настройка типового варианта отчета, то при закрытии отчет расшифровка может выдавать вопрос о сохранении варианта. //Что бы этого не происходило, сбросим флаг модифицированности варианта отчета.
Функция ЗаполнитьНастройкиРасшифровки(КомпоновщикНастроекРасшифровки, Расшифровка)
Заполним параметры отчета-расшифровки параметрами текущего отчета
ПараметрОтчета = ПараметрПользовательскихНастроек(КомпоновщикНастроек, "Параметр1");
ПараметрОтчетаРасшифровки = ПараметрПользовательскихНастроек(КомпоновщикНастроекРасшифровки, "Параметр1");
Получение параметров отчета-расшифровки из группировок текущего отчета
ПараметрОтчетаРасшифровки = ПараметрПользовательскихНастроек(КомпоновщикНастроекРасшифровки, "Параметр2");
Функция ПараметрПользовательскихНастроек(КомпоновщикНастроек, ИмяПараметра)
3. Дополнительная расшифровка отчета
Для переопределения дополнительной расшифровки (контекстное меню поля отчета) используется обработчик ОбработкаДополнительнойРасшифровки табличного поля документа.
Пример:
Процедура РезультатОбработкаДополнительнойРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
//список стандартных действий доступных в контекстном меню
//в качестве дополнительного действия сделаем доступной расшифровку другим отчетом
ДополнительныеДействия = Новый СписокЗначений;
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет);
ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, ИсточникНастроек);
Определим процедуру, которая будет обрабатывать выбор пользователя
ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаРасшифровкиЗавершение", ЭтаФорма, Расшифровка);
Выведем на экран контекстное меню дополнительной расшифровки
ОбработкаРасшифровки.ПоказатьВыборДействия(ОписаниеОповещения, Расшифровка, ДоступныеДействия, ДополнительныеДействия);
Функция, формирующая список доступных действий для текущей ячейки отчета:
ДоступныеДействия = Новый Массив;
Для Каждого ПолеРасшифровки Из Поля Цикл
Если ПолеРасшифровки.Поле = "Документ" Тогда
Если это попытка расшифровки поля Документ, добавим возможность открыть форму документа
Функция, выполняющая обработку действия, выбранного пользователем:
Процедура ОбработкаРасшифровкиЗавершение(ВыбранноеДействие, ПараметрВыбранногоДействия, ДополнительныеПараметры) Экспорт
Если ВыбранноеДействие = ДействияРашифровки.ОткрытьЗначение Тогда // Действие открытие значения
ИначеЕслиВыбранноеДействие = "ОтчетРасшифровка" Тогда
Документ = ПолучитьДокумент (Расшифровка);
Если Документ = Неопределено Тогда
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Отбор", Новый Структура("Документ", Документ));
ФормаРасшифровки = ПолучитьФорму("Отчет.Расшифровка.Форма", ПараметрыФормы, , Истина);
Иначе //стандартные действия
ПараметрыФормы = Новый Структура;
ОписаниеОбработкиРасшифровки = Новый ОписаниеОбработкиРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Расшифровка, ПараметрВыбранногоДействия);
ФормаРасшифровки = ПолучитьФорму("Отчет.ТекущийОтчет.Форма", ПараметрыФормы,, Истина);
4. Расшифровка отчетов 1С для типовых конфигураций
В отчетах, предназначенных для работы в типовых конфигурациях, удобно использовать общую форму отчетов. Чтобы переопределить расшифровку таких отчетов не обязательно менять модуль формы, достаточно прописать процедуры обработки расшифровки в общем модуле ОтчетыКлиентПереопределяемый:
// Обработчик расшифровки табличного документа формы отчета.
Процедура ОбработкаРасшифровки(ФормаОтчета, Элемент, Расшифровка, СтандартнаяОбработка) Экспорт
Если ФормаОтчета.НастройкиОтчета.ПолноеИмя = "Отчет.ТекущийОтчет" Тогда
//сюда помещаем код обработки расшифровки описанный выше
Разработчик ООО «Кодерлайн»
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) --> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) -->
Вас могут заинтересовать следующие вебинары:
Читайте также: