7.7 Не могу найти где ошибка

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

  1. TopicStarter Overlay
    TODD22
    Offline

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

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    Здравствуйте.

    Есть строка:
    НормаГодовая = Табель.НормаЧасовСреднегодовая.Получить(ДатаДок);

    Выводит ошибку:
    Поле агрегатного объекта не обнаружено (НормаЧасовСреднегодовая)

    Что то реквизит я такой у документа не нашёл, где искать это Поле?

    Суть проблемы. Это конфигурация Камин. Переношу сделанные до меня доработки. Смотрел в "старой" конфигурации вроде так же всё.
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    При обновлении похожу чужое рукоблудство затерли. Или это разработчики поменяли структуру.
    1с при объединении д.б. предупредить об изменении структуры. Было что-то?

    Можно кусок кода побольше. Табель это объект типа документ? В каком месте возникает ошибка, в отчете или модуле документа?
  3. TopicStarter Overlay
    TODD22
    Offline

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

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    Код:
    Процедура РассчитатьСтроку()
    Если СистемаОплаты = Перечисление.СистемыОплаты.Бестарифная Тогда
    Сумма = 0;
    ИначеЕсли СистемаОплаты = Перечисление.СистемыОплаты.ПоОкладу Тогда
    Если Табель.ЕдиницаИзмерения = Перечисление.ДниЧасы.Дни Тогда
    Норма = Табель.НормаДней.Получить(ДатаДок);
    Если Норма <> 0 Тогда
    Сумма = ОКР(Ставка*ДнПв/Норма,2);
    Конецесли;
    Иначе
    Норма = Табель.НормаЧасов.Получить(ДатаДок);
    Если Норма <> 0 Тогда
    //Юлия 24.03.09
    НормаГодовая = Табель.НормаЧасовСреднегодовая.Получить(ДатаДок);
    Если НормаГодовая=0 Тогда
    Предупреждение("Заполнить норму часов среднегодовую для табеля "+Табель,60);
    Возврат;
    КонецЕсли;
    Если ЧсПв>Норма Тогда
    Сумма = Ставка+ОКР(Ставка*(ЧсПв-Норма)/НормаГодовая,2);
    Иначе
    
    Сумма = ОКР(Ставка*ЧсПв/Норма,2);
    Конецесли;
    КонецЕсли;
    Конецесли;
    ИначеЕсли СистемаОплаты = Перечисление.СистемыОплаты.ПоТарифу Тогда
    Если Табель.ЕдиницаИзмерения = Перечисление.ДниЧасы.Дни Тогда
    Если Норма <> 0 Тогда
    Сумма = ОКР(Ставка*ДнПв,2);
    Конецесли;
    Иначе
    Если Норма <> 0 Тогда
    Сумма = ОКР(Ставка*ЧсПв,2);
    Конецесли;
    Конецесли;
    Иначе
    Сумма = 0;
    Конецесли;
    Гл_РКСЕВ(Контекст);
    КонецПроцедуры	 
    Табель это документ, ошибка появляется при подборе сотрудника в табличную часть.
    Так у меня есть база до обновления. Я и в ней найти не могу.
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    при обновлении вы грохнули реквизит некоей "юлии". Нужно смотреть типовой код и его юзать или повторить обновление БД с учетом вашей ошибки
  5. TopicStarter Overlay
    TODD22
    Offline

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

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    А где найти этот реквизит с старой базе? То есть у документа Табель нет такого реквизита.
  6. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    В старой тоже нет? Так м.б. это древнейшая ошибка. Сделанная еще до вас. А причина того что не всплывала - у сотрудников, подбираемых в табель не стояла система оплаты труда "По оклату". Что само по себе нонсенс. Их не нужно табелировать.
  7. TopicStarter Overlay
    TODD22
    Offline

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

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    В старой то же нет :( Я посмотрел отладчиком, данная строка возвращает количество часов. А в новой базе выдаёт ошибку.
  8. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Судя по коду и должна выдавать кол-во часов. А в старой не выдает если выбрать этого же сотрудника? Гляньте - может ему в новой поменяли систему оплаты труда
  9. TopicStarter Overlay
    TODD22
    Offline

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

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    По тому же сотруднику в новой ошибка, в старой выдаёт количество часов, систему оплаты труда сотруднику не меняли.
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    значит реквизит в старой все же есть и вы его успешно "грохнули" когда накатывали обновление.
    Если есть желание - могу глянуть удаленно и "ткнуть носом как должно быть". Стукните в аську.
  11. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    дело было в одноименном справочнике. В нем удалили реквизит

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