|
v7: Обратиться к владельцу текущего справочника | ☑ | ||
---|---|---|---|---|
0
HbIXA
02.06.13
✎
19:54
|
Структура такая
Книги (др.реквизиты) Книги на руках ( дата выдачи(дата), книга(справочник.книги) Есть документ при проведении которого делаю sql запрос Так вот как мне получить значения с справочника "Книги"? |
|||
1
Злопчинский
02.06.13
✎
19:59
|
написанием кода, вестимо
|
|||
2
HbIXA
02.06.13
✎
20:00
|
Остроумно, а по существу
|
|||
3
Злопчинский
02.06.13
✎
20:07
|
КнигиНаРуках.Книга
|
|||
4
Злопчинский
02.06.13
✎
20:07
|
(2) вопрос задавай внятно. а не по еврейски
|
|||
5
HbIXA
02.06.13
✎
20:24
|
Мне нужно получить значения с владельца справочника книги.
Процедура ОбработкаПроведения() Спр=СоздатьОбъект("Справочник.КнигиНаРуках"); Спр.ИспользоватьВладельца(Читатель); ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл ... ЗапросВБазу(Спр.Книга); КонецЦикла; КонецПроцедуры Вот почему то передает пустоту // ЗапросВБазу(Спр.Книга); |
|||
6
HbIXA
02.06.13
✎
20:34
|
Злопчинский, извиняюсь, тока начал в 1с вникать
|
|||
7
mikecool
02.06.13
✎
20:37
|
а где скл-запрос?
|
|||
8
mikecool
02.06.13
✎
20:38
|
да и в топике про пользователей ни слова
|
|||
9
MaxS
02.06.13
✎
20:39
|
(5) выбираются строки документа, а при чем тут Спр ?
|
|||
10
HbIXA
02.06.13
✎
20:45
|
mikecool, в функции ЗапросВБазу
mikecool, пользователи мне не нужны, мне сейчас нужно вытащить инфу из "Книги" через выбранный элемент в форме MaxS, это я просто закинул,туда и надо передать Наименование со справочника книги |
|||
11
КапЛей
02.06.13
✎
21:05
|
ЗапросВБазу(Спр.Книга)
РукаЛицо.jpg |
|||
12
HbIXA
02.06.13
✎
21:14
|
КапЛей, не зная задачи, и выполения функции, пишешь бред
|
|||
13
КапЛей
02.06.13
✎
22:03
|
(12) а где-то описана задача?
|
|||
14
КонецЦикла
02.06.13
✎
22:04
|
Три раза читал сабж, ничего не понял
Давай еще разок попробуй |
|||
15
victor79
02.06.13
✎
22:53
|
ЭлементСправочника.Владелец
В случае (5) есть спр.Владелец, равный Читатель. А так же есть спр.Книга.Владелец, если элемент справочника книги имеет владельцев. Только что за владелец может быть у книги не понятно. скл в (5) нет. И документа там нет. И суслика не видел, хотя в том что он есть я не сомневаюсь. |
|||
16
victor79
02.06.13
✎
22:56
|
документ все же нашел. А суслика нет.
|
|||
17
Злопчинский
02.06.13
✎
23:00
|
Ныха, милять! тв программист или хрен с бугра?
Неотьемлемой сущностью программиста является умение логично мыслить и логично излагать. Ясное изложение свидетельствует о ясности понимания задачи. Нет таких качеств у тебя? - "Будь мужиком, осовободи землю!" (с) Фарит. . В школе ты учился или балду в штанах гонял? вспомни как записывается задача 1. Дано: излагаются все сущности, последовательно, взаимосязанно. 2. Требуется: излагается что надо получить (а не что делать!) 3. Решение: проводится построение решения . У тебя п.1 - отсутствует, более чем полностью п.2 - отсуствует почти полностью, за редкими проблесками смысла, и то, который приходится телепатировать... . так что или включи мозг или http://cs9931.userapi.com/u172301/-14/x_bdb9c1f5.jpg |
|||
18
victor79
02.06.13
✎
23:01
|
но для спр выборка открыта не была.
|
|||
19
HbIXA
02.06.13
✎
23:12
|
Да я уже сам запутался, в общем задача такая, сделать сайт в котом будет инфа о книгах взятых в библиотеки.
То есть в сайте будет база только взятых книг без самой номенклатуры. Теперь к структуре библиотеки в 1с. Есть 3 справочника с которыми щас работаю, это Книги, КнигиНаРуках, ИнвентарныеНомера КнигиНаРуках (Подчинен Читатели) - Реквизиты - "Книга".Справочник.Книги - "ИнвНом".Справочникю.ИнвентарныеНомера Книги - Реквизиты - "Наименование" - и др Читатели - Реквизиты - пароль - и др ИнвентарныеНомера (Подчинен Книги) - Реквизиты - ... При проведении документа "ВыдачаКниги" мне в базу mysql нужно передать значения с Справочник.Книги и Справочник.Читатели. Как мне передать при проводке в функцию запроса эти данные. Могу код обработки скинуть |
|||
20
Злопчинский
02.06.13
✎
23:48
|
(19) Незачет
Автор, ты - дятел. редкостный. "Есть 3 справочника с которыми щас работаю, это Книги, КнигиНаРуках, ИнвентарныеНомера" - ниже всплывает справочник "Читатели". - ниже мимоходом всплывает неупоминавшийся нигде выше документ "ВыдачаКниги". . имеем какую-то хреновую rовноподелку, которую ты настойчиво суешь нам в руки. . две попытки - два незачета. . бросай курить шьiшки и попытайся третий, последний раз... |
|||
21
HbIXA
02.06.13
✎
23:59
|
Повторяю, можно сказать я второй день в 1с сижу, и что Вам не понятно в данном объяснении я недогоняю. Вроде все доступно.
Как мне получить значения книги и читателя из справочников? |
|||
22
Злопчинский
03.06.13
✎
03:16
|
(21) ныха, мне непонятно откуда при упомянутых 3 справочниках внезапоно появляется 4-ый. мне непонятно - нахрена ты прилез на форум, если занимаешься второй день 1Синой? почитай книжки с месяц и задавай ВОПРОСЫ правильные, на которые тебе здесь ответят (повозят мордой по столу - принято тут так - но ответят, в сложных случаях - помогут). а вылазить на второй день на форум - это некомильфо. УЧИТЬ забесплатно и разжевывать - охотников особо нет, может кто-то и напряжется от скуки... Мне вот ремонт в квартире что-то никто забесплатно не рвется починить... я если я в трубах и вентиялях всего второй день - то я вообщем-то вызываю СПЕЦИАЛИСТА и плачу ему денежку...
. Успехов в освовении! |
|||
23
HbIXA
03.06.13
✎
14:34
|
Хорошо, конкретнее вопрос
Процедура ОбработкаПроведения() Спр=СоздатьОбъект("Справочник.КнигиНаРуках"); Спр.ИспользоватьВладельца(Читатель); ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл Если ПустоеЗначение(ИнвНомер)=0 Тогда Если Спр.НайтиПоРеквизиту("ИнвНомер",ИнвНомер,0)=0 Тогда Спр.Новый(); Спр.Книга=Книга; Спр.ИнвНомер=ИнвНомер; Спр.ДатаВыдачи=ДатаДок; Спр.Записать(); КонецЕсли; Если Константа.УчетПоместамХранения=Перечисление.Булево.Да Тогда МХ=СоздатьОбъект("Справочник.МестаХранения"); Если МХ.НайтиПоКоду(0)=0 Тогда МХ.Новый(); МХ.Код=0; МХ.Наименование="Книга находится на руках"; МХ.Записать(); КонецЕсли; УстановитьРеквизитСправочника(ИнвНомер,"МестоХраненияКниги",МХ.ТекущийЭлемент(),ДатаДок,,,); КонецЕсли; Иначе Если Спр.НайтиПоРеквизиту("Книга",Книга,0)=0 Тогда Спр.Новый(); Спр.Книга=Книга; Спр.ДатаВыдачи=ДатаДок; Спр.Записать(); КонецЕсли; КонецЕсли; ЗапросВБазу(Спр.Книга.ПолноеНаименование); КонецЦикла; КонецПроцедуры Выдает пустое значение - Спр.Книга.ПолноеНаименование Структура - http://linkme.ufanet.ru/images/7503d3259cf3be4a0fdae5c6aefcbfd5.jpg |
|||
24
Mikeware
03.06.13
✎
14:39
|
и где вопрос?
|
|||
25
HbIXA
03.06.13
✎
15:14
|
Почему выдает пустое значение - Спр.Книга.ПолноеНаименование, причем при отладчике работает нормально, не пусто.
|
|||
26
Mikeware
03.06.13
✎
15:15
|
(25) кто и где "выдает"?
|
|||
27
Ёпрст
03.06.13
✎
15:21
|
(23) выкини весь код и напиши так:
Процедура ОбработкаПроведения() ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цик ЗапросВБазу(Книга);//ну можешь и строку передать Книга.ПолнНаименование КонецЦикла; КонецПроцедуры А за создание элементов в модуле проведения, нужно тапком о г ре б а т ь |
|||
28
Попытка1С
03.06.13
✎
15:24
|
Помоему до создания СКЛ запроса ты слегка не готов..
|
|||
29
HbIXA
03.06.13
✎
15:25
|
конфу писал не я, мне щас нужно просто интеграцию с сайтом сделать, заработа Спр.Книга.ПолноеНаименование, проблема щас в процедуре, я понимаю что это все кастыли, пинать сильно не надо, мне щас главное чтобы работало, а потом уже за качество кода)
Что щас не так в процедуре? А именно почему переменная Книга при получении пустая? Процедура ЗапросВБазу(Книга) 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(); КонецПроцедуры |
|||
30
Попытка1С
03.06.13
✎
15:28
|
Процедура ОбработкаПроведения()
Спр=СоздатьОбъект("Справочник.КнигиНаРуках"); Спр.ИспользоватьВладельца(Читатель); ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл ... ЗапросВБазу(Спр.Книга); КонецЦикла; КонецПроцедуры Вот почему то передает пустоту // ЗапросВБазу(Спр.Книга); Ты понимаешь что у тебя Спр.Книга тут а ты строчки перебераешь? |
|||
31
Попытка1С
03.06.13
✎
15:30
|
Спр=СоздатьОбъект("Справочник.КнигиНаРуках");
Спр.ИспользоватьВладельца(Читатель); //вот тут тебе надо спозиционироваться чтобы у тебя хоть что-то было в Спр.Книга Спр.ВыбратьЭлементы() Спр.ПолучитьЭлемент() Спр.НайтиПоКоду Спр.НайтиПоНаименование и прочее |
|||
32
Ёпрст
03.06.13
✎
15:30
|
(29) Книга - ЭТО что у тебя ?
Есть такой реквизит в ТАБЛИЧНОЙ части документа, или нет ? |
|||
33
Mikeware
03.06.13
✎
15:33
|
(29) проблема не в процедуре, проблема в ДНК.
|
|||
34
vladko
03.06.13
✎
15:38
|
(23) Покажи структуру твоего проводимого документа из конфигуратора. Похоже Ёпрст в (27) дело говорит.
|
|||
35
vladko
03.06.13
✎
15:39
|
а процедура ОбработкаПроведения в (23) очень ужасная
|
|||
36
Ёпрст
03.06.13
✎
15:40
|
Да и.. запросвСКуль для каждой строки - это п..ц (установка соединения и отдельный запрос), в общем всё в топку.
|
|||
37
HbIXA
03.06.13
✎
15:40
|
Попытка1С, Спр.Книга.ПолноеНаименование; - этим я получаю значение реквизита ПолноеНаименование справочника Книги, http://linkme.ufanet.ru/images/7503d3259cf3be4a0fdae5c6aefcbfd5.jpg, и щас все работает но только если я в цикле, а мне нужно щас передать в процедуру ЗапросВБазу, делаю так
КнигаД = Спр.Книга.ПолноеНаименование; ЗапросВБазу(КнигаД); В результате в процедуру ЗапросВБазу приходит пустое значение, а в цикле выводится норм, например "Книга22" |
|||
38
HbIXA
03.06.13
✎
15:41
|
да разделю потом, мне щас понять бы эти мелочи
|
|||
39
Ёпрст
03.06.13
✎
15:50
|
На (32) есть ответ ?
|
|||
40
HbIXA
03.06.13
✎
15:53
|
Ёпрст, сделал проще,
Процедура ЗапросВБазу(КнигаД) Сообщить(КнигаД); КонецПроцедуры В итоге в отладичке выводит норм, без него опять пусто |
|||
41
Ёпрст
03.06.13
✎
15:59
|
Я рад за тебя, на (32) есть ответ ?
|
|||
42
ЧеловекДуши
03.06.13
✎
16:00
|
(12) Бред пишите вы :)
|
|||
43
ЧеловекДуши
03.06.13
✎
16:01
|
(29) Запрос СУПЕР! :)
|
|||
44
ЧеловекДуши
03.06.13
✎
16:03
|
(37) Если У полного наименования тип Строка (0 - неограниченной длины), то в запросе SQL ты не сможешь получить нужного эффекта, какой бы эффект ты бы нехотел, так и не понял, что вообще нужно автору :)
|
|||
45
ЧеловекДуши
03.06.13
✎
16:05
|
+ (0) Автор, отладчик, что съели?
ДобавИ в функцию "ЗапросВБазу" Строку Процедура ЗапросВБазу(Книга) Сообщить(""+СокрЛП(Книга)+" |"+Строка(СтрДлина(СокрЛП(Книга)))); |
|||
46
Chum
03.06.13
✎
16:10
|
автор, ты бы пояснил что ты хочешь.
Что происходит у тебя в ЗапросВБАзу() и что туда передается? Спр=СоздатьОбъект("Справочник.КнигиНаРуках"); // создали объект Спр.ИспользоватьВладельца(Читатель); // определили владельца ВыбратьСтроки(); // это ТЧ Пока ПолучитьСтроку()=1 Цикл // по ТЧ ... // вот здесь нифига не происходит с позиционированием справочника ЗапросВБазу(Спр.Книга); // поэтому здесь пусто КонецЦикла; КонецПроцедуры Вообще все это похоже на лабораторную работу в каком-то г0вн0вузе |
|||
47
HbIXA
03.06.13
✎
16:15
|
Всем спс, отдельное ЧеловекДуши, СокрЛП(Книга) заработало, сори за мозгоимения =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |