событие ПриИзменении() #656642


#0 by Dmitry017
Имеется документ "ПриходнаяНакладная". В этом документе присутствует реквизит "Склад" И табличная часть. В табличной части есть поля: НаименованиеТовара Цена Количество Стоимость. Есть 2 справочника: "Колбасы" и "ХлебобулочныеИзделия", в которых наименования товаров берутся из справочника "Номенклатура". Так вот, в этих справочника есть очень интересный реквизит "Цена". Задача: как только пользователь выберет НаименованиеТовара, чтобы в нужном поле автоматически выставилась цена. Я решил попробовать реализовать данный механизм с помощью запросов (запрос и его обработку пока что до конца недописал (хочу для начала всё под отладчиком прогнать). &НаКлиенте 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30     &НаКлиенте ОШИБКА: {Документ.ПриходнаяНакладная.Форма.ФормаДокумента.Форма}: Ошибка при вызове метода контекста (ПолучитьЦену) ПолучитьЦену(Элемент); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'param': форма: Элемент имя: { по причине:
#1 by Lelic
Дмитрий, извините конечно, но я бы советовала вам купить книжку Радченко "Практическое пособие разработчика", там все доступно написано. Вам многое пригодится. Сейчас у вас сам подход неверный. Не хочу вас обидеть. Искренне советую.
#2 by ic-kat
вы на сервер передаете сам элемент формы. передайте значение. и саму функцию как процедуру вызываете. у вас значение куда возвращаться будет?
#3 by Dmitry017
ну вот решил для начала без извращений с запросами сделать. Нет такого Элемент.Значение
#4 by hhhh
Номенклатура.Родитель  это не текст, а "Колбасы" - это текст. Как вы сравниваете так тупо?
#5 by Dmitry017
Номенклатура.Родитель.Наименование = "Колбасы"
#6 by zladenuw
проверять нужно тип или по ссылке.
#7 by Dmitry017
собственно ошибка при вызове серверной функции. {Документ.ПриходнаяНакладная.Форма.ФормаДокумента.Форма}: Поле объекта не обнаружено (Значение)    ТекущаяЦена = ПолучитьЦенуБезЗапросов(Элемент.Значение);
#8 by ic-kat
я имела в виду не буквально, а значение измененного элемента. если реквизит, то текущее значение реквизита, если реквизит тч то что-то типа:
#9 by ic-kat
вместо товары имя вашей тч
#10 by Dmitry017
табличная часть называется Товары
#11 by ic-kat
увидела, что у вас и реквизиты тч есть, значит вторая строка вот так:
#12 by Dmitry017
Очень странно что сейчас с Элемент.Значение не получается работать. Об этом я читал в Радченко. И тогда работало. Хотя может я что-то путаю. Если что, подскажите, пожалуйста, что не так. Вот, даже заскринил
#13 by ic-kat
у радченко про 8.1 а вы делаете на 8.2? и пытаетесь разделить интерфейсные команды и те, что будут выполняться на сервере. и кстати, опять передаете сам элемент на сервер. попробуйте
#14 by ic-kat
или убрать директиву &НаСервере. на клиенте все выполнится, если у вас функция ПолучитьЦену тут же
#15 by Dmitry017
Результат - ошибка - Поле Значение не обнаружено.та же самая ошибка
#16 by ic-kat
не хочу уже запускать базу, поставь точку, посмотри, что в элементе
#17 by Dmitry017
Элемент    ПолеФормы    ПолеФормы АвтоВыборНезаполненного        Неопределено АвтоВысотаЯчейки    Ложь    Булево АвтоОтметкаНезаполненного        Неопределено АвтоПереносСтрок    Истина    Булево АктивизироватьПоУмолчанию    Ложь    Булево БыстрыйВыбор        Неопределено ВертикальноеПоложение    Авто    ВертикальноеПоложениеЭлемента Вид    Поле ввода    ВидПоляФормы Видимость    Истина    Булево ВыбиратьТип    Истина    Булево ВыборГруппИЭлементов    Авто    ГруппыИЭлементы ВыделенныйТекст    ""    Строка ВыделятьОтрицательные        Неопределено ВысотаСпискаВыбора    0    Число ГиперссылкаЯчейки    Ложь    Булево ГоризонтальноеПоложение    Авто    ГоризонтальноеПоложениеЭлемента ГоризонтальноеПоложениеВПодвале    Авто    ГоризонтальноеПоложениеЭлемента ГоризонтальноеПоложениеВШапке    Лево    ГоризонтальноеПоложениеЭлемента Доступность    Истина    Булево ДоступныеТипы        ОписаниеТипов Заголовок    ""    Строка Имя    "ТоварыНаименованиеТовара"    Строка КартинкаКнопкиВыбора    Картинка    Картинка КартинкаПодвала    Картинка    Картинка КартинкаШапки    Картинка    Картинка КнопкаВыбора        Неопределено КнопкаОткрытия        Неопределено КнопкаСпискаВыбора        Неопределено КонтекстноеМеню    ГруппаФормы    ГруппаФормы МаксимальноеЗначение        Неопределено МногострочныйРежим        Неопределено ОбновлениеТекстаРедактирования    Авто    ОбновлениеТекстаРедактирования ОграничениеТипа        ОписаниеТипов ОтметкаНезаполненного    Ложь    Булево ОтображатьВПодвале    Истина    Булево ОтображатьВШапке    Истина    Булево ОтображениеПредупрежденияПриРедактировании    Авто    ОтображениеПредупрежденияПриРедактировании ПараметрыВыбора    ФиксированныйМассив    ФиксированныйМассив Подсказка    ""    Строка ПоложениеЗаголовка    Авто    ПоложениеЗаголовкаЭлементаФормы ПредупреждениеПриРедактировании    ""    Строка ПропускатьПриВводе        Неопределено ПутьКДанным    Ошибка чтения значения     ПутьКДаннымПодвала    Ошибка чтения значения     РазрешитьСоставнойТип    Истина    Булево РастягиватьПоВертикали        Неопределено РасширенноеРедактирование        Неопределено РедактированиеТекста    Истина    Булево РежимВыбораИзСписка    Ложь    Булево РежимВыбораНезаполненного    При нажатии Enter    РежимВыбораНезаполненного РежимПароля        Неопределено РежимРедактирования    Вход при вводе    РежимРедактированияКолонки Родитель    ТаблицаФормы    ТаблицаФормы СвязиПараметровВыбора    ФиксированныйМассив    ФиксированныйМассив СвязьПоТипу    СвязьПоТипу    СвязьПоТипу СочетаниеКлавиш    СочетаниеКлавиш    СочетаниеКлавиш СписокВыбора        СписокЗначений ТекстПодвала    ""    Строка ТекстРедактирования    "Булочка с повидлом"    Строка ТолькоПросмотр    Ложь    Булево ФиксацияВТаблице    Нет    ФиксацияВТаблице ФормаВыбора    Ошибка чтения значения     Формат    ""    Строка ФорматРедактирования    ""    Строка ЦветРамки    Авто    Цвет ЦветТекста    Авто    Цвет ЦветТекстаЗаголовка    Авто    Цвет ЦветТекстаПодвала    Авто    Цвет ЦветФона    Авто    Цвет ЦветФонаЗаголовка    Авто    Цвет ЦветФонаПодвала    Авто    Цвет Ширина    0    Число ШиринаСпискаВыбора    0    Число Шрифт    Авто    Шрифт ШрифтЗаголовка    Авто    Шрифт ШрифтПодвала    Авто    Шрифт
#18 by Dmitry017
Странно. Наверно раньше в 1С 8.1 было поле "Значение", а теперь убрали. Как я понял, надо через поле ТекстРедактирования работать
#19 by ic-kat
а в поле НаименованиеТовара у тебя что? наименование или ссылка?
#20 by Dmitry017
В справочниках Колбасы и ХлебобулочныеИзделия есть поле НаименованиеТовара, которое имеет тип СправочникСсылка.Номенклатура
#21 by ic-kat
похоже, что наименование. естественно у строки какое значение может быть. запихивай ссылку туда
#22 by ic-kat
..... табличная часть. В табличной части есть поля: НаименованиеТовара Цена Количество это из первого поста. НаименованиеТовара - тип какой?
#23 by ic-kat
в НаименованиеТовара ссылку запихай
#24 by Dmitry017
А! Да, конечно, там ссылка на справочник Номенклатура. Изначально и была ссылка.
#25 by Dmitry017
При выполнении этого кода все поля в СтрокаСправочника оказываются пустыми. Хотя такое наименование 100% присутствует в справочнике ХлебобулочныеИзделия. Наименование    "Булочка с маком"    Строка А вот значение СтрокаСправочника:         Наименование    ""    Строка ПометкаУдаления    Ложь    Булево Предопределенный    Ложь    Булево Родитель        СправочникСсылка.Номенклатура Наименование    ""    Строка ПометкаУдаления    Ложь    Булево Предопределенный    Ложь    Булево Родитель        СправочникСсылка.Номенклатура Наименование    ""    Строка ПометкаУдаления    Ложь    Булево Предопределенный    Ложь    Булево Родитель        СправочникСсылка.Номенклатура Ссылка        СправочникСсылка.Номенклатура ЭтоГруппа    Ложь    Булево Ссылка        СправочникСсылка.Номенклатура ЭтоГруппа    Ложь    Булево Ссылка        СправочникСсылка.Номенклатура Наименование    ""    Строка ПометкаУдаления    Ложь    Булево Предопределенный    Ложь    Булево Родитель        СправочникСсылка.Номенклатура Наименование    ""    Строка ПометкаУдаления    Ложь    Булево Предопределенный    Ложь    Булево Родитель        СправочникСсылка.Номенклатура Наименование    ""    Строка ПометкаУдаления    Ложь    Булево Предопределенный    Ложь    Булево Родитель        СправочникСсылка.Номенклатура Ссылка        СправочникСсылка.Номенклатура ЭтоГруппа    Ложь    Булево ЭтоГруппа    Ложь    Булево ЭтоГруппа    Ложь    Булево ЭтоГруппа    Ложь    Булево ПометкаУдаления    Ложь    Булево Поставщик        ПеречислениеСсылка.Поставщики Предопределенный    Ложь    Булево Родитель        СправочникСсылка.ХлебобулочныеИзделия Ссылка        СправочникСсылка.ХлебобулочныеИзделия Цена    0    Число ЭтоГруппа    Ложь    Булево
#26 by Dmitry017
вот скрин со справочника ХлебобулочныеИзделия
#27 by zladenuw
и что ты хочешь сделать ? у тебя цена находится в самой ссылке товара.
#28 by Dmitry017
а как правильно тогда сделать? Я честно говоря не совсем понял
#29 by zladenuw
погугли книгу что тебе посоветовали. ее можно скачать.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С