[РЕШЕНО] 7.7 Не срабатывает элемент кода

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

  1. TopicStarter Overlay
    MyBratva
    Offline

    MyBratva

    Регистрация:
    24 окт 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Доброго всем времени суток..
    В общем дали задание разобраться с работой, но столкнулся с аномалией..

    Суть проблемы
    Создается документ установки шин на белаз, который должен внести поправки в справочники:
    • Справочники.Белазы - в реквизит определенной шины белаза (буть то "Шина ПП" или "Шина ПЛ") указывается идентификатор устанавливаемой шины.
    • Справочник.Шины - в реквизит "Признак" записывается её статус (0 - "не установлена"; 1 - "установлена"; 2 - "списана" и т.д.), .
    Однако при создании этих документов никакая деятельность в справочниках не проводится!

    Элемент кода при проведении:
    Код:
    Если ШинаПП.Выбран()=1 Тогда
            УстановитьРеквизитСправочника(Белаз,"ШинаПП",ШинаПП,ДатаДок);
            УстановитьРеквизитСправочника(ШинаПП,"Признак",1,ДатаДок);
    КонецЕсли;
    
    Также могу добавить:
    • Реквизиты документа "Белаз" и "ШинаПП" ссылаются на справочники "Белаз" и "Шины" соответственно.
    • Оба реквизита в справочниках на которые ссылается документ имеют галочки "Периодический" и "Изменяется документами".
    • При проведении документа этот код однозначно задействуется т.к. ставил вывод сообщения и оно срабатывало.
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    "Белаз" и "Шины" это реквизиты документа или созданы методом СоздатьОбъект?
  3. TopicStarter Overlay
    MyBratva
    Offline

    MyBratva

    Регистрация:
    24 окт 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Это именно реквизиты документа и вообще они следующие:
    • "Белаз" - тип "Справочник.Белазы"
    • "ШинаПП" - тип "Справочник.Шины" // передняя правая
    • "ШинаПЛ" - тип "Справочник.Шины" // передняя левая
    И так далее - ещё задние.. внешние и наружные..
    Последнее редактирование: 24 окт 2014
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Создайте соответствующие объекты и получайте ссылку через НайтиЭлемент
  5. Хряк
    Offline

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

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    а белаз-то выбран?
    чудно как-то, я так понимаю есть справочник выпускаемых машин-белазы, у него есть реквизиты - шинапп и шинапл они исторические
    чтоб их заполнить есть строка
    УстановитьРеквизитСправочника(Белаз,"ШинаПП",ШинаПП,ДатаДок);
    аналогично с левой шиной
    всё логично - видно когда, каким документом надели шины и какие
    а вот нафига
    УстановитьРеквизитСправочника(ШинаПП,"Признак",1,ДатаДок);
    и что содержит ентот справочник непонятно

    и условие идиотское
    Если ШинаПП.Выбран()=1 Тогда
    УстановитьРеквизитСправочника(Белаз,"ШинаПП",ШинаПП,ДатаДок);
    Тогда уж
    Если Белаз.Выбран()=1 Тогда
    УстановитьРеквизитСправочника(Белаз,"ШинаПП",ШинаПП,ДатаДок);
    это точно должно работать
  6. TopicStarter Overlay
    MyBratva
    Offline

    MyBratva

    Регистрация:
    24 окт 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Прошу прощения за задержку, на выходных не смог добраться до рабочего компьютера..

    Бухгалтерский угодник:
    А можно поподробней, Я не так давно имею дело с 1С..

    Хряк:

    Наверное стоит пояснить структуру таблиц-спарвочников:

    Справочник.Белазы :

    • ИнвентНомер - Строка
    • ВидБелаза - Перечисления.ВидыБелазов
    • ШинаПП - Справочник.Шины
    • ШинаПЛ - Справочник.Шины
    • // Есть еще дополнительные реквизиты: "Пробег", "Статус" и т.д
    Справочник.Шины :
    • ИнвентНомер - Строка
    • Размер - Строка
    • Модель - Строка
    • Признак - Число // 0 - "Не установлена"; 1 - "Установлена"; 2 - "Списана";
    • История - Строка
    • // и т.д.. Это по сути независимый справочник
    P/S: Попробовал установить дополнительное условие, однако результат тот-же предупреждения есть, результата нет))..
    Код:
    Если (ШинаПП.Выбран()=1) И (Белаз.Выбран()=1) Тогда
         УстановитьРеквизитСправочника(Белаз,"ШинаПП",ШинаПП,ДатаДок);
         УстановитьРеквизитСправочника(ШинаПП,"Признак",1,ДатаДок);
         Предупреждение(ШинаПП);
         Предупреждение(Белаз);
    КонецЕсли;
    
    И еще у меня возникло подозрение - есть ли возможность запуска документов "в тестовом режиме"?, а то может Я ей и пользуюсь. Сразу уточню, что Я создаю их через общий журнал документов..
  7. Хряк
    Offline

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

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    с виду всё правильно
    никаких тестовых режимов нет
    все равно откуда ты открываешь документ
    выкладывай МД на файлообменник, ссылку сюда на посмотреть
  8. TopicStarter Overlay
    MyBratva
    Offline

    MyBratva

    Регистрация:
    24 окт 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Вот MD.
    На архив пароль - 753. Внутри пароли убрал..
  9. Хряк
    Offline

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

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

    MyBratva

    Регистрация:
    24 окт 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Согласен, документ с виду отрабатывается и проводится без ошибок (даже в движении документа есть записи).
    Возможно это исключительно локальная проблема, но если зайти в непосредственно в
    справочники, допустим "Шины", то реквизит "Состояние" не изменится.
    Последнее редактирование: 28 окт 2014
  11. Хряк
    Offline

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

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    ну почему же, все реквизиты меняются
    по коду при установке шин
    Если ПустоеЗначение(глДатаШины(ШинаПЛ,1))=1 Тогда
    УстановитьРеквизитСправочника(ШинаПЛ,"ТехСостояние","",ДатаДок);
    КонецЕсли;


    возможно надо так
    Если ПустоеЗначение(глДатаШины(ШинаПЛ,1))=1 Тогда
    УстановитьРеквизитСправочника(ШинаПЛ,"ТехСостояние","",ДатаДок);
    Иначе
    УстановитьРеквизитСправочника(ШинаПЛ,"ТехСостояние",ТехСостПЛ,ДатаДок);
    КонецЕсли;

    но код полностью рабочий, есть непонимание логики работы кода с вашей стороны
    Последнее редактирование: 28 окт 2014
  12. MaxxaM
    Offline

    MaxxaM Опытный в 1С

    Регистрация:
    16 окт 2007
    Сообщения:
    288
    Симпатии:
    2
    Баллы:
    29
    В справочнике Белазы добавь
    Если Ответ=5 Тогда
    ИспользоватьДату(ТекущаяДата());

    и будет тебе счастье
    Последнее редактирование: 29 окт 2014
  13. TopicStarter Overlay
    MyBratva
    Offline

    MyBratva

    Регистрация:
    24 окт 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Внесу ясность моего недоумения, на рисунке выведено 2 таблицы (верхняя - данные справочника "Шины", нижняя - данные движения созданного документа). По нижней видно в справочники вводятся изменения, в том числе и запись признака в Справочник.Шины, однако в верхней таблице реквизит "Состояние" неизменно содержит состояние "Не установлена" (а это значение напрямую зависит от признака). С таким-же успехом я могу уже установленную шину установить на другой белаз (одну на двоих, так сказать).

    Вложения:

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

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Добавьте общую переменную в модуле формы списка...
    Перем ДатаАктуальности;
  15. TopicStarter Overlay
    MyBratva
    Offline

    MyBratva

    Регистрация:
    24 окт 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Не совсем понял в каком модуле, это в справочнике или документе. И что она должна обобщать?..
    Разобрался, но что это должно дать?..
  16. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    То что переменную, которую вы определяете передастся в процедуру установки периодики.
  17. TopicStarter Overlay
    MyBratva
    Offline

    MyBratva

    Регистрация:
    24 окт 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Добавил, но на результат это все равно не повлияло(..

    И к слову, эта проблема неприкосновенности справочников локальна (только у меня) или у кого то тот-же результат?..
  18. Хряк
    Offline

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

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    какой ты ждешь результат?
    в первой картинке стоит 28.10
    во второй (установка шины) - 29.10

    повторяю, всё работает правильно

    >С таким-же успехом я могу уже установленную шину установить на другой белаз (одну на двоих, так сказать).
    ну, да, если создашь док установки шины раньше уже созданного (29.10)
    Последнее редактирование: 29 окт 2014
    MyBratva нравится это.
  19. TopicStarter Overlay
    MyBratva
    Offline

    MyBratva

    Регистрация:
    24 окт 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Вот именно этот тычок носом и наставляет на путь истинный, ну за этим Я так полагаю нужно, да можно только следить!..

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