8.х Запрос на выбор сотрудников из документа на форме

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

  1. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    а параметр где устанавливаете ?
  2. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Само поле имеется ввиду что ВыбДок а не &ВыбДок ?
  3. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Все же проще будет, если выложите код
  4. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    блиииин, ну неужели трудно выложить код, пятый раз прошу
  5. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Кроме запроса нет ничего я же писал уже. Пока в файл ничего не пишу а пока хочу просто вывести хотябы то что нужно т.е. запрос с условием отбора по док-ту выбранному на форме в поле ВыбДок и все пока что. И Вот у меня проблема возникла как это тут прописать в 8 если я указываю Условие прямо что Документ = ВыбДок то ругается типа нет такого ВыбДок для меня это не понятно как нет когда есть
  6. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Для того чтобы отбор работал - нужно устанавливать значение параметра отбора. Что-то типа такого:
    Код:
    Запрос.УстановитьПараметр("ВыбДок", значение ссылки на документ);
  7. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Код:
    Процедура Сформировать()
       
        Запрос = Новый Запрос(
            "
            | ВЫБРАТЬ
            |   НачислениеЗарплатыНачисления.Сотрудник,
            |   НачислениеЗарплатыНачисления.Результат,
            |   НачислениеЗарплатыНачисления.Ссылка
    
            | ИЗ
            |   Документ.НачислениеЗарплаты.Начисления КАК НачислениеЗарплатыНачисления,
            |   Документ.НачислениеЗарплаты КАК НачислениеЗарплаты
    
            | ГДЕ
            |   НачислениеЗарплатыНачисления.Ссылка = &ВыбДок
            |"
        );
        Запрос.УстановитьПараметр("ВыбДок", ВыбДок);
        Результат = Запрос.Выполнить();
    
    КонецПроцедуры
    Вот я сделал процедурку но тут нужно определить както ВыбДок. Как это сделать это ведь элемент формы с типом Документ, как правильно прописать?
  8. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Код:
    Процедура Сформировать(ВыбДок)
    
    Запрос = Новый Запрос(
    "
    | ВЫБРАТЬ
    | НачислениеЗарплатыНачисления.Сотрудник,
    | НачислениеЗарплатыНачисления.Результат,
    | НачислениеЗарплатыНачисления.Ссылка
    
    | ИЗ
    | Документ.НачислениеЗарплаты.Начисления КАК НачислениеЗарплатыНачисления,
    | Документ.НачислениеЗарплаты КАК НачислениеЗарплаты
    
    | ГДЕ
    | НачислениеЗарплатыНачисления.Ссылка = &ВыбДок
    |"
    
    ВыбДок = ПолеВашейФормы.ПолеВкоторомВыВыбираетеНужныйДокумент;
    
    Запрос.УстановитьПараметр("ВыбДок", ВыбДок);
    Результат = Запрос.Выполнить();
    
    КонецПроцедуры
  9. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Спасибо завтра попробую.!
  10. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    А как получить поле формы и ее значение?
    Код:
    ВыбДок = ПолеВашейФормы.ПолеВкоторомВыВыбираетеНужныйДокумент;
  11. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Вы смеетесь ?
    --- Объединение сообщений, 29 май 2015 ---
    Можно через ЭтотОбъект, ЭлементыФормы и т.п. все зависит от того, является этот реквизит реквизитом объекта или формы.
  12. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Пробовал и так и так
    --- Объединение сообщений, 29 май 2015 ---
    Чтоб обратиться к ЭлементыФормы нужно вначале определить саму Форму чтоли? Я же пишу в модуле формы почему она не знает своих реквизитов не понимаю. Пишу Док = ЭлементыФормы.ВыбДок выдает ошибку неизвестная переменная ЭлементыФормы. 444.png
    Последнее редактирование: 29 май 2015
  13. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    ДокНачисление - у вас реквизит формы. Сделайте его лучше реквизитом объекта, проще будет работать. Про ВыбДок вообще не понятно. Разверните структуру объекта и покажите скрин.
  14. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    ВыбДок элемент формы 555.png
  15. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Тогда, вроде, можно достучаться так:
    ЭтаФорма.ВыбДок;
  16. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Поле объекта не обнаружено ВыбДок. Чувствую где-то близко но где...
    Код:
    &НаСервере
    Процедура СформироватьНаСервере()
        Док = ЭтаФорма.ВыбДок;
       
        Запрос = Новый Запрос(
            "
            | ВЫБРАТЬ
            |   НачислениеЗарплатыНачисления.Сотрудник,
            |   НачислениеЗарплатыНачисления.Результат,
            |   НачислениеЗарплатыНачисления.Ссылка
    
            | ИЗ
            |   Документ.НачислениеЗарплаты.Начисления КАК НачислениеЗарплатыНачисления,
            |   Документ.НачислениеЗарплаты КАК НачислениеЗарплаты
    
            | ГДЕ
            |   НачислениеЗарплатыНачисления.Ссылка = &ВыбДок
            |"
        );
    //    Запрос.УстановитьПараметр("ВыбДок", Док);
        Результат = Запрос.Выполнить();
    КонецПроцедуры
    
    &НаКлиенте
    Процедура Сформировать(Команда)
        СформироватьНаСервере();
    КонецПроцедуры
    
    666.png
  17. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    На сервере нет данных формы, когда будете вызывать серверную функцию передайте в нее данные из формы через структуру
  18. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Вот это я и хотел сказать автору, чтоб реквизит объекта сделал. Формы не доступны на сервере, ибо они там нафиг ненужы :)
  19. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Если это будет внешней обработкой, реквизит обработки так же не будет доступен, нужно будет передавать как "Объект.ВыбДок"
  20. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    окончательно запутался...
    обработка конечноже внешняя скрины прилагал выше

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