8.х Как передать значение реквизита формы документа в открываемый справочник

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем denis_msz, 15 фев 2011.

  1. TopicStarter Overlay
    denis_msz
    Offline

    denis_msz

    Регистрация:
    15 фев 2011
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Как передать значение реквизита формы документа в открываемый справочник номенклатуры?

    Процедура ТоварыНоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Форма = Справочники.Номенклатура.ПолучитьФормуВыбора();
    Форма.Склад=СкладГруппа.Ссылка;
    Форма.Открыть();
    КонецПроцедуры

    Передает в открываемый справочник некий реквизит, но обратно не возвращает выбранную строку номеклатуры.Что не так?
  2. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Обработчик ТоварыНоменклатураОбработкаВыбора() создали?
  3. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Хотя он, наверно, не обязателен.

    Так попробуйте:
    Код:
    Форма = Справочники.Номенклатура.ПолучитьФормуВыбора(, Элемент);
    
  4. TopicStarter Overlay
    denis_msz
    Offline

    denis_msz

    Регистрация:
    15 фев 2011
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    :D спасите его пожалуйста!
    Этот код работает спору нет.

    Но этот же код не работает в редакторе мобильных приложений
    Мне всего навсего нужно,
    чтобы при добавлении в документ очередной номенклатурной позиции туда передавались некоторые реквизиты в примере "Склад" из документа. Все успешно передаеться, но номенклатура не закрепляеться в позиции. :angry:
  5. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Рекомендую Вам началь с постановки задачи, что-то Вы непонятного накрутили.
  6. TopicStarter Overlay
    denis_msz
    Offline

    denis_msz

    Регистрация:
    15 фев 2011
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Хорошо.
    Имееться типовое решение от 1С - расширенние для карманных компьютеров.
    Необходимо при оформлении заказа и выбора товара из справочника показывать его остатки в колонке?

    Остатки товара храняться в не переодическом регистре сведений "ОстаткиНаСкладахДляМобильныхИБ"
    Структура регистра:
    Измерения: Пользователь,Склад,Номенклатура,ХарактеристикаНоменклатуры
    Ресурсы: Количество

    Я выбрал один из путей .

    В справочник номенклатуры добавил колонку "Ост",
    Три реквизита: Пользователь,Склад,ХарактеристикаНоменклатуры и
    Код:
    Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    хк1 = ЭлементыФормы.ХарактеристикаНоменклатуры.значение.ссылка;
    ск1 = ЭлементыФормы.Склад.значение.ссылка;
    пп1 = ЭлементыФормы.Пользователь.значение.ссылка;
    ном1=  ДанныеСтроки.Ссылка;
    СтруктураОтбора = Новый Структура("Пользователь,Склад,Номенклатура,ХарактеристикаНоменклатуры",пп1,ск1,ном1,хк1 );
    СтруктураОстатка = РегистрыСведений.ОстаткиНаСкладахДляМобильныхИБ.Получить(СтруктураОтбора);
    Остаток = СтруктураОстатка.Количество;	
    ОформлениеСтроки.Ячейки.Ост.УстановитьТекст(Остаток);
    КонецПроцедуры
    
    
    Открываем справочник номенклатуры и заполненяем три реквизита остатки успешно отображаються в колонке для каждой номенклатуры.
    Остаеться лишь при оформлении заказа передать три реквизита в открываемый справочник
    Код:
    Процедура ТоварыНоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = ложь;
    Форма = Справочники.Номенклатура.ПолучитьФормуВыбора(,Элемент);
    Форма.Склад=СкладГруппа.Ссылка;
    Форма.ХарактеристикаНоменклатуры=Неопределено;
    Форма.Пользователь=Ответственный.Ссылка;
    Форма.ОткрытьМодально();
    КонецПроцедуры
    
    
    Все работает, а товар в последний момент выбора не попадает(не закрепляеться) в табличной части.
    В чем дело никак не пойму. :angry:
  7. yzek
    Offline

    yzek Опытный в 1С

    Регистрация:
    13 окт 2010
    Сообщения:
    713
    Симпатии:
    0
    Баллы:
    26
    Вы хотите из формы Элемента справочника Номенклатура редактировать РегистрСведений. я правильно понял?
    Не понятно в какой табличной части что не закрепляется.
  8. TopicStarter Overlay
    denis_msz
    Offline

    denis_msz

    Регистрация:
    15 фев 2011
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Да нет, редактировать я не хочу.
    У меня номенклатура не выбираеться в документ если я справочник открываю кодом
    Код:
    Процедура ТоварыНоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = ложь;
    Форма = Справочники.Номенклатура.ПолучитьФормуВыбора(,Элемент);
    Форма.ОткрытьМодально();
    КонецПроцедуры
    
  9. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Вы форму получили, открыли, в ней выбрали товар, и закрыли. Еще же надо написать код, который будет получать выбранную позицию.
  10. TopicStarter Overlay
    denis_msz
    Offline

    denis_msz

    Регистрация:
    15 фев 2011
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Только, что-то с кодом который получает у меня не получаеться. :angry:
  11. TopicStarter Overlay
    denis_msz
    Offline

    denis_msz

    Регистрация:
    15 фев 2011
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Ребята, ну помогите мне пожалуйста с этим кодом, ну "ляма"
    у меня не тянет, измучился я уже и ничего у меня не получаеться!
    Шеф :angry: спать ночью не дает, молчит, как над мухой-цокотухой измываеться!
    А у меня все ни как не получаеться


    Задача стоит, Оформляя заказ видеть остатки у товара в справочнике! т.е. при добавлении в докумет
    Все работает до последнего момента когда я выбираю нужную номенклатуру. а она не выбираеться

    Я выбрал один из путей .

    В справочник номенклатуры добавил колонку "Ост",
    Три реквизита: Пользователь,Склад,ХарактеристикаНоменклатуры и
    Код в обработчик
    Код:
    Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    хк1 = ЭлементыФормы.ХарактеристикаНоменклатуры.значение.ссылка;
    ск1 = ЭлементыФормы.Склад.значение.ссылка;
    пп1 = ЭлементыФормы.Пользователь.значение.ссылка;
    ном1=  ДанныеСтроки.Ссылка;
    СтруктураОтбора = Новый Структура("Пользователь,Склад,Номенклатура,ХарактеристикаНоменклатуры",пп1,ск1,ном1,хк1 );
    СтруктураОстатка = РегистрыСведений.ОстаткиНаСкладахДляМобильныхИБ.Получить(СтруктураОтбора);
    Остаток = СтруктураОстатка.Количество; 
    ОформлениеСтроки.Ячейки.Ост.УстановитьТекст(Остаток);
    КонецПроцедуры
    
    
    
    Остаеться лишь при оформлении заказа передать три реквизита в открываемый справочник
    Код
    Код:
    Процедура ТоварыНоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = ложь;
    Форма = Справочники.Номенклатура.ПолучитьФормуВыбора(,Элемент);
    Форма.Склад=СкладГруппа.Ссылка;
    Форма.ХарактеристикаНоменклатуры=Неопределено;
    Форма.Пользователь=Ответственный.Ссылка;
    Форма.ОткрытьМодально();
    КонецПроцедуры
    
    
    

    Что дальше? почему обработчик ОбработкаВыбора не срабатывает?
    Помогите пожалуйста иначе мне не жить...
  12. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    "ТоварыНоменклатураНачалоВыбора" - обработчик нажатия кнопки? Почему владельцем получаемой формы задаете "Элемент", а не "ЭтаФорма"?
  13. TopicStarter Overlay
    denis_msz
    Offline

    denis_msz

    Регистрация:
    15 фев 2011
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Обработчик- вызывается при нажатии кнопки выбора или нажатии клавиши F4.
    Элемент- потому, что через обычное построчное добавление (ins)
  14. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ну так владелец вызываемой формы - у вас ведь получается "элемент", т.е. "табличная часть", расположенная на "Форме", а не сама "Форма", а событие "ОбработкаВыбора" - это событие именно "Формы".
  15. TopicStarter Overlay
    denis_msz
    Offline

    denis_msz

    Регистрация:
    15 фев 2011
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Блин у меня вообще не срабатывают обработчики событий

    Для Формы:
    Обработка выбора: ОбработкаВыбора
    Код:
    Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
    // Вставить содержимое обработчика.
    КонецПроцедуры
    
    
    Для Табличной части
    Обработка выбора: ТоварыОбработкаВыбора
    Код:
    Процедура ТоварыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Предупреждение("Сработка");
    КонецПроцедуры
    
    
    Для колонки Номенклатура
    Обработка выбора: ТоварыНоменклатураОбработкаВыбора
    Код:
    Процедура ТоварыНоменклатураОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Предупреждение("Сработка");
    КонецПроцедуры
    
    
  16. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура ТоварыНоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = ложь;
    Форма = Справочники.Номенклатура.ПолучитьФормуВыбора(,Элемент);
    Форма.Склад=СкладГруппа.Ссылка;
    Форма.ХарактеристикаНоменклатуры=Неопределено;
    Форма.Пользователь=Ответственный.Ссылка;
    ВыбраннаяНоменклатура = Форма.ОткрытьМодально();
    КонецПроцедуры
    
  17. TopicStarter Overlay
    denis_msz
    Offline

    denis_msz

    Регистрация:
    15 фев 2011
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Предупреждение(ВыбраннаяНоменклатура) сообщает что нашла

    Результат тот же
  18. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Чего нашла?
  19. TopicStarter Overlay
    denis_msz
    Offline

    denis_msz

    Регистрация:
    15 фев 2011
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Код:
     Процедура ТоварыНоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = ложь;
    Форма = Справочники.Номенклатура.ПолучитьФормуВыбора(,Элемент);
    Форма.Склад=СкладГруппа.Ссылка;
    Форма.ХарактеристикаНоменклатуры=Неопределено;
    Форма.Пользователь=Ответственный.Ссылка;
    ВыбраннаяНоменклатура = Форма.ОткрытьМодально();
    Предупреждение(ВыбраннаяНоменклатура);
    КонецПроцедуры
    
    
  20. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    И что показывает предупреждение? Выбранную номенклатуру?

Поделиться этой страницей