Добрый день, не могу понять почему пишет ошибку
когда я в коде это параметр указал
Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Не задано значение параметра "ВыбраннаяНоменклатура"
по причине:
{(2, 25)}: Не задано значение параметра "ВыбраннаяНоменклатура"
Номенклатура.Ссылка В (<<?>>&ВыбраннаяНоменклатура) КАК Пометка
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Не задано значение параметра "ВыбраннаяНоменклатура"
по причине:
{(2, 25)}: Не задано значение параметра "ВыбраннаяНоменклатура"
Номенклатура.Ссылка В (<<?>>&ВыбраннаяНоменклатура) КАК Пометка
когда я в коде это параметр указал
&НаКлиенте
Перем ВыбраннаяНоменклатура; //Массив, хранящий отмеченную галочками номенклатуру для отображения в списке
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Сообщить("Работает");
//Инициализация массива
ВыбраннаяНоменклатура = Новый Массив;
//Задал параметр
Список.Параметры.УстановитьЗначениеПараметра("ВыбраннаяНоменклатура", ВыбраннаяНоменклатура);
КонецПроцедуры
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
//Нас интересует только событие нажатия на чекбокс
Если Поле = Элементы.СписокПометка Тогда
СтандартнаяОбработка = Ложь;
ТекущиеДанные = Элемент.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Если ТекущиеДанные.Пометка Тогда
СнятьПометку(ТекущиеДанные.Ссылка);
Иначе
ПоставитьПометку(ТекущиеДанные.Ссылка);
КонецЕсли;
КонецЕсли;
КонецЕсли;
//Параметр в динамическом списке нужно обновить
Список.Параметры.УстановитьЗначениеПараметра("ВыбраннаяНоменклатура", ВыбраннаяНоменклатура);
Элементы.Список.Обновить();
КонецПроцедуры
&НаКлиенте
Процедура СнятьПометку(Номенклатура)
Индекс = ВыбраннаяНоменклатура.Найти(Номенклатура);
Если Индекс >= 0 Тогда
ВыбраннаяНоменклатура.Удалить(Индекс);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПоставитьПометку(Номенклатура)
Индекс = ВыбраннаяНоменклатура.Найти(Номенклатура);
Если Индекс = Неопределено Тогда
ВыбраннаяНоменклатура.Добавить(Номенклатура);
КонецЕсли;
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Закрытие отрицательных остатков товаров для Бухгалтерии 3.0 (по нескольким организациям)
- Пара советов по поиску работы
- Распространённые ошибки при установке PostgreSQL для 1С и реализация их устранения в продуктах компании Postgres Professional
- Инструкция по установке Postgres для OLTP приложений и 1С. Часть 1. Базовая конфигурация
- Как сервер 1С меняет параметры у PostgreSQL
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8)Всё понятно не правильно прописал.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//Инициализация массива
ВыбраннаяНоменклатура = Новый Массив;
//Без параметра, даже пустого, список выдаст ошибку и будет прав
Список.Параметры.УстановитьЗначениеПараметра("ВыбраннаяНоменклатура", ВыбраннаяНоменклатура);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
КонецПроцедуры
Показать
(8)А вы не подскажите как лучше прикрутить этот запрос
вот к этому запросу
воспользоваться виртуальной таблитцой и соединить с помощью левого соединения ?
ВЫБРАТЬ
Номенклатура.Ссылка,
Номенклатура.Ссылка В (&ВыбраннаяНоменклатура) КАК Пометка
ИЗ
Справочник.Номенклатура КАК Номенклатура
вот к этому запросу
ВЫБРАТЬ
ДокументАктСписанияМЗ.Ссылка,
ДокументАктСписанияМЗ.ВерсияДанных,
ДокументАктСписанияМЗ.ПометкаУдаления,
ДокументАктСписанияМЗ.Номер,
ДокументАктСписанияМЗ.Дата,
ДокументАктСписанияМЗ.Проведен,
ДокументАктСписанияМЗ.Организация,
ДокументАктСписанияМЗ.ИФО,
ДокументАктСписанияМЗ.ПодразделениеОтправитель,
ДокументАктСписанияМЗ.ЦМООтправитель,
ДокументАктСписанияМЗ.Комментарий,
ДокументАктСписанияМЗ.ДолжностьПредседательКомиссии,
ДокументАктСписанияМЗ.ФамилияПредседательКомиссии,
ДокументАктСписанияМЗ.ИмяПредседательКомиссии,
ДокументАктСписанияМЗ.ОтчествоПредседательКомиссии,
ДокументАктСписанияМЗ.НомерПриказа,
ДокументАктСписанияМЗ.ДатаПриказа,
ДокументАктСписанияМЗ.Руководитель,
ДокументАктСписанияМЗ.ЗаключениеКомиссии,
ДокументАктСписанияМЗ.КФО,
ДокументАктСписанияМЗ.СчетУчета,
ОперацииДокументов.СуммаОперации,
ОперацииДокументов.Операция,
ВЫБОР
КОГДА ОперацииДокументов.ЕстьПроводки ЕСТЬ NULL
ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ОперацияНеВыбрана)
КОГДА НЕ ОперацииДокументов.ЕстьПроводки
ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ПроводкиОтсутствуют)
КОГДА ЕСТЬNULL(ОперацииДокументов.ДокументСторнирован, ЛОЖЬ) = ИСТИНА
ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ДокументСторнирован)
КОГДА ЕСТЬNULL(ОперацииДокументов.РучнаяКорректировка, ЛОЖЬ) = ИСТИНА
ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ПроводкиИзмененыВручную)
КОГДА ЕСТЬNULL(ОперацииДокументов.ИсправлениеОшибки, ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ПустаяСсылка)) В (ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаПрошлогоГода), ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаРанееПрошлогоГода))
ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ИсправлениеОшибки)
ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ПроводкиСформированы)
КОНЕЦ КАК СостояниеОперации,
ВЫБОР
КОГДА ОперацииДокументов.ЕстьПроводки ЕСТЬ NULL
ТОГДА 0
КОГДА НЕ ОперацииДокументов.ЕстьПроводки
ТОГДА 1
КОГДА ЕСТЬNULL(ОперацииДокументов.ДокументСторнирован, ЛОЖЬ) = ИСТИНА
ТОГДА 4
КОГДА ЕСТЬNULL(ОперацииДокументов.РучнаяКорректировка, ЛОЖЬ) = ИСТИНА
ТОГДА 3
КОГДА ЕСТЬNULL(ОперацииДокументов.ИсправлениеОшибки, ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ПустаяСсылка)) В (ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаПрошлогоГода), ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаРанееПрошлогоГода))
ТОГДА 5
ИНАЧЕ 2
КОНЕЦ КАК СостояниеОперацииКод,
ДокументАктСписанияМЗ.Ответственный,
ВЫБОР
КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL
ТОГДА 0
КОГДА НаличиеФайлов.ЕстьФайлы
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК ЕстьФайлы,
СостоянияЭД.ПредставлениеСостояния КАК СостояниеЭДО,
NULL КАК СостояниеОригиналаПервичногоДокумента,
ИСТИНА КАК ОбщееСостояние,
0 КАК СостояниеОригиналПолучен
ИЗ
Документ.АктСписанияМЗ КАК ДокументАктСписанияМЗ
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЭД КАК СостоянияЭД
ПО (СостоянияЭД.СсылкаНаОбъект = ДокументАктСписанияМЗ.Ссылка)}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОперацииДокументов КАК ОперацииДокументов
ПО ДокументАктСписанияМЗ.Ссылка = ОперацииДокументов.Документ}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
ПО ДокументАктСписанияМЗ.Ссылка = НаличиеФайлов.ОбъектСФайлами}
Показатьвоспользоваться виртуальной таблитцой и соединить с помощью левого соединения ?
(13)Извините, Вы мне не поможете в продолжение этой же темы, думал смогу разобраться, но не получается понять.
Мне нужно сравнить номера документов находящиеся в динамическом списке с номерами документов из РегСвед. И Если номера в .РегСвед отсутствую то пометить документы в ДС с отсутствующими номерами галочками и соответственно если они там появятся то галочка снимается.
Как можно для этого преобразовать этот код
Понимаю что сейчас мы передаём для работы данные выбранной строки, а как тогда сделать сравнение не могу понять ?
Мне нужно сравнить номера документов находящиеся в динамическом списке с номерами документов из РегСвед. И Если номера в .РегСвед отсутствую то пометить документы в ДС с отсутствующими номерами галочками и соответственно если они там появятся то галочка снимается.
Как можно для этого преобразовать этот код
Если Поле = Элементы.Пометка Тогда
СтандартнаяОбработка = Ложь;
ТекущиеДанные = Элемент.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Если ТекущиеДанные.Пометка Тогда
СнятьПометку(ТекущиеДанные.Ссылка);
Иначе
ПоставитьПометку(ТекущиеДанные.Ссылка);
КонецЕсли;
КонецЕсли;
КонецЕсли;
//Параметр в динамическом списке нужно обновить
Список.Параметры.УстановитьЗначениеПараметра("ВыбраннаяНоменклатура", ВыбраннаяНоменклатура);
Элементы.Список.Обновить();
ПоказатьПонимаю что сейчас мы передаём для работы данные выбранной строки, а как тогда сделать сравнение не могу понять ?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот