7.7 Как передаются параметры в модулях

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем tmpnikl, 3 дек 2012.

  1. TopicStarter Overlay
    tmpnikl
    Offline

    tmpnikl Опытный в 1С

    Регистрация:
    28 ноя 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Есть документ, у документа есть форма(не моя), добавляю на эту форму новый checkbox в свойствах ввёл наименование и индификатор(может ещё что надо вводить не знаю) chkbx_1, теперь мне надо узнать его значение при проведение документа в модуле документа... Как посмотреть в модуле докмента значение этого объекта формы, или где вводится блок описания переменных,(глобальные, локальные и т.д.), чтоб присвоить этой переменной в модуле формы значение этого объекта( checkbox ), и чтоб эта переменная была видна в модуле документа?
  2. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Если элемент формы не связан с реквизитом объекта, то в модуле документа вы его значение не "увидите".
    Так что два пути: либо добавлять реквизит объекта (документа), либо передавать через глобальную переменную (объявить в глобальном модуле с ключевым словом Экспорт).
  3. TopicStarter Overlay
    tmpnikl
    Offline

    tmpnikl Опытный в 1С

    Регистрация:
    28 ноя 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Спасибо, потихоньку начинаю догонять, чтоб ввести чекбокс, я должен добавить в реквизит шапки новое значение, которое и будет наименованием нового поля в таблице этих документов. никаких свойств у этого поля(индекс и т.д.), кроме длины и типа нет...далее я прописываю какую-то функцию(обычно при Click),в формулу и присваиваиваю в формуле этому новому полю значение этого чекбокса, которое будет видно в модуле документа..наконец-то виден свет в тоннеле..:), правда вопрос возник, при создании нового документа есть два служебных атрибута наименование и номер, но как можно выбирать эти атрибуты при создании документа я не нашёл...
  4. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    А зачем функцию "писать"? У чекбокса (флажка) может быть только два значения: 0 (галка снята) и 1 (галка установлена).
    Создаете реквизит шапки типа Число и в диалоге размещения данных указываете, что элемент формы у этого реквизита - Флажок. Система сама будет отслеживать ваши нажатия и задавать значение реквизита (0 или 1).


    Наименование? Из основных служебных реквизитов (атрибутов) есть номер и дата, НомерДок и ДатаДок, соответственно.
    А что нужно делать с ними при создании?
  5. TopicStarter Overlay
    tmpnikl
    Offline

    tmpnikl Опытный в 1С

    Регистрация:
    28 ноя 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    не могу найти "Диалог размещения данных" у реквизита, вот что у меня в свойствах реквизита, диалога там нет...:-(
    [​IMG]
  6. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    На форме:
    или Меню-Вставить-Реквизиты
    или Ctrl-E
    или соответствующая кнопка панели.

    Отмечаем нужный реквизит флагом. Для числа возможны варианты. Выбирается в списке "вставить". Выберите "флажок"
  7. TopicStarter Overlay
    tmpnikl
    Offline

    tmpnikl Опытный в 1С

    Регистрация:
    28 ноя 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Всё понятно, но вопрос вот в чём, это создание реквизита(поля таблицы), только для элемента формы(флажка), и это поле будет заполняться(запоминаться), а мне не надо сохранять это значение в реквизите, это элемент интерфейса, а не значение в таблице..., например флажок может предлагать, показать краткую форму диалога или полную и т.д., это не реквизит шапки, это элемент формы и запоминать его не надо...
  8. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    тогда:
    Меню-Вставить-Флажок

    В поле идентификатора задаем имя. По этому реквизиту будем определять значение флага.
    0 - нет, 1 - да.
    Закладка дополнительно, поле формула: Здесь указываем имя процедуры модуля, которая вызывается при изменении флага
  9. TopicStarter Overlay
    tmpnikl
    Offline

    tmpnikl Опытный в 1С

    Регистрация:
    28 ноя 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    спасибо
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Не за что
    не забудьте вызвать процедуру из поля формула флага при открытии самой формы (процедура ПриОткрытии) для того чтобы значение флага и формы соответствовали
  11. TopicStarter Overlay
    tmpnikl
    Offline

    tmpnikl Опытный в 1С

    Регистрация:
    28 ноя 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Я ещё не совсем освоился, поэтому я ввёл в глобальном модуле переменную per_chkbx1 Экспорт, затем в процедуре ПриОткрытии per_chkbx1=0, и уже в формуле флага присваиваю ей значение этого флага (per_chkbx1=знач_флаг), и уже в модуле локумента, смотрю эту переменную... Понимаю, что всё криво, но из всего, что мне пишут, я читаю в инете, но всё равно понимаю пока процентов 20..:-((, база навыка ещё очень маленькая..
  12. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Это видно. Что опыта мало. Дело наживное.
    Насколько я понял на форме документа иметь "плавающий" флаг, т.е не индивидуален для документа, а так сказать "в целом". Установил его и на время всего сеанса помним. Я прав? Попахивает авантюрой. Тем более что вы его анализируете в модуле документа. А если документ будут перепроводить потом без изменения флага? Например при массовом перепроведении? Реквизиты которые участвуют в проведении должны храниться в документе. Рекомендую уже на стадии разработки отказаться от вашей идеи.
  13. TopicStarter Overlay
    tmpnikl
    Offline

    tmpnikl Опытный в 1С

    Регистрация:
    28 ноя 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Спасибо, но вроде массовой перепроводки не будет, а возникающие проблемы, постараюсь решать по мере их поступления, т.к. все проблемы решить нельзя...:)
  14. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Учитесь делать сразу ПРАВИЛЬНО. "Вроде не будет" не гарантирует что не будет ВООБЩЕ.
    А проставить реквизит в документе можно за 5 мин, написав обработку в которой всего 1 цикл.
  15. GlukAl
    Offline

    GlukAl Опытный в 1С

    Регистрация:
    4 окт 2012
    Сообщения:
    187
    Симпатии:
    7
    Баллы:
    29
    с использованием глобальной переменной может возникнуть ошибка, при открытии нескольких Документов этого Вида
    рекомендуюю прислушатся к совету Угодника и добавить реквизит в шапку документа
    хотя если данный флажок будет использоваться как Распечатывать при Проведении то конечно это будет не критично

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