- Функции ВвестиЗначение, ВвестиСтроку, ВвестиДату, ВвестиЧисло в 1С 8
- ВвестиДату, ВвестиЧисло, ВвестиСтроку
- ВвестиЗначение
- 1с Программирование 8.2 УТ 10.3
- Диалог выбора ТИПА
- Обработка ошибок, возникающих при обмене данными в распределенной информационной базе
- Общие ошибки, возникающие при работе с XML
- Ситуации, возникающие при обмене данными в рамках распределенной информационной базы
Функции ВвестиЗначение, ВвестиСтроку, ВвестиДату, ВвестиЧисло в 1С 8
ВвестиДату(), ВвестиЧисло(), ВвестиСтроку(), ВвестиЗначение() — предопределенные функции 1С 8.3, облегчающие процесс разработки конфигурации.
Эти функции вызывают системную форму ввода ввода значений.
ВвестиДату, ВвестиЧисло, ВвестиСтроку
Процедуры, абсолютно аналогичные друг другу, различаются только лишь типом данных.
Перем Число;
Если ВвестиЧисло(Число, «Введите число») Тогда
Сообщить(«Введенное значение: «+Число);
Иначе
Сообщить(«Значение не было введено»);
КонецЕсли;
ВвестиЗначение
ВвестиЗначение — более интересная функция, позволяет задать расширенный набор типов, в том числе ссылочных данных.
ВыбЗнач = Неопределено;
Массив = Новый Массив;
Массив.Добавить(Тип(«Число»));
Массив.Добавить(Тип(«Строка»));
Массив.Добавить(Тип(«Дата»));
КЧ = Новый КвалификаторыЧисла(12,2);
КС = Новый КвалификаторыСтроки(20);
КД = Новый КвалификаторыДаты(ЧастиДаты.Дата);
ОписаниеТипов = Новый ОписаниеТипов(Массив, КЧ, КС, КД);
Если ВвестиЗначение(ВыбЗнач, «Введите значение», ОписаниеТипов) Тогда
// обработка введенного значения
Сообщить(«Введенное значение: «+ВыбЗнач);
КонецЕсли;
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Источник
1с Программирование 8.2 УТ 10.3
тчета.Форма(8)>: Ошибка при вызове метода контекста (ВвестиЗначение)
ВвестиЗначение(ВыбЗнач,,Справочники.ТипыЦенНоменклатуры);
по причине:
Отсутствует способ ввести значение требуемого типа
Тип: Произвольный.
Имя доступной в модуле переменной. В эту переменную будет помещено введенное значение. Если параметр не задан или имеет значение Неопределено, тип данной переменной используется в качестве типа вводимого в диалоге данного. Начальное значение переменной будет использовано в качестве начального значения в диалоге.
(необязательный)
Тип: Строка.
Текст заголовка окна диалога ввода значения. Может использоваться в качестве подсказки пользователю.
Значение по умолчанию: Пустая строка.
(необязательный)
Тип: Тип; ОписаниеТипов.
Тип вводимого значения. Если параметр не указан, используется тип параметра .
Возвращаемое значение:
Тип: Булево.
Истина — в диалоге было введено значение; Ложь — пользователь отказался от ввода значения.
—————————————
Вам в переменную ТипыЦенНоменклатуры функция вернет Истину или Ложь, значение выбрано или не выбрано.
А еще третий параметр должен иметь тип Тип или ОписаниеТипов. Так что код должен по идее иметь такой вид:
Перем ВыбЗнач;
ЗначениеВыбрано = ВвестиЗначение(ВыбЗнач,, Тип(«СправочникСсылка.ТипыЦенНоменклатуры»));
еще вопрос плис
БазовыйТипЦен — Это реквезит на форме
ИмКолонки — Колонка таблицы значений которых может быть н количество
как в печатной форме сделать чтобы он добовлял эти колонки названия хронятся в ТЗ
ТипыЦенНоменклатуры — это поле на форме в ко тором может храниться н количество тип цен
Я думаю какнить в цикле и в них создавать облости с полями и наименованиями колонок
Источник
Диалог выбора ТИПА
Здравствуйте! Платформа 8.3.4
Подскажите, можно ли программно открыть форму выбора ТИПА данных? Есть реквизит составного типа, при нажатии на кнопку выбора необходимо получить тип этого элемента и открыть форму выбора типа. Стандартная обработка отключена, рассматривается условие, когда ей воспользоваться не представляется возможным ввиду сложностей с окружающим кодом и отказом от модальности.
Насколько понимаю, интерфейс управляемый.
Штатными средствами никак.
Если попытаться выполнить метод
для реквизита составного типа, то возникнет ошибка «Отсутствует способ ввести значение требуемого типа»
Если, например, попытаться сделать нечто вроде
Судя по-всему, для управляемого интерфейса это сделать нелегко, поскольку нельзя для произвольного элемента получить тип значения, можно только ограничить его:
ПолеФормы (FormField)
ОграничениеТипа (TypeRestriction)
Использование:
Чтение и запись.
Описание:
Тип: ОписаниеТипов.
Ограничивает состав типов вводимых значений. Может использоваться, когда данные, с которыми связан элемент управления, имеют более широкий состав типов, чем необходимо предоставить пользователю для ввода в конкретной ситуации.
Расширение поля формы для поля ввода (Form field extension for a text box)
ДоступныеТипы (AvailableTypes)
Использование:
Чтение и запись.
Описание:
Тип: ОписаниеТипов.
Позволяет задать набор типов, доступных для выбора. Так же задается ограничение для квалификаторов примитивных типов Число, Строка, Дата.
Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
То есть только программно задавать перечень типов и писать какую-то отдельную форму
Источник
Обработка ошибок, возникающих при обмене данными в распределенной информационной базе
При организации обмена данными в рамках распределенной информационной базы могут возникать различные ситуации, приводящие к сообщениям об ошибках. Однако не все подобные ситуации являются ошибками в чистом виде: некоторые из них могут быть отнесены к штатным ситуациям, соответствующим протоколу обмена данными, некоторые — к неадаптированности конфигурации для работы в рамках распределенной информационной базе.
Общие ошибки, возникающие при работе с XML
Сообщение обмена данными является документом XML, поэтому имеет смысл описать возможные ошибки, которые могут возникнуть во время чтения/записи сообщений обмена данными при использовании средств чтения/записи данных XML, предоставляемых платформой «1С:Предприятие 8». При работе с данными в формате XML может возникать множество различных ситуаций, однако в данной статье будут рассмотрены только те, которые так или иначе имеют отношение к обмену данными в рамках распределенной информационной базы.
Сообщение об ошибке | Описание ошибки | ||||||||||||||||||||||||||||||||||||
Возможные пути исправления ошибки | |||||||||||||||||||||||||||||||||||||
Не установлен MS XML Core Services 4.0 | На компьютере не установлен Microsoft XML Core Services 4.0, используемый «1С:Предприятием 8» для работы с XML | ||||||||||||||||||||||||||||||||||||
Установить Microsoft XML Core Services 4.0. При установке «1С:Предприятия 8» Microsoft XML Core Services 4.0 устанавливается автоматически | |||||||||||||||||||||||||||||||||||||
Ошибка разбора XML | Ошибка, возникающая при синтаксическом анализе данных XML в процессе чтения. Все ошибки, определенные в SAX2, трансформируются в данную ошибку, генерируемую платформой «1С:Предприятие 8» | ||||||||||||||||||||||||||||||||||||
Проверить правильность оформления и синтаксис данных XML (см. http://www.w3.org/TR/REC-xml). | |||||||||||||||||||||||||||||||||||||
Ошибочный порядок записи XML | Методы записи содержимого документа XML вызываются в неправильном порядке. Например, запись атрибута вызывается после записи текста элемента. | ||||||||||||||||||||||||||||||||||||
Выявить и исправить места некорректного порядка вызова методов | |||||||||||||||||||||||||||||||||||||
Текст XML содержит недопустимые символы | Записываемый текст XML содержит недопустимые символы. | ||||||||||||||||||||||||||||||||||||
Текст XML должен соответствовать требованиям, изложенным в главе 2.2 рекомендации XML (см. http://www.w3.org/TR/REC-xml#charsets) | |||||||||||||||||||||||||||||||||||||
Недопустимое имя XML | Записываемое имя XML содержит недопустимые символы. | ||||||||||||||||||||||||||||||||||||
Имя XML должно соответствовать требованиям, изложенным в главе 2.3 рекомендации XML (см. http://www.w3.org/TR/REC-xml#NT-Name) | |||||||||||||||||||||||||||||||||||||
Пустое значение URI допустимо только для пространства имен по умолчанию | Производится попытка записать соответствие пространства имен, в котором URI пространства имен, представленному пустой строкой, соответствует непустой префикс. | ||||||||||||||||||||||||||||||||||||
Переопределение пространства имен по умолчанию для текущего элемента XML недопустимо | Текущий записываемый элемент не относится ни к какому пространству имен. Поэтому для него недопустимо определение непустого пространства имен по умолчанию. | ||||||||||||||||||||||||||||||||||||
Переопределение пространства имен по умолчанию для элемента, не относящегося ни к какому пространству имен -запрещено | |||||||||||||||||||||||||||||||||||||
Ошибка преобразования данных XML | Ошибка возникает вследствие нарушения структуры передаваемых данных. При чтении данных XML платформой производится автоматическое определение типа получаемых данных, кроме случаев, когда тип данных указан при вызове операции чтения. Если структура данных XML не соответствует структуре данных, определяемых типом, то будет сгенерировано данное сообщение об ошибке. | ||||||||||||||||||||||||||||||||||||
При обмене данными в рамках распределенной информационной базы используются штатные механизмы записи/чтения XML. Данная ошибка является следствием искажения сообщения обмена. Необходимо повторно получить сообщение от информационной базы — источника сообщения | |||||||||||||||||||||||||||||||||||||
Значения данного типа не могут быть представлены в XML | |||||||||||||||||||||||||||||||||||||
Ошибка может возникнуть при участии в обмене информационных баз, имеющих различные конфигурации. Однако при обмене данными в рамках распределенной информационной базы поддерживается идентичность конфигураций информационных баз, участвующих в обмене. Данная ошибка является следствием искажения сообщения обмена. Необходимо повторно получить сообщение от информационной базы — источника сообщения | |||||||||||||||||||||||||||||||||||||
Ошибка данных XML | Ошибка возникает при получении некорректных данных из источника XML или же в случаях неудачного считывания из базы данных содержимого объекта, данные которого должны быть прочитаны из источника XML: блокировка объекта или же отсутствие прав на чтение данного объекта. Например, чтение существующего элемента справочника: если элемент справочника является группой, а было прочитано то, что является элементом, будет сгенерирована данная ошибка. | ||||||||||||||||||||||||||||||||||||
Сообщение об ошибке | Описание ошибки |
Возможные пути исправления ошибки | |
Узел не является узлом распределенной ИБ | При вызове одного из методов встроенного языка, относящегося к распределенной ИБ, значение переданного параметра — узла плана обмена — не принадлежит плану обмена с установленным признаком «Распределенная информационная база». |
Необходимо убедиться в правильности передаваемого в метод параметра | |
Запись сообщения обмена данными не начата | В метод записи изменения данных передан в качестве параметра объект ЗаписьСообщенияОбмена , у которого не был вызван метод НачатьЗапись или был вызван метод завершения записи ( ПрерватьЗапись , ЗакончитьЗапись ). |
Убедиться, что вызов записи изменений вызывается в рамках процесса записи объекта ЗаписьСообщенияОбмена | |
Чтение сообщения обмена данными не начато | В метод чтения изменения данных передан в качестве параметра объект ЧтениеСообщенияОбмена , у которого не был вызван метод НачатьЧтение или был вызван метод завершения записи ( ПрерватьЧтение , ЗакончитьЧтение ). |
Убедиться, что вызов чтения изменений вызывается в рамках процесса чтения объекта ЧтениеСообщенияОбмена . | |
Номер сообщения распределенной ИБ должен быть больше номера ранее принятого сообщения | Производится попытка чтения старого (возможно, уже принятого) сообщения обмена данными. |
Необходимо произвести синхронизации номера принятого сообщения в текущем узле распределенной ИБ и номера отправленного сообщения в узле — источнике сообщения обмена данными. Этого можно достичь при помощи непосредственного изменения соответствующих реквизитов у узлов плана обмена, по которому осуществляется работа, или выполнить запись необходимого количества сообщений обмена данными в узле — источнике сообщения | |
Начальный образ может быть выгружен только во вновь созданную или пустую ИБ | По указанному месторасположению начального образа уже существует другая информационная база. |
Необходимо убедиться, что при создании начального образа указано место, в котором не существует информационной базы | |
Ошибка формата представления изменений | Структура и порядок следования элементов сообщения обмена данными не соответствуют требуемому. |
При обмене данными в рамках распределенной информационной базы используются штатные механизмы записи/чтения XML. Данная ошибка является следствием искажения сообщения обмена данными. Необходимо повторно получить сообщение от информационной базы — источника сообщения | |
Попытка приема изменений от неизвестной конфигурации | При попытке чтения сообщения обмена данными в рамках распределенной информационной базы обнаружено несоответствие конфигураций источника и приемника сообщения. |
По всей видимости, сообщение обмена было записано для информационной базы, имеющей конфигурацию, отличную от данной. Подобная ситуация может произойти в случае ручной настройки распределенной информационной базы. Если подчиненный узел распределенной информационной базы создавался путем объединения конфигурации информационной базы и конфигурации главного узла, то внутренняя идентификация объектов метаданных не будет соответствовать конфигурации главного узла, что приводит к данной ошибке. Рекомендуется создавать информационные базы подчиненных узлов либо при помощи создания начального образа, либо при помощи полной загрузки конфигурации в информационную базу | |
Искажены изменения конфигурации! | При попытке чтения сообщения обмена данными обнаружены искажения в передаваемых изменениях конфигурации. |
Необходимо получить от источника сообщения новое сообщение обмена данными | |
Конфигурация узла распределенной ИБ не соответствует ожидаемой! | Конфигурация текущей информационной базы была изменена по отношению к конфигурации информационной базы источника сообщения. |
Изменения конфигурации не могут быть получены из подчиненного узла распределенной ИБ | При чтении сообщения обмена, полученного от подчиненного узла, в нем обнаружены изменения конфигурации. |
Подобная ситуация может возникнуть если имеет место искажение сообщения обмена, либо обмен производится в распределенной информационной базе с незавершенным процессом перестроения иерархии узлов. Необходимо убедится, что сообщение обмена получено без искажений и правильно заполнены узлы соответствующего плана обмена в обоих узлах распределенной информационной базы (источнике и приемнике сообщения). | |
Из главного узла распределенной ИБ получены изменения конфигурации. Необходимо выполнить обновление конфигурации базы данных. Обновление может быть выполнено в режиме Конфигуратор | Из главного узла получены изменения конфигурации. |
Необходимо запустить систему в режиме Конфигуратор , произвести обновление конфигурации базы данных, после чего повторить чтение данного сообщения обмена в режиме 1С:Предприятие для завершения чтения сообщения. | |
Данные не входят в состав плана обмена | При чтении сообщения обмена обнаружены данные, не входящие в состав плана обмена. |
При обмене данными в рамках распределенной информационной базы используются штатные механизмы записи/чтения XML. Данная ошибка является следствием искажения сообщения обмена. Необходимо повторно получить сообщение от информационной базы — источника сообщения |
При чтении сообщения обмена производится автоматическая запись полученных изменений данных в информационную базу. Если в процессе записи данных происходит ошибка, то процесс чтения сообщения прерывается. Для определения в процедурах записи элементов данных (объектов и наборов записей) режима записи после загрузки из сообщения обмена существует свойство Загрузка . Для корректной работы в рамках распределенной информационной базы процедуры записи элементов данных должны быть написаны с учетом произвольного порядка загрузки данных из сообщений обмена (например, не должны выполняться проверки связанной с записываемым элементом данных информации.
Источник