#0
by AlexBut
Проблема: При записи сотрудника(ЗиК) возникает окно для записи периодических реквизитов. Отладчиком нашел, что это из-за некорректной работы фунции "СохранениеПериодическихРеквизитов". Она выдает, что был изменен реквизит "ШаблонПроводки", хотя он не менялся. Методом научного тыка определил, что это происходит из-за одной записи в файле 1SCONST. OBJID - 0, ID - 13V, DATE - 01.06.10, VALUE - 66A. Если ее удалить, то функция начинает работать нормально. Вопрос: как мне определить, что это за объект меняется и почему? По описанию в .dd написано, что OBJID - 0 это константа, но какая? Все константы обшарил, нет такой, чтобы менялась с этой даты. Может это какой-то системный объект, но почему он меняется и как с этим бороться? Глюк повторился второй раз за небольшой промежуток времени, поэтому хотелось бы узнать причину.
#2
by Franchiser
в 1SCONST хранятся значения периодических реквизитов, что происходит при открытии? признак модиффицированности (*) появляется? Чем было заполнено значение шаблона проводки изначально в сотруднике (стояла ли проводка по умолчанию или вообще пусто было)? Посмотри историю периодического реквизита проводки по сотруднику (что там меняется)...
#3
by AlexBut
Я забыл уточнить, что это происходит в момент ввода нового сотрудника. То есть нажимается INS - появляется форма ввода, набираешь ФИО нажимаешь ЗАПИСЬ или ОК - появляется форма с записью периодических реквизитов с реквизитом "ШаблонПроводки". Сам реквизит не меняется ни программно ни руками. Проверял это отладчиком. Самое интересное, что когда я отладчиком гоняю "СохранениеПериодическихРеквизитов", то в момент открытия и после момента изменения ФИО она работает нормально, то есть возвращает пустоту, а когда срабатывает "ПриЗаписи", то сразу же на первой строке этой процедуры эта функция возвращает "ШаблонПроводки". Я уже все мозги сломал, решения найти не могу. Может в 1SCONST хранятся какие-то системные значения? Может подскажите, что это за объект OBJID - 0, ID - 13V в типовой ЗиК?
#4
by filh
так, а что ты хотел? При вводе нового всегда необходимо записать пероодические реквизиты.
#5
by AlexBut
Берем типовую ЗиК - Открываем справочник "Сотрудники", нажимаем INS - заполняем ФИО - нажимаем ОК - ничего не запрашивает. Или я чего-то не понимаю? Раньше то все работало как надо.
#6
by OnCheck
попробуй исправление физической целостности на копии прогнать, не должен он так ругаться. ИМХО
#7
by AlexBut
Это я первым делом сделал. Если бы все было так просто!!! Сейчас глянул в демо базе - такого объекта в 1SCONST нет, видимо это все-таки пользовательский параметр со своей нумерацией в каждой базе. Но как узнать, что это за параметр?
#8
by OnCheck
я вот не могу понять OBJID - 0, ID - 13V, DATE - 01.06.10, VALUE - 66A это что запись в файле или что, объекта судя по OBJID это константа, похоже что периодическа.
#10
by AlexBut
Да, это запись в файле. Если ее удаляешь, то все работает как надо. Но что это за запись, как она появляется я не знаю. Может есть возможность по идентификатору понять, что это такое?
#11
by OnCheck
66A - это значение это константы в 32-ричной СС, попробуй перевести в 10-ричную СС и передать ее в ЗначениеИзСтрокиВнутр, только там форматную строку еще надо добавить, может так сможешь найти эту константу, по значению
#14
by AlexBut
Я грохнул запись, никакого восстановления после этого не требовалось, все заработало как надо. Дело в другом, если бы это было в первый раз, я бы все отнес на магнитную бурю - плюнул и забыл, но это уже второй раз. Первый был перед Новым годом. Поэтому есть идея, что это не последний раз.
#15
by OnCheck
все придумал положи любую константу в СтркаЛюбаяКонстанта = ЗначениеВСтрокуВнутр(ЛюбаяПериодическаяКонстанта); В это строке вручную подсунь там где ID этой константы свой 13V, и дату смени, в том же формате на свою, эту строку положи в ЗначениеИзСтрокиВнутр, думаю вернет тебе твою константу.
#19
by filh
Да фик знает. Судя по OBJID=0 это не периодическая константа. Можно открыть файл, поменять значение VALUE скажем на 7 и сравнить 2 базы. Узнаем, что за константа. Ну а дальше плясать дальше.
#22
by OnCheck
DATE Дата установки периодического реквизита. Для базы в формате SQL и для непериодического реквизита (или константы) поле заполняется значением '1753-01-01 00:00:00.000'. Тип - Дата (datetime для SQL).
#24
by OnCheck
хотя с другой стороны OBJID ID объекта периодического реквизита (справочника) или периодической константы, для непериодических констант это поле равно ‘ 0 ’. Тип - Строка.
#25
by filh
Больше склоняюсь к , т.к. DOCID=0: DOCID ID (идентификатор) документа (поле, связанное с полем IDDOC таблицы журналов (_1SJOURN)). Для значений установленных вручную или непериодических заполняется ' 0 '.
#26
by AlexBut
Только что поменял значение 66A на 0 и сравнил список констант - они совпадают. Может это все-таки не константа а какая-то системная настройка, но опять же настораживает, что есть дата изменения.
#29
by Brazil
1) преобразуем 13V в 36-ричную СИ = 1435 2) открываем 1cv7.md чем нибудь и ищем {"Consts", {"1435","а вот тут название константы",....},
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Стоит ли переходить на 1С ЗиУП или лучше АМВА?
- 1С 8.1 Необходимо выбрать значения из списка на форме только с пометками
- Отбор по родителю в форме выбора для Номенклатуры
- Хранилище, две базы под одним логином, глюк
- Наименование юр. лица в ТиС.
- Конвертации данных 2.1 Ошибка - Переменная не определена (Узел)
- УПП Регистрация штрихкода в ЮНИКСАН
- ТиС 9.2 Документ "Поступление в розницу"
- СКД и ПараметрыДанных
- Как открыть именно управляемую форму?
- Ошибка при формировании отчетности
- v8: Тонкий клиент и ADODB
- КБК в 1с 8 ЗиК БУ
- вычет по материальной помощи
- Индивидуальные сведения ПФР за 2010 год
- План обмена + правила обмена
- Зачем 1С так усложняют свои типовые конфигурации (УПП)
- ЗУП 8.1 Отчет по отпускам за свой счет.
- Базовая/проф версия 8.2
- Выгрузка только изменений конфигурации в файл в РИБ