7.7 Спр. НайтиПоРеквизиту()

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем man37, 20 окт 2015.

  1. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    не за что. обращайтесь
  2. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Пришлось продолжить тему, т.к. застрял!
    На форме есть пять флажков, каждый флажок указывает на ОсновноеСвойство.
    Код:
    Если Свойство1 = 1 Тогда
        ЗначениеСвойства = "Первое Свойство";
    ИначеЕсли Свойство2 = 1 Тогда
        ЗначениеСвойства = "Второе Свойство";
    .................
    Иначе Предупреждение ("Не выбрано Основное Свойство");
    КонецЕсли;
    
    Если ПустоеЗначение(ЗначениеСвойства) = 0 Тогда
       ТекстЗапроса=ТекстЗапроса+"Условие(Свойство = ЗначениеСвойства);";
    .................
    Сообщить ("Значение Свойства   =  " + ЗначениеСвойства);
    
    Если устанавливаю флажок, то ничего не получаю, даже пустое Сообщение.
    Как это можно поправить?
  3. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    И еще! Если, к примеру, T <> 0 и T <> ВыбT, т.е. нет такого Т, то просто выкидывает из 1С, т.е. я точно должен знать какой в базе есть реквизит "Т".
  4. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Мне кажется, что Вы проигнорировали мой последний вариант с перебором справочника. Этот код работает при любых значениях Т и D. Если совпадения нет, то просто будет пустой результат. Можно добавить любое количество подобных условий через логический оператор "И".
    Код:
    ОчиститьОкноСообщений();
    Спр = СоздатьОбъект ("Справочник.Номенклатура");
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент()=1 Цикл
    Если (Спр.T=ВыбT) И (Спр.D=ВыбD)    Тогда
    Сообщить ("Наименование - " + Спр.Наименование+" "+"T - " +Спр.T+" "+"D - " +Спр.D);
    КонецЕсли;
    КонецЦикла;
  5. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Ни коем образом не проигнорировал. Это действительно работает правильно, но мне нужна выгрузка в Таблицу, соответственно нужен запрос. Ваш запрос (написан ранее) работает, добавил проверку если Т = 0 и D = 0, как бы ничего не введено.
    И вот теперь не могу сообразить как заставить работать ОсновноеСвойство (писал ранее) и заставить выводить Предупреждение ("С такими реквизитами товара нет"), если один из них введен не правильно, например: в номенклатуре нет такого размера Т = 100, и если его ввели (не зависимо от D), выводилось Предупреждение.
  6. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Не вижу никакой связи между первым и вторым. Нужна таблица, так заполните ее по мере обхода справочника вместо Сообщить(). Я запросы не люблю (а может не умею с ними работать), предпочитаю обходиться без них, где это возможно.
    По поводу отсутствия нужного значения. Бухугодник уже предлагал сделать эти значения элементами отдельного справочника, а не произвольным числом. Тогда и в запросе проще будет сделать отбор, и без запроса через НайтиПоНаименованию() (или НайтиПоКоду(), если будут только числа, это надежнее и проще) сразу узнаете, есть ли такой элемент.
  7. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Я не такой уж большой специалист по 1С, можете объяснить дурачку как заполнить Таблицу без запроса.
  8. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    С этим разобрался - уже хорошо! Но при добавление ОсновногоСвойства, ничего не происходит. Т.е. если добавить такой код:
    Код:
    Если Тип1=1 Тогда
        ЗначениеСвойства = "Тип1";
    КонецЕсли;
    
    Если (Спр.ОсновноеСвойство.ЗначениеСвойства = ЗначениеСвойства) И ..........
    Хотя я точно знаю, что такое свойство есть.
  9. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Мы можем только догадываться о вашей конфигурации. Смотрите в отладчике, какое значение принимает Спр.ОсновноеСвойство.ЗначениеСвойства и ЗначениеСвойства. Возможно нет равенства из-за лишних пробелов. Попробуйте так:
    Код:
    Если (СокрЛП(Спр.ОсновноеСвойство.ЗначениеСвойства) = СокрЛП(ЗначениеСвойства))
  10. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Конфигурация ТиС 9.2.

    Извините, что долго не отвечал, время не было.

    Вот такая ошибка:
    хотя это работает:
    все выводит в Таблицу. столбец Тип заполняется
    И еще:
    почему не работает? Группировка по Номенклатуре, это столбец правильно, остальные дублируют первый Элемент.
    Последнее редактирование: 29 окт 2015
  11. Бухгалтерский угодник
    Offline

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

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

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Выкладываю!

    Вложения:

    • Поиск.rar
      Размер файла:
      10,2 КБ
      Просмотров:
      2
  13. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Вы же уже присвоили ячейкам таблицы ТЗ нужные значения. Не обязательно Запрос использовать, выводите ТЗ.Тип.
    И зачем Вы сворачиваете еще пустую (только созданную) таблицу?
  14. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Спасибо, за помощь! Чтобы я без Вас делал, ума не приложу.
    Пришлось пока завязать с программированием, основной работы много подкинули, времени нет. Потом как-нибудь переделаю.

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