8.х Свойства и значения

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

  1. TopicStarter Overlay
    ivan3333567
    Offline

    ivan3333567

    Регистрация:
    27 янв 2014
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    Как можно сделать что при открытии внешней печатной формы в свойствах у документа "реализация товаров и услуг" вместо пустого значения вставить значение "нет"?

    Вложения:

    • упп.png
      упп.png
      Размер файла:
      31,6 КБ
      Просмотров:
      11
  2. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.982
    Симпатии:
    398
    Баллы:
    104
    Для начала нужно понять где хранятся свойства документа. Какая конфа?
  3. TopicStarter Overlay
    ivan3333567
    Offline

    ivan3333567

    Регистрация:
    27 янв 2014
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    Управление производственным предприятием, редакция 1.3
  4. НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    Я недавно такое делал, вот готовая процедура, просто подставь в нужное событие и значение ложь
    Код:
    Процедура ЗаписьСделки(ЭтотОбъект,ЗнПроб)Экспорт
     
        // Объявляем переменную и задаем ей значение по умолчанию.
        Перем А
        А =  Ложь;
     
        МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
        МенеджерЗаписи.Объект = ЭтотОбъект.Ссылка;
        // "Твое свойство - Это название свойство в документе.
        МенеджерЗаписи.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Твое свойство");
     
        // Тип("Булево") Этот тот тип значения свой свойство которое мы определили.
        Если ТипЗнЧ(ЗнПроб) = Тип("Булево") Тогда
            МенеджерЗаписи.Значение = ЗнПроб;
        Иначе
            МенеджерЗаписи.Значение = А;
        КонецЕсли;
     
        МенеджерЗаписи.Записать();
     
    КонецПроцедуры
    Последнее редактирование: 18 мар 2014
  5. TopicStarter Overlay
    ivan3333567
    Offline

    ivan3333567

    Регистрация:
    27 янв 2014
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    А можете подсказать как в событие эту процедуру вставить?
  6. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.982
    Симпатии:
    398
    Баллы:
    104
    Код:
    Процедура ЗаписьСделки(ЭтотОбъект,ЗнПроб)Экспорт
    
    // Объявляем переменную и задаем ей значение по умолчанию.
    Перем А
    А = Ложь;
    
    МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
    МенеджерЗаписи.Объект = ЭтотОбъект.Ссылка;
    // "Твое свойство - Это название свойство в документе.
    МенеджерЗаписи.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Твое свойство");
    
    // Тип("Булево") Этот тот тип значения свой свойство которое мы определили.
    Если ТипЗнЧ(ЗнПроб) = Тип("Булево") Тогда
    МенеджерЗаписи.Значение = ЗнПроб;
    Иначе
    МенеджерЗаписи.Значение = А;
    КонецЕсли;
    
    МенеджерЗаписи.Записать();
    
    КонецПроцедуры
    Процедура ПриОткрытии()
       
    ЗаписьСделки(ЭтотОбъект, Ваше значение);
    
    
    КонецПроцедуры
    
    
  7. TopicStarter Overlay
    ivan3333567
    Offline

    ivan3333567

    Регистрация:
    27 янв 2014
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    ТипЗнЧ(ЗнПроб) - Это где взять?
  8. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.982
    Симпатии:
    398
    Баллы:
    104
    Видите мое "Ваше значение". Так вот вместо этого нужно написать то значение, которое Вы хотите проставить.
  9. НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    Это значение Истина/Ложь. Вам нужно в процедуру ПриОткрытии поставить процедуру ЗаписьСделки, которую, Вам желательно разместить в общем модуле
    И написать ЗаписьСделки(ЭтотОбъект, Ложь)-установить значенре НЕТ
    ЗаписьСделки(ЭтотОбъект, Истина)-установить значенре ДА
  10. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.982
    Симпатии:
    398
    Баллы:
    104
    Вероятность того, что она ему пригодится в другом документе мала. А Общие модули обновляются часто. Только если конечно он свой не создаст. Что, думаю, лишнее. Хотя зависит от количества доработок.
  11. TopicStarter Overlay
    ivan3333567
    Offline

    ivan3333567

    Регистрация:
    27 янв 2014
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    Ошибку выводит -Запись не верна! Значение поля "Объект" не может быть пустым!
  12. НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    У меня просто свой модуль. На будущее полезно, если будет в дальнейшим дорабатывать, не нужно будет лазить по другим модулям, чтобы перетащить в свой)))

    Ну а так, хозяин барин))
    --- Объединение сообщений, 18 мар 2014 ---
    Пришли скрин, что и где ты вставляешь.
  13. TopicStarter Overlay
    ivan3333567
    Offline

    ivan3333567

    Регистрация:
    27 янв 2014
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    вам скрин прислать где показан модуль с вашей процедурой?
  14. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.982
    Симпатии:
    398
    Баллы:
    104
    Учитесь пользоваться отладчиком. Рассказать как?
  15. TopicStarter Overlay
    ivan3333567
    Offline

    ivan3333567

    Регистрация:
    27 янв 2014
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    да, если не сложно:) а во внешней обработки можно отладчиком пользоваться?
  16. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.982
    Симпатии:
    398
    Баллы:
    104
    Конечно. Ставите точку останова на нужной строке модуля. Затем запускаете программу в режиме отладки. Провоцируете свою обработку, чтобы она начала выполнять этот код. Управление переходит в модуль. А там уже можно просмотреть значения, которые передаются в переменные и, пошагово отладить код
  17. TopicStarter Overlay
    ivan3333567
    Offline

    ivan3333567

    Регистрация:
    27 янв 2014
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    так, а где значения смотреть?
  18. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.982
    Симпатии:
    398
    Баллы:
    104
    Правой кнопкой мыши-->Вычислите выражение
  19. TopicStarter Overlay
    ivan3333567
    Offline

    ivan3333567

    Регистрация:
    27 янв 2014
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    ого)огромное вам спасибо! так намного удобней все делать:)
    --- Объединение сообщений, 18 мар 2014 ---
    только что-то во всех строках в значении пишет "ошибка в выражении "
    Последнее редактирование: 18 мар 2014
  20. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.982
    Симпатии:
    398
    Баллы:
    104
    Скриншот?

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