kaso |
|
||
---|---|---|---|
|
Код 1C v 8.х
Ошибка при вызове метода контекста (Выбрать) |
Yandex |
|
||
---|---|---|---|
|
DJ_Serega |
|
||
---|---|---|---|
|
(0) kaso, метод «Добавить()» а не «Вставить()». |
kaso |
|
||
---|---|---|---|
|
(1) DJ_Serega, А что для структуры есть метод «Добавить()»? |
sashuly |
|
||
---|---|---|---|
|
Чем не устраивает такой метод https://help1c.com/faq82/view/558.html ?
Изменено 27.03.13 12:30:11 |
kaso |
|
||
---|---|---|---|
|
(3) sashuly, Да я уже переписал просто интересно в чем ошибка я пока еще учусь писать на 8 |
DJ_Serega |
|
||
---|---|---|---|
|
(2) kaso, Согласен. Ошибочка. Извините.
Тогда вот цитата из СП (Синтакс-помощник):Код Параметры: Тип: Структура.
Возможно, у ваших полях отбора не стоит соответствующий признак. Если устанавливать его не нужно (или нельзя), то лучше использовать запрос для выборки.
Изменено 27.03.13 13:23:08 |
kaso |
|
||
---|---|---|---|
|
(5) DJ_Serega, Дело в том что «Объект» и «Вид» — это измерения регистра сведений «КонтактнаяИнформация» в которых стоит признак «ведущее». И наскок я понял ошибка в том что я первым параметром передаю структуру. Переписал еще вчера
Код 1C v 8.х
Просто интересно почему не работает «Выбрать()» с отбором, без отбора все работает |
DJ_Serega |
|
||
---|---|---|---|
|
(6) kaso,
Код Важно! Структура может содержать только один элемент. upd: поэтому либо устанавливать отборы и «Прочитать()», либо запросом. Изменено 27.03.13 14:12:05 |
kaso |
|
||
---|---|---|---|
|
(7) DJ_Serega, спасибо |
kaso |
|
||
---|---|---|---|
|
Вопрос закрыт! |
Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему. |
2 — 17.03.11 — 19:10
РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>)
Выбрать (Select)
Вариант синтаксиса: Для периодического регистра
Синтаксис:
Выбрать(<НачалоИнтервала>, <КонецИнтервала>, <Отбор>, <Порядок>)
Параметры:
<НачалоИнтервала> (необязательный)
Тип: Дата; МоментВремени; Граница. Начало интервала, за который будут выдаваться записи периодического регистра сведений. Если не указан, то будут выдаваться записи с самого ранней включительно. Может задаваться значениями типа Дата, МоментВремени или Граница.
<КонецИнтервала> (необязательный)
Тип: Дата; МоментВремени; Граница. Конец интервала, за который будут выдаваться записи периодического регистра сведений. Если не указан, то будут выдаваться записи до самой поздней включительно. Может задаваться значениями типа Дата, МоментВремени или Граница.
<Отбор> (необязательный)
Тип: Структура. Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры — значение отбора по этому полю. В качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение «Индексировать» или установлен признак «Ведущее». Вид сравнения может быть только Равно.
Важно! Структура может содержать только один элемент.
Если параметр не указан, то отбор не используется.
<Порядок> (необязательный)
Тип: Строка. Может содержать слово «Возр» или «Убыв», тогда стандартный порядок будет использоваться с указанным направлением.
Может содержать имя поля (реквизита или измерения, для которых указано индексирование) и слово «Возр» или «Убыв», тогда упорядочивание будет производится по указанному полю в указанном порядке.
Значение по умолчанию: «Возр»
Вариант синтаксиса: Для непериодического регистра
Синтаксис:
Выбрать(<Отбор>, <Порядок>)
Параметры:
<Отбор> (необязательный)
Тип: Структура. Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры — значение отбора по этому полю. В качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение «Индексировать» или установлен признак «Ведущее».
Важно! Структура может содержать только один элемент.
Если параметр не указан, то отбор не используется.
<Порядок> (необязательный)
Тип: Строка. Может содержать слово «Возр» или «Убыв», тогда стандартный порядок будет использоваться с указанным направлением.
Может содержать имя поля (реквизита или измерения для которых указано индексирование) и через пробел слово «Возр» или «Убыв», тогда упорядочивание будет производится по указанному полю в указанном порядке.
В качестве значения параметра может быть задана строка «<Нет>» («<No>»). Это будет означать, что система выберет наиболее оптимальный порядок обхода такой выборки, который в общем случае не будет соответствовать порядку обхода по умолчанию.
Значение по умолчанию: «Возр»
Возвращаемое значение:
Тип: РегистрСведенийВыборка.
Описание:
Формирует выборку записей регистра сведений.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Пример:
Курсы = РегистрыСведений.КурсыВалют;
ОтборВалют = Новый Структура(«Валюта»);
ОтборВалют.Валюта = ВыбВалюта;
ВыборкаКурсовВалют = Курсы.Выбрать(,,ОтборВалют);
Пока ВыборкаКурсовВалют.Следующий() Цикл
Сообщить(«Дата » + ВыборкаКурсовВалют.Период +
» Валюта «+СокрЛП(ВыборкаКурсовВалют.Валюта) +
«, Курс «+ ВыборкаКурсовВалют.Курс );
КонецЦикла;
Dismk
7 — 17.03.11 — 19:51
(0) Недопустимое значение параметра (параметр номер ‘3’)
Тип: Структура. Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры — значение отбора по этому полю. В качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение «Индексировать» или установлен признак «Ведущее». Вид сравнения может быть только Равно.
Важно! Структура может содержать только один элемент.
Ошибка при вызове метода контекста(Добавить)
Здравствуйте. Необходимо было изобразить игру Сапёр в 1С, по заданию из задачника Чистова. Код ниже.
По итогу столкнулся с проблемой: <Обработка.сапер.Форма.Форма.Форма(35)>: Ошибка при вызове метода контекста (Добавить)
Группа = ЭтаФорма.Элементы.Добавить(«Ряд «+Х,Тип(«ГруппаФормы»),Элементы.ИгровоеПоле);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
Недопустимое значение параметра (параметр номер ‘1’)
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Ошибка при вызове метода контекста
Здравствуйте. У меня возникла проблема (с крупным содержимым). Я пыталась сделать автоматическое.
Ошибка при вызове метода контекста
Помогите. 1с 8.3 УТ 10.3т Задача: Выгрузить реализацию из БП 2.0 и загрузить приходный ордер.
Ошибка при вызове метода контекста(Послать)
Всем привет. Чето ни как не разберусь, пробую отправить электронку выдает «Ошибка при вызове метода.
Ошибка при вызове метода контекста (Записать)
Есть кусок кода(стандартная обработка загрузки товара из документа Excel) СтрНоменклатура =.
Решение
Добавлено через 1 минуту
И везде, идентификатор не может содержать пробелов
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Открытие формы (Ошибка при вызове метода контекста)
открываю форму методом открытьФорму(«имяФормы.через точку.из подсказки.все правильно») но не.
Ошибка при вызове метода контекста (Добавить)
Помогите разобраться почему не работает!? Код программы: Функция.
Источник
Недопустимое значение параметра (параметр номер ‘1’)
Добрый день.Замучался немного с планировщиком.такой вопрос появилась ошибка
Ошибка при вызове метода контекста (Добавить)
НовыйМастер = ИзмерениеМастера.Элементы.Добавить(выб.Мастер);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
&НаКлиенте
Процедура Отобразить(Команда)
Планировщик.ТекущиеПериодыОтображения.Очистить();
//Планировщик.ТекущиеПериодыОтображения.Добавить(ПериодОтображенияНачало, ПериодОтображенияКонец);
Планировщик.ТекущиеПериодыОтображения.Добавить(НачалоДня(Текущаядата()), КонецДня(Текущаядата()));
Планировщик.ЕдиницаПериодическогоВарианта = ТипЕдиницыШкалыВремени.Час;
Планировщик.КратностьПериодическогоВарианта = 24;
Планировщик.ОтображатьПеренесенныеЗаголовки = Истина;
Планировщик.ОтступСНачалаПереносаШкалыВремени=8;
Планировщик.ОтступСКонцаПереносаШкалыВремени=3;
// Инициализируем измерения планировщика
ИзмеренияПланировщика = Планировщик.Измерения;
ИзмеренияПланировщика.Очистить();
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| Заявка.Ссылка КАК Ссылка,
| Заявка.Мастер КАК Мастер,
| Заявка.ДатаНачала КАК ДатаНачала,
| Заявка.ДатаОкончания КАК ДатаОкончания
|ИЗ
| Документ.Заявка КАК Заявка
|ГДЕ
| ЗаявкаНаРемонтСокр.Дата МЕЖДУ &ДатаНачало И &ДатаКонец»;
Запрос.УстановитьПараметр(«ДатаНачало»,НачалоГода(Текущаядата()));
Запрос.УстановитьПараметр(«ДатаКонец», КонецДня(Текущаядата()));
выб = Запрос.Выполнить().Выбрать();
Пока выб.Следующий() Цикл
// Заполнение измерений продавцы
НовыйМастер = ИзмерениеМастера.Элементы.Добавить(выб.Мастер);
НовыйМастер.Текст = выб.Мастер.Наименование;
Источник
v8.2: Программное создание таблицы в управляемой форме
Мне необходимо программным образом в справочник Пользователи( в управляемую форму списка) добавить таблицу, отображающую регистр сведений «Контактная информация». Проблема в том, что не получается у этой таблицы объявить поля(колонки), если таблица представляет собой динамический список.
Создание реквизита
реквизиты = Новый Массив;
реквизиты.Добавить(Новый РеквизитФормы(«Поле», Новый ОписаниеТипов («ДинамическийСписок»),,»Поле таблицы»));
ЭтаФорма.ИзменитьРеквизиты(реквизиты);
ЭтаФорма.Поле.ОсновнаяТаблица=»РегистрСведений.КонтактнаяИнформация»;
создание элемента
Элемент = Элементы.Добавить(«Поле», Тип(«ТаблицаФормы»), ЭтаФорма);
Элемент.ПутьКДанным = «Поле»;
Элемент.Видимость = Истина;
При попытке создать элемент, являющийся колонкой таблицы, выдается ошибка:
<Справочник.Пользователи.Форма.ФормаСписка.Форма(211)>: Ошибка при вызове метода контекста (Добавить): Недопустимое значение параметров
Элемент1 = Элементы.Добавить(«Представление»,Тип(«Строка»),Элемент);
по причине:
Недопустимое значение параметров
Ниже код, где возникает ошибка:
Элемент1 = Элементы.Добавить(«Представление»,Тип(«Строка»),Элемент); ошибка возникает здесь!
Элемент1.Вид = ВидПоляФормы.ПолеВвода;
Элемент1.ПутьКДанным = «Поле.Представление»;
Может, кто-нибудь сталкивался с подобной ситуацией? Помогите 🙂
Можно для динамического списка задать свой запрос, но проблема та же((( Не могу создать колонки с соответствующими полями в запросе.
Источник
Вывод дерева значений на управляемую форму
<Форма.Форма.Форма(88)>: Ошибка при вызове метода контекста (Добавить)
НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип(«ПолеФормы»), ЭлементДерево);
по причине: Недопустимое значение параметров
ВыборкаПериод = ВыполнениеЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
// Создание Реквизита формы типа ДанныеФормыДерево
МассивДобавляемыхРеквизитов = Новый Массив;
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(«Дерево»,
Новый ОписаниеТипов(«ДеревоЗначений»)));
Для Каждого Колонка Из ВыборкаПериод.Колонки Цикл
МассивДобавляемыхРеквизитов.Добавить(
Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, «Дерево»));
КонецЦикла;
ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);
// Преобразование объекта прикладного типа ДеревоЗначений
// в реквизит управляемой формы (данные формы)
ЗначениеВРеквизитФормы(ВыборкаПериод, «Дерево»);
// Создание элемента формы типа ТаблицаФормы для отображения дерева
ЭлементДерево = Элементы.Добавить(«Дерево», Тип(«ТаблицаФормы»));
ЭлементДерево.ПутьКДанным = «Дерево»;
ЭлементДерево.Отображение = ОтображениеТаблицы.Дерево;
Для Каждого Колонка Из ВыборкаПериод.Колонки Цикл
НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип(«ПолеФормы»), ЭлементДерево);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = «Дерево.» + Колонка.Имя;
КонецЦикла;
Источник
Форум (регистрация не требуется)
Программный изменение формы списка, Динамический список
В данном разделе можно задавать вопросы по программированию на платформе 1С:Предприятие 8.
(Раздел предназначен для тех, кто уже прошел обучение в нашем учебном центре)
p.s. Просьба задавать вопросы только по программированию. На вопросы по типовым конфигурациям обычно не отвечаю по двум причинам
1. В последнее время редко с ними работаю.
2. Чтобы ответить на вопрос требуется: установить соответствующую базу нужного релиза, смоделировать ситуацию, и только после этого возможно залезть в конфигуратор и разобраться что не так (к сожалению, у меня нет столько времени).
Программный изменение формы списка, Динамический список
Здравствуйте Сергей!
Вывожу программно новый реквизит на управляемую форму списка.
Меняю произвольный запрос из динамического списка(Добавляю в него выбор нужного мне поля).
Хочу вывести новое поле в колонке таблицы.
На строчке кода Элемент.ПутьКДанным = «Список.ВнешнийКод» выдает ошибку, и ругается на неправильный путь.
Как быть? Добавить реквизит в динамический список тоже нельзя.
Код: выделить все ЭтаФормаПерем.Список.ТекстЗапроса = СтрЗаменить(ЭтаФормаПерем.Список.ТекстЗапроса,»СправочникКонтрагенты.Ссылка,»,»СправочникКонтрагенты.Ссылка, СправочникКонтрагенты.ВнешнийКод КАК ВнешнийКод»);
Re: Программный изменение формы списка, Динамический список
НовЭлемент = ЭтаФормаПерем.Элементы.Добавить(«ПолеВнешнийКод»,Тип(«ПолеФормы»),ЭтаФормаПерем.Элементы.Список);
НовЭлемент.Вид = ВидПоляФормы.ПолеНадписи;
НовЭлемент.ПутьКДанным = «Список.ВнешнийКод»;
и у поля ВнешнийКод необходимо в реквизитах формы поставить галочку «использовать всегда»
Мне до конца не ясна задача, для чего вам все это потребовалось
Более простой вариант: вытащить все колонки и программно регулировать видимость колонок.
Re: Программный изменение формы списка, Динамический список
Re: Программный изменение формы списка, Динамический список
и у поля ВнешнийКод необходимо в реквизитах формы поставить галочку «использовать всегда»
Все делается таким образом, для того чтобы не вмешиваться в форму.
весь код пишется в общем модуле и не затрагивает форму.
Цель обновление без проблем.
Re: Программный изменение формы списка, Динамический список
Re: Программный изменение формы списка, Динамический список
Re: Программный изменение формы списка, Динамический список
У меня все работает:
ЭтаФорма.Список.ТекстЗапроса = СтрЗаменить(ЭтаФорма.Список.ТекстЗапроса,»СправочникКонтрагенты.Ссылка,»,»СправочникКонтрагенты.Ссылка, СправочникКонтрагенты.ВнешнийКод КАК ВнешнийКод,»);
НовЭлемент = ЭтаФорма.Элементы.Добавить(«ПолеВнешнийКод»,Тип(«ПолеФормы»),ЭтаФорма.Элементы.Список);
НовЭлемент.Вид = ВидПоляФормы.ПолеНадписи;
НовЭлемент.ПутьКДанным = «Список.ВнешнийКод»;
(Это при условии, что в динамическом списке установлен флаг «произвольный запрос», к сожалению под рукой у меня нет свежей БП 3.0, в старой БП 3.0 этот флаг не установлен)
Re: Программный изменение формы списка, Динамический список
Код: выделить все Форма.Список.ТекстЗапроса = СтрЗаменить(Форма.Список.ТекстЗапроса, «СостоянияЭД.СостояниеВерсииЭД», «,ДокументЗаказКлиента.ФАЙТ_ДополнительныйНомер КАК ДополнительныйНомер»);
Форма.Список.УстановитьОбязательноеИспользование(«ДополнительныйНомер», Истина);
Элемент = Форма.Элементы.Добавить(«ПолеДополнительныйНомер», Тип(«ПолеФормы»), Форма.Элементы.Список);
Элемент.Вид = ВидПоляФормы.ПолеНадписи;
Элемент.ПутьКДанным = «Список.ДополнительныйНомер»;
Re: Программный изменение формы списка, Динамический список
Re: Программный изменение формы списка, Динамический список
Источник
В платформе 1С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.
Исправляем ситуацию
Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.
Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| ";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
КонецЦикла;
Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.
Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.
Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ЭтоГруппа ";
НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
КонецЦикла;
1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.
В конфигураторе находим строку и метод, на который указывало сообщение об ошибке, и нажимаем на него правой кнопкой мыши. Выбираем пункт «Поиск в синтакс-помощнике» и платформа самостоятельно ищет справочную информацию по выделенному методу. В справке мы видим не только подробное описание параметров и самого метода, но и пример. Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает.
Чаще всего причиной подобных ошибок выступают следующие факторы:
- Невнимательность;
- Отсутствие опыта или знаний;
- Несогласованность действий разработчиков друг с другом;
- Изменения в методах контекста в новых версиях платформы.
Но ошибки при разработке ПО случаются постоянно, поскольку иногда ошибаются даже специалисты с многолетним опытом. Самое главное – уметь исправлять их и учиться на них. Постепенно вы будете видеть сообщения об ошибках все реже и научитесь замечать подобные «опечатки» еще до запуска 1С.
{Справочник.НаимСпр.Форма.ФормаСписка}: Ошибка при вызове метода контекста (Выбрать): Недопустимое значение параметра (параметр номер «3») Выборка=Справочники.НаимСпр.Выбрать(,,Новый Структура(«ДатаИмпорта, Фирма», ЭлементыФормы.СправочникСписок.ТекущиеДанные.ДатаИмпорта, Неопределено)); Поля ДатаИмпорта и Фирма справочника индексированы
Структура может содержать только один элемент, о чем есть примечание в синтакс-помощнике. Для отбора по нескольким условиям используй запрос.
спасибо, зачем делали структуру непонятно. все равно спасибо
Тэги:
Комментарии доступны только авторизированным пользователям
bannndi
Гость |
Здравствуйте! Я учусь программировать в 8-ке, такой вопрос — нужно, что бы в данной процедуре отрабатывалась уникальность значений xls файла (по столбцу 1, к примеру), т.е. в справочник два раза не попадала одна и та жа позиция. |
||
|
Kivals |
Попробуй так: |
||
|
bannndi
Гость |
Спасибо за ответ,Kivals! Чего-то ругнулась на (,,Новый Структура, где 2 запятые. Может там чего-то определить тоже надо..? (Процедура или функция с указанным именем не определена) Не, ошибку выдает другую {Справочник.СервисЦентры.Форма.ФормаСписка(8)}: Ошибка при вызове метода контекста (Выбрать): Недопустимое значение параметра (параметр номер «3») Поставил признак индексации на реквизит НомерСЦ, так загрузка первый раз прошла, а во второй раз пошел бесконечный цикл,снял только через диспетчер задач. Пока ничего не придумал больше |
||
|
Kivals
|
Сори — такое часто бывает |
||
|
bannndi
Гость |
Kivals, спасибо, сейчас поиспытываю! таблицы правильно)) Может не так чего-то сделал. пустое, то не заносить в справочник? |
||
|
Kivals |
не могу понять как сделать в том же цикле проверку и по второму полю, чтобы наименование если пустое, то не заносить в справочник? ПустаяСтрока в отличии от СтрДлина «не замечает» пробелов, т.е. если у тебя строка из одних пробелов, табуляций и переносов строк — то ПустаяСтрока() вернет Истина, а СтрДлина() — длину строки в символах (не ноль) |
||
|
bannndi
Гость |
Наименование=ConExcel.Sheets(«Сервисы»).Cells(«i,2»).Value; |
||
|
Kivals |
Cells(«i,2») и Cells(i,2) — это разные ячейки |
||
|
bannndi
Гость |
Cells(«i,2») и Cells(i,2) — это разные ячейки )) Да, проглядел)). Таких наверно и не бывает как Cells(«i,2») |
||
|
bannndi
Гость |
Я сейчас убрал эту строку, ничего не произошло плохого, видимо просто задается имя для значения Cells(i,2), но потом нигде не используется, ну ладно, разобрались))) |
||
|
Kivals |
Если не трудно, поясни пож-ста, что делает эта строка? Присваивает переменной z значение из ячейки колонки «B» (2-й по счету) строки i на листе Сервисы активной книги. Тип значения определяется типом значения в ячейке. |
||
|
bannndi
Гость |
Если не трудно, поясни пож-ста, что делает эта строка? Присваивает переменной z значение из ячейки колонки «B» (2-й по счету) строки i на листе Сервисы активной книги. Тип значения определяется типом значения в ячейке. Ну да, я почти так же сказал, Kivals)) |
||
|