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

Автор Тема: Передача данный из формы в подчиненную форму  (Прочитано 5629 раз)

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

Оффлайн Никитa

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-02-18
  • Сайт: 
  • Профессия: Ученик 1С
Подскажите пожалуйста как передавать данные из формы в подчиненную форму?   :dfbsdfbsdf:
На главной форме мы указываем в поле ответственное лицо: Иванов И.И                  нужно сделать так, что когда мы открываем подчиненную форму у нас уже стояло ответственное лицо : Иванов И.И
Это нужно для удобства, чтобы не указывать 2 раза ответственное лицо.


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Приведите код, которым открывается подчиненная форма.

Скорее всего там есть что-то вроде:
ОткрываемаяФорма = ЧтоТоБлаБлаБла.ПолучитьФорму();
ОткрываемаяФорма.Открыть();
Если это так, то сделайте вот так:
ОткрываемаяФорма = ЧтоТоБлаБлаБла.ПолучитьФорму();
ОткрываемаяФорма.ИмяРеквизитаКоторыйВамНадоЗаполнить = ЗначениеКотороеНадоПодставить;
ОткрываемаяФорма.Открыть();

Оффлайн wise

  • ****
  • Сообщений: 428
  • РЕПУТАЦИЯ: 58
  • КПД: 14%
  • Кто сгорел, того не подожжешь
  • Регистрация: 2013-03-21
  • Сайт: 
  • Профессия: Ученик 1С
(0) реквизит "ОтветственноеЛицо" и во ВСЕХ формах ВСЁ в порядке. (ИМХО твой случай)

а вообще, можно ЗАПОЛНИТЬ ОтветственноеЛицо ДО открытия...

а ЕЩЁ здесь можно посмотреть...
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Оффлайн Никитa

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-02-18
  • Сайт: 
  • Профессия: Ученик 1С
Приведите код, которым открывается подчиненная форма.

Скорее всего там есть что-то вроде:
ОткрываемаяФорма = ЧтоТоБлаБлаБла.ПолучитьФорму();
ОткрываемаяФорма.Открыть();
Если это так, то сделайте вот так:
ОткрываемаяФорма = ЧтоТоБлаБлаБла.ПолучитьФорму();
ОткрываемаяФорма.ИмяРеквизитаКоторыйВамНадоЗаполнить = ЗначениеКотороеНадоПодставить;
ОткрываемаяФорма.Открыть();
Там такая штука

Процедура ПриОткрытии()
         
   Если ЭтоНовый() тогда
         НачалоПлан = ТекущаяДата();
         
         ОкончаниеПлан = ТекущаяДата() + 86400;
         
         
         Статус = Перечисления.СтатусМероприятия.План;
         Наименование = "Задача " + Код;
         Распределять = истина;
   КонецЕсли;   
   
КонецПроцедуры

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Там такая штука
там - это где?
каким образом открывается подчиненная форма?

Оффлайн Никитa

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-02-18
  • Сайт: 
  • Профессия: Ученик 1С
Там такая штука
там - это где?
каким образом открывается подчиненная форма?
Скрины вот ...там красным на последнем отметил, где нужно чтобы автоматически при открытии формы и прописывалась фамилия ...в данном случае Гайсина Зульфия Нажиповна.
111.JPG
222.JPG
333.JPG
Модуль подчиненной формы вот:

Процедура ПриОткрытии()
         
   Если ЭтоНовый() тогда
         НачалоПлан = ТекущаяДата();
         
         ОкончаниеПлан = ТекущаяДата() + 86400;
         
         
         Статус = Перечисления.СтатусМероприятия.План;
         Наименование = "Задача " + Код;
         Распределять = истина;
   КонецЕсли;   
   
КонецПроцедуры


Процедура МатериалыМатериалПриИзменении(Элемент)
   
   ТекущиеДанные = ЭлементыФормы.Материалы.ТекущиеДанные;
   Материал=ТекущиеДанные.Материал;
   Если НЕ ПустаяСтрока(Материал.ЕдиницыИзмерения) Тогда
         ТекущиеДанные.ЕдиницыИзмерения = Материал.ЕдиницыИзмерения;
   КонецЕсли;
   Если ТекущиеДанные.Количество = 0 тогда
      ТекущиеДанные.Количество = 1;
   КонецЕсли;
   
КонецПроцедуры

Процедура ОборудованиеОборудованиеПриИзменении(Элемент)
      
   ТекущиеДанные = ЭлементыФормы.Оборудование.ТекущиеДанные;
   Если ТекущиеДанные.Количество = 0 тогда
      ТекущиеДанные.Количество = 1;
   КонецЕсли;
   
КонецПроцедуры

Процедура ИсполнителиИсполнительПриИзменении(Элемент)
   ТекущиеДанные = ЭлементыФормы.Исполнители.ТекущиеДанные;
   Если ТекущиеДанные.ДоляУчастия = 0  и Исполнители.Количество() = 1 тогда
      ТекущиеДанные.ДоляУчастия = 100;
   Иначе   
      Если Распределять тогда   
         Для каждого Исполнитель из Исполнители цикл
            Исполнитель.ДоляУчастия=100/Исполнители.Количество();
         КонецЦикла;
      КонецЕсли;
   КонецЕсли;
   
   
   

КонецПроцедуры

Процедура ИсполнителиДоляУчастияПриИзменении(Элемент)
   
         
   Если Распределять тогда   
         Для каждого Исполнитель из Исполнители цикл
            Исполнитель.ДоляУчастия=100/Исполнители.Количество();
         КонецЦикла;
      Иначе
         
         
         ДоляУчастияИтого = 0;
         Для каждого Исполнитель из Исполнители цикл
            ДоляУчастияИтого = ДоляУчастияИтого+Исполнитель.ДоляУчастия;
         КонецЦикла;
         
         Если ДоляУчастияИтого>100 Тогда
          ТекущиеДанные = ЭлементыФормы.Исполнители.ТекущиеДанные;
             ДоляУчастиТекущееЗначение = ТекущиеДанные.ДоляУчастия;
              Если ДоляУчастияИтого - ДоляУчастиТекущееЗначение <= 100 Тогда
               ТекущиеДанные.ДоляУчастия = 100 - (ДоляУчастияИтого - ДоляУчастиТекущееЗначение); 
                 Иначе   
                         Для каждого Исполнитель из Исполнители цикл
                           Исполнитель.ДоляУчастия=100/Исполнители.Количество();
                  КонецЦикла;
              КонецЕсли;
         
         КонецЕсли;   
         
                  
         
         
         
         
         
         
   КонецЕсли;

КонецПроцедуры

Процедура ФлагРавномерноПриИзменении(Элемент)
   Если Распределять тогда   
         Для каждого Исполнитель из Исполнители цикл
            Исполнитель.ДоляУчастия=100/Исполнители.Количество();
         КонецЦикла;
   КонецЕсли;

КонецПроцедуры

Процедура ПолосаРегулирования1ПриИзменении(Элемент)
   Если Процент < 100 тогда
      Статус = Перечисления.СтатусМероприятия.ВРаботе;
   КонецЕсли;

   Если Процент = 0 тогда
      Статус = Перечисления.СтатусМероприятия.План;
   КонецЕсли;

   
КонецПроцедуры

Процедура ТехникаТехникаПриИзменении(Элемент)
   ПТехника = ЭлементыФормы.Техника.ТекущиеДанные.Техника;
   Если НЕ ПустаяСтрока(ПТехника.ЕдиницыИзмерения) Тогда
         ЭлементыФормы.Техника.ТекущиеДанные.ЕдиницыИзмерения = ПТехника.ЕдиницыИзмерения;
   КонецЕсли;
КонецПроцедуры


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Если я правильно понял, то что увидел на скриншотах, то у вас создаются новые элементы справочника.
Попробуйте из формы справочника обратиться к владельцу формы - ВладелецФормы. Для начала поставьте точку останова в процедуре ПриОткрытии и посмотрите значение ВладелецФормы, от этого можно будет плясать дальше.

Есть второй путь.
Перехватывать событие ПередНачаломДобавления табличного поля, там установить СтандартнаяОбработка = Ложь и далее как я выше писал - получать форму нового, заполняя в ней нужные реквизиты.

Оффлайн Никитa

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-02-18
  • Сайт: 
  • Профессия: Ученик 1С
Если я правильно понял, то что увидел на скриншотах, то у вас создаются новые элементы справочника.
Попробуйте из формы справочника обратиться к владельцу формы - ВладелецФормы. Для начала поставьте точку останова в процедуре ПриОткрытии и посмотрите значение ВладелецФормы, от этого можно будет плясать дальше.

Есть второй путь.
Перехватывать событие ПередНачаломДобавления табличного поля, там установить СтандартнаяОбработка = Ложь и далее как я выше писал - получать форму нового, заполняя в ней нужные реквизиты.
Да там когда нажимаем добавить, и открывается эта подчиненная форма.
А вообще нужно вводить какие либо переменные, или получать родительский элемент и из него выбирать ?

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
я вам все написал, дальше пробуйте и пишите, что не получается.
еще раз:
первое: проверить значение ВладелецФормы при открытии формы элемента справочника.
второе: если первое по каким-то причинам не подходит - переписываете стандартную обработку, события ПередНачаломДобавления.

начните что-то делать и если будут вопросы, пишите.

Оффлайн Никитa

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-02-18
  • Сайт: 
  • Профессия: Ученик 1С
Разобрался сделал так:
Процедура ПриОткрытии()
   Если Владелец.Родитель="Неопределенно" Тогда
      Сообщить("Не записан ремонт");
      Возврат;
   КонецЕсли;
   Если ЭтоНовый() тогда
         НачалоПлан = ТекущаяДата();
         
         ОкончаниеПлан = ТекущаяДата() + 86400;
         
         
         Статус = Перечисления.СтатусМероприятия.План;
         Наименование = "Задача " + Код;
         Распределять = истина;
         Ответственный=Владелец.Ответственный;
         НачалоФакт=Владелец.НачалоФакт;
         Подрядчик=Владелец.ГенПодрядчик;
            ВидРабот=Владелец.ВидРабот;
            ОкончаниеФакт=Владелец.ОкончаниеФакт;
            КонструктивныйЭлемент=Владелец.КонструктивныйЭлемент;
         КонецЕсли;   
   


 

Не работает метод Сдвинуть() по отношению к программно добавляемой колонке1С:Предприятие 8.3 (8.3.10.2561) Управление производственным предприятием, редакция 1.4 Приветствую, я добавляю программно свою колонку в методе ПриОткрытии() модуля формы, вот так

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

Ответов: 2
Просмотров: 285
Последний ответ 21 Сен 2017, 10:33
от Insider
Редактирование формы "Настройки пользователя".

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

Ответов: 2
Просмотров: 4812
Последний ответ 03 Авг 2011, 11:45
от t955938
получаю значение реквизита формы, дает значение 0

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

Ответов: 2
Просмотров: 3407
Последний ответ 12 Июл 2013, 15:35
от mikel10
Как обратиться к функции модуля формы из модуля Менеджера?

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

Ответов: 6
Просмотров: 4985
Последний ответ 10 Июл 2014, 14:05
от cska-fanat-kz
Настройка формы "Заполнение товаров"

Автор ЖаннаРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 582
Последний ответ 10 Мар 2017, 21:00
от Жанна

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
172 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 597
  • Точка Скрытых: 0
  • Точка Пользователей: 7
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal