8.х Ошибка при вводе номенклатуры

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем KZink, 4 ноя 2009.

  1. TopicStarter Overlay
    KZink
    Offline

    KZink

    Регистрация:
    4 ноя 2009
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    1с 8.1. "Управление торговлей", редакция 10.3 (10.3.7.9)

    создаю новый элемент номенклатуры

    ввожу наименование - выводит ошибку: преобразование значения к типу Булево не может быть выполнено.
    жму ОК в окне ошибки - продолжаю дальше.

    ввожу необходимые данные, жму ОК - ругается:
    Перед записью в элементе справочника "Номенклатура" необходимо заполнить "базовая единица"!
    Перед записью в элементе справочника "Номенклатура" необходимо заполнить "вид номенклатуры"!

    Хотя оба поля заполнены...

    Подскажите в чем проблема и как исправить, пожалуйста!
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Конфигурация типовая?
  3. TopicStarter Overlay
    KZink
    Offline

    KZink

    Регистрация:
    4 ноя 2009
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Не знаю.
    А как это проверить?
  4. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.399
    Симпатии:
    40
    Баллы:
    54
    В режиме 1С: Предпритяие нажмите Справка\О программе там будет написал Вашь релиз и платформа, а также имя пользователя текущего соединения
  5. TopicStarter Overlay
    KZink
    Offline

    KZink

    Регистрация:
    4 ноя 2009
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    там написано:

    1С:Предприятие 8.1 (8.1.13.41)

    Конфигурация
    "Управление торговлей", редакция 10.3 (10.3.7.9)
  6. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.399
    Симпатии:
    40
    Баллы:
    54
    В окне ошибки нажмите подробно и скопируйте на форум текст сообщения
  7. TopicStarter Overlay
    KZink
    Offline

    KZink

    Регистрация:
    4 ноя 2009
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    {Справочник.Номенклатура.Форма.ФормаЭлемента(1364)}: Преобразование значения к типу Булево не может быть выполнено
    Если мФормироватьНаименованиеПолноеАвтоматически Тогда
  8. TopicStarter Overlay
    KZink
    Offline

    KZink

    Регистрация:
    4 ноя 2009
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1

    В окне ошибки запустил конфигуратор там такой код:

    Процедура СформироватьНаименованиеПолноеАвтоматически()

    Если мФормироватьНаименованиеПолноеАвтоматически Тогда
    НаименованиеПолное = Наименование;
    КонецЕсли;

    КонецПроцедуры // СформироватьНаименованиеПолноеАвтоматически()

    я сделал с ним следующее:

    Процедура СформироватьНаименованиеПолноеАвтоматически()

    //Если мФормироватьНаименованиеПолноеАвтоматически Тогда
    НаименованиеПолное = Наименование;
    //КонецЕсли;

    КонецПроцедуры // СформироватьНаименованиеПолноеАвтоматически()

    запустил с этими изменениями - теперь ошибка "Преобразование значения к типу Булево ..." исчезла, но автоматически полное название не формируется. Строчка остается пустой. А ошибки
    Перед записью в элементе справочника "Номенклатура" необходимо заполнить "базовая единица"!
    Перед записью в элементе справочника "Номенклатура" необходимо заполнить "вид номенклатуры"!

    остаются.
  9. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.399
    Симпатии:
    40
    Баллы:
    54
    1. Проверьте, где-то закомментировали
    Код:
    мФормироватьНаименованиеПолноеАвтоматически = Истина
    
    скорее всего в теде модуля

    2. На отладчике проверьте процедуры, ПередЗаписью() и ПриЗаписи(), там надо найти запись базовой единицы
  10. TopicStarter Overlay
    KZink
    Offline

    KZink

    Регистрация:
    4 ноя 2009
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    1. // Процедура проверяет, совпадало ли ранее полное наименование с наименованием,
    // и присваивает соответствующее значение переменной мФормироватьНаименованиеПолноеАвтоматически.
    //
    Процедура УстановитьФлагФормироватьНаименованиеПолноеАвтоматически()

    Если ПустаяСтрока(НаименованиеПолное) Или НаименованиеПолное = Наименование Тогда
    мФормироватьНаименованиеПолноеАвтоматически = Истина;
    Иначе
    мФормироватьНаименованиеПолноеАвтоматически = Ложь;
    КонецЕсли;

    КонецПроцедуры // УстановитьФлагФормироватьНаименованиеПолноеАвтоматически()


    Здесь может ошибка какая? самое странное, что даже если просто прописано НаименованиеПолное = Наименование то строчка пустой остается....






    2. Процедура ПередЗаписью(Отказ)

    СтруктураОбязательныхПолей = Новый Структура;

    СтруктураПоискаДублей = Новый Структура;
    СтруктураПоискаДублей.Вставить("Код", "=");

    Для Каждого Реквизит Из ТаблицаРеквизитов Цикл
    Если (Реквизит.Обязательность Или Реквизит.ОбязательностьСистемная)
    И мРеквизитыСАвтозаполнением[Реквизит.Имя] = Неопределено Тогда
    СтруктураОбязательныхПолей.Вставить(Реквизит.Имя, Реквизит.Представление);
    КонецЕсли;

    Если Реквизит.Уникальность Тогда
    СтруктураПоискаДублей.Вставить(Реквизит.Имя, "=");
    КонецЕсли;
    КонецЦикла;

    ПроверитьЗаполнениеРеквизитовНоменклатуры(СтруктураОбязательныхПолей, Отказ);

    Если Не Отказ Тогда
    ПроверитьУникальностьНоменклатуры(СтруктураПоискаДублей, Отказ);
    КонецЕсли;

    КонецПроцедуры // ПередЗаписью()





    Процедура ПриЗаписи(Отказ)

    Если Услуга Тогда
    Если ЗначениеЗаполнено(БазоваяЕдиницаИзмерения) Тогда
    ПроверитьЕдиницуХраненияОстатков(Отказ);
    КонецЕсли;
    Иначе
    Если НЕ ЗначениеЗаполнено(БазоваяЕдиницаИзмерения) Тогда
    ОбщегоНазначения.СообщитьОбОшибке("Перед записью необходимо определить базовую единицу измерения!", Отказ);
    Иначе
    ПроверитьЕдиницуХраненияОстатков(Отказ);
    КонецЕсли;

    Если ПустаяСтрока(ЕдиницаХраненияОстатков) Тогда
    ОбщегоНазначения.СообщитьОбОшибке("Перед записью необходимо определить единицу хранения остатков!", Отказ);
    КонецЕсли;
    КонецЕсли;

    // Обработка записи свойств и категорий.
    Если Не Отказ Тогда
    ОбработкаОбъектЗначенияСвойств.ОбъектОтбораЗначений = Ссылка;
    Отказ = Не ОбработкаОбъектЗначенияСвойств.ЗаписатьЗначенияСвойств();

    ОбработкаОбъектКатегорииОбъекта.ОбъектОтбораКатегорий = Ссылка;
    Отказ = Не ОбработкаОбъектКатегорииОбъекта.ЗаписатьКатегорииОбъекта();
    КонецЕсли;

    КонецПроцедуры // ПриЗаписи()



    при чем сообщение об ошибке возникает вне зависимости от того, Товар или Услуга выбирается.
  11. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Явно либо конфа не типовая, либо криво обновили.
    Выкладывайте где-нибудь на шаер конфу - можно будет посмотреть, что там у вас.
  12. TopicStarter Overlay
    KZink
    Offline

    KZink

    Регистрация:
    4 ноя 2009
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    а могу ли загрузить нормальную конфигурацию ничего не меняя в базе?
    если да, то скиньте мне плиз ссылку, где ее скачать можно.

    исправлять ведь гораздо сложнее, чем заново все установить работающее.
  13. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Кхм.... Лучше сначала посмотреть, что там в Вашей конфе, а последствия могут быть плачевны :)

    Необходимо произвести сравнение Вашей конфигурации и конфигурации поставщика
  14. TopicStarter Overlay
    KZink
    Offline

    KZink

    Регистрация:
    4 ноя 2009
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Побоялся я сам дальше чего-либо трогать! Вызвал специалиста!!! Всем спасибо за помощь!!!

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