×
Показано с 1 по 20 из 20
  1. Клерк
    Регистрация
    03.06.2013
    Сообщений
    11

    Не выводит значение реквизита

    Код:
    Процедура ОбработкаПроведения()
    	Спр=СоздатьОбъект("Справочник.КнигиНаРуках");   
    	Спр.ИспользоватьВладельца(Читатель);
    	ВыбратьСтроки();
    	Пока ПолучитьСтроку()=1 Цикл
    		Если ПустоеЗначение(ИнвНомер)=0 Тогда
    			
    			Если Спр.НайтиПоРеквизиту("ИнвНомер",ИнвНомер,0)=0 Тогда
    				Спр.Новый();
    				Спр.Книга=Книга;
    				Спр.ИнвНомер=ИнвНомер;
    				Спр.ДатаВыдачи=ДатаДок;
    				Спр.Записать();
    			КонецЕсли;  
    			Если Константа.УчетПоместамХранения=Перечисление.Булево.Да Тогда
    				МХ=СоздатьОбъект("Справочник.МестаХранения");
    				Если МХ.НайтиПоКоду(0)=0 Тогда
    					МХ.Новый();
    					МХ.Код=0;
    					МХ.Наименование="Книга находится на руках";
    					МХ.Записать();
    				КонецЕсли;	
    				УстановитьРеквизитСправочника(ИнвНомер,"МестоХраненияКниги",МХ.ТекущийЭлемент(),ДатаДок,,,);
                КонецЕсли;
    		Иначе
    			Если Спр.НайтиПоРеквизиту("Книга",Книга,0)=0 Тогда
    				Спр.Новый();
    				Спр.Книга=Книга;
    				Спр.ДатаВыдачи=ДатаДок;
    				Спр.Записать();
    			КонецЕсли;
    		КонецЕсли;                                      
    		
    		ЗапросВБазу(Спр.Книга.ПолноеНаименование);
    	КонецЦикла;
    КонецПроцедуры
    Выдает пустое значение - Спр.Книга.ПолноеНаименование

    Что не так делаю?
    Поделиться с друзьями

  2. Клерк
    Регистрация
    18.03.2010
    Адрес
    Химки
    Сообщений
    1,459
    из приведенного кода вовсе не очевидно что не так делаешь
    может у тя пусто в полном наименовании

  3. Клерк
    Регистрация
    03.06.2013
    Сообщений
    11
    Нет не пусто

    Нажмите на изображение для увеличения. 

Название:	2.JPG 
Просмотров:	85 
Размер:	91.4 Кб 
ID:	51617

  4. Аноним64
    Гость

    Отладчиком умеешь пользоваться?

    Цитата Сообщение от HbIXA Посмотреть сообщение
    Нет не пусто

    Нажмите на изображение для увеличения. 

Название:	2.JPG 
Просмотров:	85 
Размер:	91.4 Кб 
ID:	51617
    +

  5. Клерк
    Регистрация
    03.06.2013
    Сообщений
    11
    к сожалению нет, почему то ф5 не работает в нем

  6. Аноним64
    Гость
    Цитата Сообщение от HbIXA Посмотреть сообщение
    к сожалению нет, почему то ф5 не работает в нем
    ф5 - это продолжить далее, точка ставится ф9. Когда до нее доберешься, то ф8 (продолжить/следующая строка) Ну и шифт+ф9 - это просмотр выражения

  7. Клерк
    Регистрация
    03.06.2013
    Сообщений
    11
    у меня вся панель, продолжить, точки все закрыто

  8. Аноним64
    Гость

    Скрин в студию!

    Цитата Сообщение от HbIXA Посмотреть сообщение
    у меня вся панель, продолжить, точки все закрыто
    -

  9. Клерк
    Регистрация
    03.06.2013
    Сообщений
    11
    разобрался, "КонецПроцедуры = Ошибка в выражении!"
    Последний раз редактировалось HbIXA; 03.06.2013 в 15:01.

  10. Клерк
    Регистрация
    03.06.2013
    Сообщений
    11
    после прогона он все норм выдал книга 22, а потом опять пусто

  11. Аноним64
    Гость

    битый индекс?

    Цитата Сообщение от HbIXA Посмотреть сообщение
    после прогона он все норм выдал книга 22, а потом опять пусто
    Прогони ТиИ, вдруг поможет (((

  12. Клерк
    Регистрация
    03.06.2013
    Сообщений
    11
    Заблочена утилитка(

  13. Аноним64
    Гость

    в Конфигураторе имел ввиду

    Цитата Сообщение от HbIXA Посмотреть сообщение
    Заблочена утилитка(
    Администрирование-Тестирование и исправление

  14. Клерк
    Регистрация
    03.06.2013
    Сообщений
    11
    сделал в конце просто Сообщить(КнигаД); и выдало, почему тогда не передает в процедуру

    Код:
    Процедура ЗапросВБазу(Книга)
    Connection = СоздатьОбъект("ADODB.Connection");
      
     //Необходимые параметры для подключения
    АдресСервера   = "localhost";  
    НомерПорта     = "3306";    
    ИмяБД          = "test";    
    Пользователь   = "root";    
    Пароль         = ""; 
     
      //Подключаемся
    Попытка      
        Connection.Open("Driver={MySQL ODBC 3.51 Driver};Server="+СокрЛП(АдресСервера)+";Port=" + НомерПорта + ";Database=" + СокрЛП(ИмяБД) + ";User=" + СокрЛП(Пользователь) + ";Password=" + Пароль + ";Option=3;STMT=SET CHARACTER SET cp1251");
        Сообщить("Подключение прошло успешно");  
    Исключение
        Сообщить("Ошибка подключения - " + ОписаниеОшибки());  
        Возврат;
    КонецПопытки;
    
    Сообщить(Книга);
    Command=СоздатьОбъект("ADODB.Command"); 
    Command.CommandText = "set names cp1251";
    Command.ActiveConnection = Connection;
    Command.CommandType = 1;
    Command.Execute();   
    
    Command=СоздатьОбъект("ADODB.Command");                             
    Запрос1 = "update dbname set book='тест' where id='1'";
    //Запрос1 = "insert into dbname (book) values ()";
    Command.CommandText = Запрос1; 
    Command.ActiveConnection = Connection;
    Command.CommandType = 1;
    Command.Execute();
                      
    //Закрываем соединение.
    Connection.Close();       
    КонецПроцедуры

  15. Аноним64
    Гость

    "Ну вы блин даете!"

    Цитата Сообщение от HbIXA Посмотреть сообщение
    сделал в конце просто Сообщить(КнигаД); и выдало, почему тогда не передает в процедуру

    Код:
    Процедура ЗапросВБазу(Книга)
    Connection = СоздатьОбъект("ADODB.Connection");
      
     //Необходимые параметры для подключения
    АдресСервера   = "localhost";  
    НомерПорта     = "3306";    
    ИмяБД          = "test";    
    Пользователь   = "root";    
    Пароль         = ""; 
     
      //Подключаемся
    Попытка      
        Connection.Open("Driver={MySQL ODBC 3.51 Driver};Server="+СокрЛП(АдресСервера)+";Port=" + НомерПорта + ";Database=" + СокрЛП(ИмяБД) + ";User=" + СокрЛП(Пользователь) + ";Password=" + Пароль + ";Option=3;STMT=SET CHARACTER SET cp1251");
        Сообщить("Подключение прошло успешно");  
    Исключение
        Сообщить("Ошибка подключения - " + ОписаниеОшибки());  
        Возврат;
    КонецПопытки;
    
    Сообщить(Книга);
    Command=СоздатьОбъект("ADODB.Command"); 
    Command.CommandText = "set names cp1251";
    Command.ActiveConnection = Connection;
    Command.CommandType = 1;
    Command.Execute();   
    
    Command=СоздатьОбъект("ADODB.Command");                             
    Запрос1 = "update dbname set book='тест' where id='1'";
    //Запрос1 = "insert into dbname (book) values ()";
    Command.CommandText = Запрос1; 
    Command.ActiveConnection = Connection;
    Command.CommandType = 1;
    Command.Execute();
                      
    //Закрываем соединение.
    Connection.Close();       
    КонецПроцедуры
    Подключение через адо не отлаживается! Точка

  16. Клерк
    Регистрация
    03.06.2013
    Сообщений
    11
    мне и не нужно его отлаживать, почему переменная КнигаД не передается в процедуру?

  17. Аноним64
    Гость
    Цитата Сообщение от HbIXA Посмотреть сообщение
    мне и не нужно его отлаживать, почему переменная КнигаД не передается в процедуру?
    А вот это и не сказать без Отладчика.

  18. Аноним64
    Гость

    могу только намекнуть

    в сторону адо проходят только примитивные (простые) типы - строка, число, дата... копай дальше сам

  19. Клерк
    Регистрация
    03.06.2013
    Сообщений
    11
    дык итак приходит строка. сделал проще

    Процедура ЗапросВБазу(КнигаД)
    Сообщить(КнигаД);
    КонецПроцедуры

    В итоге в отладичке выводит, без него нет

  20. Аноним64
    Гость
    Цитата Сообщение от HbIXA Посмотреть сообщение
    дык итак приходит строка. сделал проще

    Процедура ЗапросВБазу(КнигаД)
    Сообщить(КнигаД);
    КонецПроцедуры

    В итоге в отладичке выводит, без него нет
    еще раз повторяю - пересылать нужно строку - Строка(КнигаД), получить, потом НайтиПоНаименованию - как-то так

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)