7.7 Глюки 1С ?!

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

  1. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Всем Доброе время суток.
    Есть такая пробема:
    Создал в Бухгалтерии в справочнике "материалы" реквизит "Артикул".
    Загружаю из текстового файла документы, поиск материалов по артиклу.
    так воп пишу:
    Код:
    Справочник=СоздатьОбъект("Справочник.Материалы");
    Если Справочник.НайтиПоРеквизиту("Артикул",СокрЛП(ЗначениеПоиска),1)=1 Тогда 
    ....
    Иначе
    // создаю новый 
    
    
    
    каждый раз заводиться новый элемент, хотя такой артикул есть!!!!
    Решил попробовать подругому найти:
    Код:
    Функция НайтиПоАртиклу(Материал,Артикул)
    Спр=СоздатьОбъект("Справочник.Материалы");
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент()=1 Цикл
    Если Спр.ЭтоГруппа()=1 ТОгда
    Продолжить;
    КонецЕсли;
    Если СокрЛП(Строка(Спр.Артикул))=СокрЛП(Строка(Артикул)) Тогда
    Материал=Спр;
    Возврат 1;
    КонецЕсли;
    КонецЦикла;
    Возврат 0;
    КонецФункции
    
    
    
    Тоже самое не может найти !!!
    я нашел такую законамерность: артикулы состоящие из 7 символов нходятся,а из 6 нет.
    Помогите плз разобраться плиз.
    2) Строки в табличных частях с этими позициями пропадают вообще при загрузке , причем в отладчике просматривая они имеются, захожу в док , этих строк нет

    :unsure:
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Код процедуры добавления нового в случае не нахождения артикула приведите
  3. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура НайтиСоздатьСправочник(Список)
    Вид=Список.Получить("Значение");
    ПоискПо=Список.Получить("ПоискПо");
    ЗначениеПоиска=Список.Получить("ЗначениеПоиска");
    Справочник=СоздатьОбъект("Справочник.Материалы");
    Если Справочник.НайтиПоРеквизиту("Артикул",СокрЛП(ЗначениеПоиска),1)=1 Тогда 
    НовыйСправочник=0;
    ИНачеЕсли НайтиПоАртиклу(Справочник,ЗначениеПоиска)=1 Тогда //функцию я скидывал выше
    НовыйСправочник=0;
    Иначе 
    НовыйСправочник=1;
    Справочник.Новый(); 	
    КонецЕсли;
    СписокЗагруженныхОбъектов.ДобавитьЗначение(Справочник);
    КонецПроцедуры
    
    
    впрочем все загружается из txt файла где 1 строка = 1 реквизит.


    Структура файла:


    "ИД=Документ","Значение=Приход","НомерСтроки=1","ПоискПо=НомерДок","ЗначениеПоиска=91640967","ВДиапазоне=11.01.10"
    "ИД=Реквизит","ИмяРеквизита=ДатаДок","Значение=11.01.10","Реквизит=1"
    "ИД=Реквизит","ИмяРеквизита=НомерДок","Значение=91640967","Реквизит=1"
    "ИД=Реквизит","ИмяРеквизита=Склад","Значение=00002","Реквизит=1"
    "ИД=НоваяСтрока"
    "ИД=Справочник","Значение=Материалы","НомерСтроки=2","ПоискПо=Артикул","ЗначениеПоиска=0670565"
    "ИД=Реквизит","ИмяРеквизита=Артикул","Значение=670565","Реквизит=2"
    "ИД=Реквизит","ИмяРеквизита=Наименование","Значение=Батарея BL-4CT BATTERY BLOCK 860mAh, 5310","Реквизит=2"
    "ИД=Реквизит","ИмяРеквизита=Количество","Значение=1","Реквизит=1"
    "ИД=Реквизит","ИмяРеквизита=Цена","Значение=0,00","Реквизит=1"
    "ИД=Реквизит","ИмяРеквизита=НДС","Значение=0,00","Реквизит=1"
    "ИД=Реквизит","ИмяРеквизита=Сумма","Значение=0,00","Реквизит=1"
    "ИД=Реквизит","ИмяРеквизита=Всего","Значение=0,00","Реквизит=1"
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    А вы поставили в реквизите артикул галку "отбор по реквизиту" чтобы осуществлялся поиск?
  5. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Да, поиск осушествляется , он находит 7-и значные артикулы , а 6-и значные нет.
  6. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Код:
    
    Процедура Сформировать()
    Спр=СоздатьОбъект("Справочник.Материалы");
    Если Спр.НайтиПоРеквизиту("Артикул","1234567",1)=0 Тогда
    Спр.Новый();
    Спр.Наименование="тест1";
    Спр.Артикул="1234567";
    Спр.Записать();
    ИНаче
    Сообщить("найден");
    КонецЕсли;
    Если Спр.НайтиПоРеквизиту("Артикул","123456",1)=0 Тогда
    Спр.Новый();
    Спр.Наименование="тест3";
    Спр.Артикул="123456";
    Спр.Записать(); 
    ИНаче
    Сообщить("найден");	
    КонецЕсли;
    //
    Если Спр.НайтиПоРеквизиту("Артикул","2234567",1)=0 Тогда
    Спр.Новый();
    Спр.Наименование="тест2";
    Спр.Артикул="2234567";
    Спр.Записать();
    ИНаче
    Сообщить("найден");	
    КонецЕсли;
    
    КонецПроцедуры
    
    
    
    Этот код работает , а мой нет не понимаю почему :unsure:
  7. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Всем спасибо я разобрался, ошибка в файле ...
Похожие темы
  1. Лоли
    Ответов:
    1
    Просмотров:
    2.252
  2. listopad
    Ответов:
    8
    Просмотров:
    616
  3. varvert
    Ответов:
    9
    Просмотров:
    579
  4. К_Е
    Ответов:
    10
    Просмотров:
    967
Загрузка...

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