Не записывается один реквизит справочника в 1С 7.7
Добрый день. Возникла необходимость сделать в справочнике один реквизит, недоступный для редактирования пользователей, созданный в системе 1С 7.7. Проблема в том, что при программной записи видно, как реквизиту присваивается значение, а на следующем шаге этот реквизит обнуляется и никак его не записать. Другие реквизиты изменяются, а этот нет. И тоже самое, если я делаю этот реквизит доступным для редактирования, ввожу значение с клавиатуры, при записи он все равно обнуляется.
По теме из базы знаний
- Rocket Launcher 7.7. Свертка базы 1С 7.7. Перенос справочников и документов 7.7
- Обмен документами в формате CommerceML по схеме поставщик-покупатель между 1С 7.7 <=> 7.7 (конфигурация «Торговля + Склад», ред. 9.2) и 1С 7.7 <=> 8.x (конфигурация «Управление торговлей, ред. 10.3»)
- Обмен с системой Меркурий (полный цикл) через Ветис.API для 1С 7.7
- Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"
- Создаем периодические реквизиты или привет из 1С 7.7
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8) Обратите внимание, дети - перед вами классический пример г...внокода!
Вот почему: НовКодСМ имеет тип "Число", а инициализируется он почему-то пустым значением типа "Строка"? Нафейхоа, спрашивается?
Далее его изменение находится внутри "Если" - а если это "Если" не выполняется?
Ну, и как вишенка на торте: считывается он ХЗ откуда - где гарантия, что там - число?
В-общем, автор: "Садись, два!"
P.S. Написать НовКодСМ=0 и использовать функцию Число() религия не позволяет?
Вот почему: НовКодСМ имеет тип "Число", а инициализируется он почему-то пустым значением типа "Строка"? Нафейхоа, спрашивается?
Далее его изменение находится внутри "Если" - а если это "Если" не выполняется?
Ну, и как вишенка на торте: считывается он ХЗ откуда - где гарантия, что там - число?
В-общем, автор: "Садись, два!"
P.S. Написать НовКодСМ=0 и использовать функцию Число() религия не позволяет?
Отладчиком умеешь пользоваться? До Записать() и после - какие значения этого реквизита? В ПриОткрытии в самом начала какое значение после записи?
И еще я бы для начала, нет ли случайно переменных с таким же именем.
И еще я бы для начала, нет ли случайно переменных с таким же именем.
Даже если я руками забиваю значение, то оно при нажатии на клавишу Записать, обнуляется. При этом второй реквизит без всяких меняется и перезаписывается
Дело в том, что реквизит КодАвт был раньше, а мне по аналогии понадобился такой же еще один реквизит для работы. И вот с ним беда
Прикрепленные файлы:
Ну и зачет конечно, в коде записи напрямую апдейтить поля.
Ясен пень, что если еще есть в коде нечто подобное, что ваш код игнорится.
Видать там отkат транзакции в конце, а чтоб нужные данные сохранились - прямой апдейт таблички в коде.
Ясен пень, что если еще есть в коде нечто подобное, что ваш код игнорится.
Видать там отkат транзакции в конце, а чтоб нужные данные сохранились - прямой апдейт таблички в коде.
На счет принимает значение = 0 - так и должно быть, ибо весь этот код - в одной транзакции, которую ты нам не показываешь.
(39) прям таки защищена ? :)
ну выложите мд на файлопомойку и ссылку сюда.
ЗЫ: для начала закрыть табло везде (в предприятии и отладчике) и очистить всё в нём.
а так, у вас возможно повешан триггер на апдейт таблички, или..есть еще событие, возможно, вынесенное в класс-перехватчик какой-нибудь.
В котором значение вашего нового реквизита не учитывается.
Тест на вшивость - просто сделайте обработку с 1 реквизитом диалога с типом справочник.Клиентосы (ВыбКонтрагент) и в коде
ну выложите мд на файлопомойку и ссылку сюда.
ЗЫ: для начала закрыть табло везде (в предприятии и отладчике) и очистить всё в нём.
а так, у вас возможно повешан триггер на апдейт таблички, или..есть еще событие, возможно, вынесенное в класс-перехватчик какой-нибудь.
В котором значение вашего нового реквизита не учитывается.
Тест на вшивость - просто сделайте обработку с 1 реквизитом диалога с типом справочник.Клиентосы (ВыбКонтрагент) и в коде
Вася = СоздатьОбъект("Справочник.Контрагенты");
Вася.НайтиЭлемент(ВыбКонтрагент);
Вася.КодСоответствияВСМ =1000;
Вася.Записать();
Сообщить(Вася.КодСоответствияВСМ );
(44)О, спасибо... это хорошая идея. МД тоже не могу выложить... это отслеживается и штрафы заоблачные... это секрет фирмы считается... Я знаю, тут на форуме часто мои ожидания на этом и заканчиваются... но увы... это реальность
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот