Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
16 Дек 2017, 02:35
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Заполнить ТЧ документа данными из ТЧ произвольной формы выбора  (Прочитано 6357 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн deman_ru

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-05-25
  • Сайт: 
  • Профессия: Программист 8.1
Уважаемые форумчане, помогите новичку разобраться, суть проблемы такова.
Есть документ, в нем есть табличная часть "Номенклатура" с полями "Препарат" и "Количество"
Добавляю в табличную часть новую строку, далее из поля "Препарат" вызываю произвольную в режиме выбора произвольную форму. На этой форме расположено табличное поле, в которое помещаются данные из следующего запроса:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОстаткиНоменклатурыОстатки.Препарат,
| ОстаткиНоменклатурыОстатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ОстаткиНоменклатуры.Остатки КАК ОстаткиНоменклатурыОстатки";

Выборка = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение = Выборка;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();


Как мне сделать так, чтобы при двойном клике по нужной строке табличного поля (Выборе записи) данные строки попали в текущую строку табличной части документа, из которой осуществлялся выбор, и форма закрылась.
Как если бы это было при какой-нибудь стандартной форме выбора.
Подскажите пожалуйста!?


Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Уважаемые форумчане, помогите новичку разобраться, суть проблемы такова.
Есть документ, в нем есть табличная часть "Номенклатура" с полями "Препарат" и "Количество"
Добавляю в табличную часть новую строку, далее из поля "Препарат" вызываю произвольную в режиме выбора произвольную форму. На этой форме расположено табличное поле, в которое помещаются данные из следующего запроса:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОстаткиНоменклатурыОстатки.Препарат,
| ОстаткиНоменклатурыОстатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ОстаткиНоменклатуры.Остатки КАК ОстаткиНоменклатурыОстатки";

Выборка = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение = Выборка;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();


Как мне сделать так, чтобы при двойном клике по нужной строке табличного поля (Выборе записи) данные строки попали в текущую строку табличной части документа, из которой осуществлялся выбор, и форма закрылась.
Как если бы это было при какой-нибудь стандартной форме выбора.
Подскажите пожалуйста!?

При вызове формы (ПолучитьФормуВыбора )надо правильно указать владельца (элемент), режимвыбора = истина и оно само все сделает

Оффлайн deman_ru

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-05-25
  • Сайт: 
  • Профессия: Программист 8.1
Цитировать
При вызове формы (ПолучитьФормуВыбора )надо правильно указать владельца (элемент), режимвыбора = истина и оно само все сделает

В обработчике события ПриВыборе, поля Препарат, табличной части Номенклатура документа, пишу следующий код:
Процедура НоменклатураПрепаратНачалоВыбора(Элемент, СтандартнаяОбработка)
     СтандартнаяОбработка = Ложь;
Форма = Справочники.Номенклатура.ПолучитьФормуВыбора("ФормаВыбора1", Элемент);
Форма.РежимВыбора = Истина;
Форма.Открыть();
КонецПроцедуры
Нужная форма с данными открывается, но при двойном щелчке по строке (пытаюсь выбрать) ничего не происходит, программа не реалигует, может нужно еще что то прописать в обработчике события Выбор, табличного поля формы?

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
При вызове формы (ПолучитьФормуВыбора )надо правильно указать владельца (элемент), режимвыбора = истина и оно само все сделает

В обработчике события ПриВыборе, поля Препарат, табличной части Номенклатура документа, пишу следующий код:
Процедура НоменклатураПрепаратНачалоВыбора(Элемент, СтандартнаяОбработка)
     СтандартнаяОбработка = Ложь;
Форма = Справочники.Номенклатура.ПолучитьФормуВыбора("ФормаВыбора1", Элемент);
Форма.РежимВыбора = Истина;
Форма.Открыть();
КонецПроцедуры
Нужная форма с данными открывается, но при двойном щелчке по строке (пытаюсь выбрать) ничего не происходит, программа не реалигует, может нужно еще что то прописать в обработчике события Выбор, табличного поля формы?

Тут все правильно, в вызываемой форме при 2-ом клиеке не отрабатывает функция ОповеститьОВыборе() по неким причинам. Вызываешь её и закрываешь форму.

Оффлайн deman_ru

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-05-25
  • Сайт: 
  • Профессия: Программист 8.1
Цитировать
Тут все правильно, в вызываемой форме при 2-ом клиеке не отрабатывает функция ОповеститьОВыборе() по неким причинам. Вызываешь её и закрываешь форму.
А откуда ее вызывать?
Если из формы:
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
ОповеститьОВыборе(ЗначениеВыбора);
КонецПроцедуры
При двойном клике (выбираю запись) вообще ничего не происходит.

Если вызываю из табличного поля формы, обработчик Выбор:
Процедура ТабличноеПоле1Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
ОповеститьОВыборе(ВыбраннаяСтрока);
КонецПроцедуры
Дочерняя форма закрывается, в табличную часть родительской ничего не заносится(
что не так?

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
Тут все правильно, в вызываемой форме при 2-ом клиеке не отрабатывает функция ОповеститьОВыборе() по неким причинам. Вызываешь её и закрываешь форму.
А откуда ее вызывать?
Если из формы:
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
ОповеститьОВыборе(ЗначениеВыбора);
КонецПроцедуры
При двойном клике (выбираю запись) вообще ничего не происходит.

Если вызываю из табличного поля формы, обработчик Выбор:
Процедура ТабличноеПоле1Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
ОповеститьОВыборе(ВыбраннаяСтрока);
КонецПроцедуры
Дочерняя форма закрывается, в табличную часть родительской ничего не заносится(
что не так?

Это надеюсь в форме выбора написано?

Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
   ОповеститьОВыборе(ЗначениеВыбора);
КонецПроцедуры

Оффлайн deman_ru

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-05-25
  • Сайт: 
  • Профессия: Программист 8.1
Цитировать

Это надеюсь в форме выбора написано?

Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
   ОповеститьОВыборе(ЗначениеВыбора);
КонецПроцедуры


Да! Я прошу простить меня за мою тупость) я хотя бы понял механизм.
В "ЗначениеВыбора" содержится строка таблицы значений, т.е. данные выбранные из строки табличной части формы выбора.
У меня теперь загвоздка, как выбрать данные из таблицы значений и поместить их в поля табличной части документа?

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Цитировать

Это надеюсь в форме выбора написано?

Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
   ОповеститьОВыборе(ЗначениеВыбора);
КонецПроцедуры


Да! Я прошу простить меня за мою тупость) я хотя бы понял механизм.
В "ЗначениеВыбора" содержится строка таблицы значений, т.е. данные выбранные из строки табличной части формы выбора.
У меня теперь загвоздка, как выбрать данные из таблицы значений и поместить их в поля табличной части документа?

в форме выбора должен быть список значений по идеи, а не ТЧ. Кто мешает передавать "ЗначениеВыбора.Номенклатура" ?
Добавлено: 09 Окт 2013, 21:29

Что насчет отладчика в событии "ОповещениеОВыборе" в форме владельца? Чтонить там есть?

Оффлайн deman_ru

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-05-25
  • Сайт: 
  • Профессия: Программист 8.1
Цитировать

Это надеюсь в форме выбора написано?

Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
   ОповеститьОВыборе(ЗначениеВыбора);
КонецПроцедуры


Да! Я прошу простить меня за мою тупость) я хотя бы понял механизм.
В "ЗначениеВыбора" содержится строка таблицы значений, т.е. данные выбранные из строки табличной части формы выбора.
У меня теперь загвоздка, как выбрать данные из таблицы значений и поместить их в поля табличной части документа?

в форме выбора должен быть список значений по идеи, а не ТЧ. Кто мешает передавать "ЗначениеВыбора.Номенклатура" ?
Добавлено: 09 Окт 2013, 21:29

Что насчет отладчика в событии "ОповещениеОВыборе" в форме владельца? Чтонить там есть?
В ЗначениеВыбора, хранились данные выбранной строки формы выбора, данные в виде таблицы значений, но они там хранились в один столбец. Я в форме выбора создал новую таблицу и ее столбцы, заполнил данными строки и передал в родительскую форму. Потом оттуда считал и записал в поля табличной части документа.
Зашел из далека) но хотя бы разобрался)
Спасибо Вам за помощь!


 

Не открывает форму сохраненного документа, открывает форму нового.

Автор EHOTРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 4478
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Автоматическое заполнение табличной части документа из табличной части другого

Автор WillРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 15943
Последний ответ 16 Авг 2012, 12:07
от Will
Заполнение поля табличной части документа из табличной части справочника.

Автор Kurt_WagnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 4200
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

Автор kaf_infoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 632
Последний ответ 10 Май 2017, 20:44
от ilnur75
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7749
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
154 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
46 Сообщений
oleg-x
44 Сообщений
andron81_81
44 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
BuhRust
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 129
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal