7.7 Заполнение многострочной части

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем НеОчень, 30 апр 2012.

  1. TopicStarter Overlay
    НеОчень
    Offline

    НеОчень

    Регистрация:
    30 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Ситуация: есть документ1 с реквизитами Номерсв и Вес. В нем есть кнопочка, при нажатии которой открывается документ2 с реквизитами Название, Вес (тип "Число"), Примечания. Примечания привязан к Перечислениям "ВидыСв".
    Нужно чтобы при нажатии "Ок" значения Название и Вес перенеслись в документ1 в поля Номерсв и Вес.
    Может кто подскажет как это реализовать?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Да. Через параметр формы передавайте контекст документа1. Форму документа 2 нужно открывать модально (для того чтобы можно было работать с т.ч. 1го документа)
  3. TopicStarter Overlay
    НеОчень
    Offline

    НеОчень

    Регистрация:
    30 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Извините, я просто новичок в 1с программировании, учусь так сказать. Вот связка похожая на мою ситуацию, не могу разобраться, как она работает

    связка АвансовыйОтчет-ПоступлениеМЗ

    АвансовыйОтчет:
    Если (Форма.АктивныйЭлемент() = "РасчетныйДокумент") Тогда
    Если ПустоеЗначение(РасчетныйДокумент)=0 Тогда
    Параметр=СоздатьОбъект("СписокЗначений");
    Параметр.Установить("Контекст" , Контекст );
    Параметр.Установить("Действие" , "ВводИзАвансовогоОтчета");
    Параметр.Установить("НомерСтроки" , НомерСтроки);
    ОткрытьФормуМодально(РасчетныйДокумент,Параметр);
    КонецЕсли;
    КонецЕсли;
    ПоступлениеМЗ:
    Если Выбран() = 1 Тогда
    КонтекстОснования.РасчетныйДокумент = ТекущийДокумент();
    КонтекстОснования.Сумма = Итог("Всего");
    КонтекстОснования.СуммаПоОтчету = Итог("Всего");
    КонтекстОснования.СтавкаНДС = "";
    КонтекстОснования.НДС = Итог("НДС");
    КонтекстОснования.СчетКредита = СчетКредита;
    КонецЕсли;

    Я так понимаю, если Расчетный документ активный, то проверяется пустой ли он. Если нет, то создается список значений, в который устанавливаются параметры. А вот дальше не очень понятно. Например, что происходит здесь?

    Параметр.Установить("Контекст" , Контекст );
    Параметр.Установить("Действие" , "ВводИзАвансовогоОтчета");
    Параметр.Установить("НомерСтроки" , НомерСтроки);

    или что такое КонтекстОснования.РасчетныйДокумент = ТекущийДокумент(); ?


    Если не сложно, помогите понять суть в двух словах?
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    КонтекстОснования это скорее всего переменная. Смотрите его определение в процедуре ПриОткрытии документа ПоступлениеМПЗ.
    Она как раз содержит данные переданные в документ из АвансовогоОтчета.

    Относительно
    Код:
    Параметр.Установить("Контекст"			, Контекст );
    здесь вы передаете в качестве параметра ссылку на документ Авансовый отчет. Имея эту ссылку в ПоступленииМПЗ вы можете изменять данные в АвансовомОтчете (при условии что ПоступлениеМПЗ была открыта модально) К реквизитам шапки вы можете обратится и в не модальном режиме, а вот управлять/изменять ТЧ докумета можно только модально (особенность)

    Убедительная просьба - пользоваться тегами
  5. TopicStarter Overlay
    НеОчень
    Offline

    НеОчень

    Регистрация:
    30 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    да, с пониманием "контекста" у меня трудности) для чего он никак вьехать не могу...ладно, это дело времени

    В документе2 пишу:
    Код:
    Процедура ПередПар()
    Парам = СоздатьОбъект("СписокЗначений");
    Парам.ДобавитьЗначение(Вес,"Вес"); 
    ОткрытьФормуМодально("Документ.РеализацияЖивотных", Парам);
    КонецПроцедуры
    В кнопку "Ок" добавляю формулу ПередПар()

    В документе1 пишу в процедуре ПриОткрытии()

    Код:
    Вес = Форма.Параметр.Получить("Вес");
    Выдает ошибку

    Вес = Форма.Параметр.Получить("Вес");
    {Документ.РеализацияЖивотных.Форма.Модуль(721)}: Значение не представляет агрегатный объект (Получить)
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Нужно добавить проверку на наличие параметра... Иначе интерактивно документ не откроете
    Код:
    Парам=Форма.Параметр;
    Если ПустоеЗначение(Парам)=0 Тогда
    Вес = Парам.Получить("Вес");
    КонецЕсли;
    
  7. TopicStarter Overlay
    НеОчень
    Offline

    НеОчень

    Регистрация:
    30 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Да, спасибо, ошибок нет. Но почему то не устанавливает "вес" из документ2 в "вес" документ1 при нажатии ок
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Покажите код.
    • как передаете
    • как устанавливаете
  9. TopicStarter Overlay
    НеОчень
    Offline

    НеОчень

    Регистрация:
    30 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Так передаю итог по колонке "Вес" :
    Код:
    Процедура ПередПар()
    Парам = СоздатьОбъект("СписокЗначений");
    Парам.ДобавитьЗначение(Итог("Вес"), "Вес");
    ОткрытьФормуМодально("Документ.РеализацияЖивотных", Парам);
    КонецПроцедуры
    Так устанавливаю в процедуре ПриОткрытии:
    Код:
    Парам=Форма.Параметр;
    Если ПустоеЗначение(Парам)=0 Тогда
    Вес = Парам.Получить("Вес");
    Сообщить(Вес);
    КонецЕсли;
    Сообщить(Вес) для проверки писал. Получаю "0"
    "Вес" в принимаемом документе это реквизит табличной части
  10. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    пВес = Парам.Получить("Вес");
    просто получи в переменную
    потом присвоишь куда надо
  11. TopicStarter Overlay
    НеОчень
    Offline

    НеОчень

    Регистрация:
    30 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    да, так передает...а как теперь присвоить табличной части это значение, потому что у меня никак не получается
  12. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    ну, ты ж должен в определенную строку енто вставить
    в какую, новую, текущую
    расскажи логику что должно произойти
  13. TopicStarter Overlay
    НеОчень
    Offline

    НеОчень

    Регистрация:
    30 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    ну то есть, есть созданный реквизит табличной части "вес". вот туда надо этот переданный параметр и вставить
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Нафига????? Достаточно просто передать контекст документа и с ним работать.
  15. TopicStarter Overlay
    НеОчень
    Offline

    НеОчень

    Регистрация:
    30 апр 2012
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    та я не могу разобраться как это сделать
  16. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    сколько строк в табл.части и в какую ты хочешь присвоить значение веса
  17. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Я так понял что все... Нужна ассоциация по "ВидуСв" как я понял
Похожие темы
  1. yXaPb
    Ответов:
    4
    Просмотров:
    1.670
  2. Ket
    Ответов:
    3
    Просмотров:
    1.527
  3. Asttoxa
    Ответов:
    1
    Просмотров:
    671
  4. Asttoxa
    Ответов:
    2
    Просмотров:
    392
  5. SergeBG
    Ответов:
    10
    Просмотров:
    2.187
Загрузка...

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