|
Поле объекта не обнаружено (ВидНоменклатуры) | ☑ | ||
---|---|---|---|---|
0
rowflag
03.10.12
✎
14:03
|
Для Каждого Элемент Из МассивНоменклатураОС Цикл
Если ЭлементОбъект.ВидНомеклатуры = ТекущийВидНоменклатуры Тогда МассивНоменклатураСовпадающаяПоВидуСТекущей.Добавить(Элемент); КонецЕсли; МассивНоменклатураОС - Массив элементов типа Справочник ссылка.. |
|||
46
rowflag
03.10.12
✎
14:31
|
(убрал, все тоже самое)
|
|||
47
rowflag
03.10.12
✎
14:31
|
(42) причем здесь рыба?
|
|||
48
DrShad
03.10.12
✎
14:32
|
у тебя там значит точно не ссылки на справочник
|
|||
49
Rodinyr
03.10.12
✎
14:33
|
(47) Повторяю вопрос Как получаешь "МассивНоменклатураОС"?
|
|||
50
DrShad
03.10.12
✎
14:35
|
Функция ПолучитьНоменклатуруТекущегоОС(ОС)
МассивНоменклатураОС = Новый Массив; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОсновныеСредства.Номенклатура |ИЗ | РегистрСведений.ОсновныеСредства КАК ОсновныеСредства |ГДЕ | ОсновныеСредства.ОсновноеСредство = &ОсновноеСредство"; Запрос.УстановитьПараметр("ОсновноеСредство", ОС); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Ном = ВыборкаДетальныеЗаписи.Номенклатура; МассивНоменклатураОС.Добавить(Ном); КонецЦикла; Возврат МассивНоменклатураОС; КонецФункции |
|||
51
Aleks73
03.10.12
✎
14:38
|
Перед
Если Элемент.ЭтоГруппа=Ложь Тогда Вставляешь что-то типа сообщить("---"+ Элемент.имя); и публикуешь резултат на форме. особенно последнне сообщение. |
|||
52
Aleks73
03.10.12
✎
14:38
|
Даже может быть
сообщить("---"+ Элемент.НАИМЕНОВАНИЕ); |
|||
53
DrShad
03.10.12
✎
14:39
|
(52) если там нет ЭтоГруппа, то и наименования тоже нет
|
|||
54
hhhh
03.10.12
✎
14:39
|
(50) похоже там номенклатура не заполнена.
|
|||
55
Aleks73
03.10.12
✎
14:39
|
Как-то меня слово Элеемнт смутило, так переменную не называют,
принято что-то типа: для каждого стр из .... |
|||
56
Cashtane
03.10.12
✎
14:40
|
(45) Точку останова поставь на второй строчке и выдели "элемент". Нажми вычислить с озвусь нам "тип".
|
|||
57
Aleks73
03.10.12
✎
14:42
|
(53) Да, отладчик спасет отца русской демократии, но ТС возможно не умеет с ним работать
|
|||
58
Cashtane
03.10.12
✎
14:43
|
(57) Тогда макрозадача - научить. Показать полезность.
|
|||
59
Buster007
03.10.12
✎
14:43
|
надо поставить в отладчике галку "Останавливаться по ошибке" и посмотреть что в Элементе
|
|||
60
rowflag
03.10.12
✎
14:45
|
{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(413)}: Поле объекта не обнаружено (НАИМЕНОВАНИЕ)
сообщить("---"+ Элемент.НАИМЕНОВАНИЕ); |
|||
61
rowflag
03.10.12
✎
14:46
|
Элемент: Тип: Справочник.Ссылка.
|
|||
62
hhhh
03.10.12
✎
14:46
|
(60) тогда Сообщить("" + Элемент);
|
|||
63
rowflag
03.10.12
✎
14:46
|
(отладчик говорит)
|
|||
64
DrShad
03.10.12
✎
14:46
|
(60) ну вот, я же говорил что нет Наименования
|
|||
65
hhhh
03.10.12
✎
14:47
|
(62)+ нет, Сообщить("--- " + Элемент);
|
|||
66
Aleks73
03.10.12
✎
14:47
|
(61) Просто справочник.ссылка ? или там ещё есть буковки ?
|
|||
67
rowflag
03.10.12
✎
14:47
|
---СБ--02-0001
|
|||
68
rowflag
03.10.12
✎
14:48
|
Сообщить("--- " + Элемент);
---СБ--02-0001 |
|||
69
hhhh
03.10.12
✎
14:48
|
(67) ну и проверь в справочнике, это не группа?
|
|||
70
DrShad
03.10.12
✎
14:48
|
у тебя битые ссылки дружок - поздравляю!
|
|||
71
rowflag
03.10.12
✎
14:49
|
(то есть битые?)
|
|||
72
rowflag
03.10.12
✎
14:49
|
Да элемент это!
|
|||
73
Aleks73
03.10.12
✎
14:49
|
(67) это чего ? э8=0
|
|||
74
DrShad
03.10.12
✎
14:49
|
(72) у твоего элемента нет ссылки!
|
|||
75
rowflag
03.10.12
✎
14:50
|
СправочникСсылка.Номеклатура (извините)
|
|||
76
Aleks73
03.10.12
✎
14:50
|
(68) см (66)
|
|||
77
rowflag
03.10.12
✎
14:50
|
СБ--02-0001 Это элемент справочника номенклатура. Такой есть.
|
|||
78
Cashtane
03.10.12
✎
14:51
|
Ну в том же отладчике разверни этот "элемент", т.е. нажми на плюсик и посмотри там есть "этоГруппа"
|
|||
79
rowflag
03.10.12
✎
14:51
|
А он не разворачивается.
|
|||
80
rowflag
03.10.12
✎
14:51
|
Строка одна.
|
|||
81
Aleks73
03.10.12
✎
14:51
|
(75) т.о. мы имеет две гипотезы
- особо кривые руки ТС - В справочнике номенклатура нет реквизита наименование |
|||
82
DrShad
03.10.12
✎
14:52
|
(79) а потому что это не ссылка
|
|||
83
hhhh
03.10.12
✎
14:52
|
(77) всё. Я под столом. Открой в конфигураторе справочник Номенклатура и найди там ВидНоменклатуры.
|
|||
84
DrShad
03.10.12
✎
14:52
|
(81) наименование будет всегда, даже если длина 0
|
|||
85
Oleg_Kag
03.10.12
✎
14:52
|
Так... давайте зададим главный вопрос:
Конфигурация какая? |
|||
86
Aleks73
03.10.12
✎
14:52
|
(82), см (75)
|
|||
87
rowflag
03.10.12
✎
14:53
|
Конфа с нуля пишу.
|
|||
88
Aleks73
03.10.12
✎
14:53
|
(85) разве что "Васёк писал"
|
|||
89
Aleks73
03.10.12
✎
14:54
|
(87) я валяюсь...позовите специалиста (с)
|
|||
90
rowflag
03.10.12
✎
14:54
|
(83) СправочникСсылка.ВидыНоменклатуры
|
|||
91
Rodinyr
03.10.12
✎
14:54
|
(79) rowflag : повторяю вопрос- Каким методом получил МассивНоменклатураОС?
|
|||
92
Cashtane
03.10.12
✎
14:54
|
УФ.
|
|||
93
Cashtane
03.10.12
✎
14:55
|
Блин, он на управляемых пишет.
|
|||
94
DrShad
03.10.12
✎
14:55
|
(93) и что?
|
|||
95
rowflag
03.10.12
✎
14:55
|
МассивНоменклатураОС = ПолучитьНоменклатуруТекущегоОС(ОССостоящееИзЭтогоЭлемента);
&НаСервере Функция ПолучитьНоменклатуруТекущегоОС(ОС) МассивНоменклатураОС = Новый Массив; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОсновныеСредства.Номенклатура |ИЗ | РегистрСведений.ОсновныеСредства КАК ОсновныеСредства |ГДЕ | ОсновныеСредства.ОсновноеСредство = &ОсновноеСредство"; Запрос.УстановитьПараметр("ОсновноеСредство", ОС); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Ном = ВыборкаДетальныеЗаписи.Номенклатура; МассивНоменклатураОС.Добавить(Ном); КонецЦикла; Возврат МассивНоменклатураОС; КонецФункции |
|||
96
Oleg_Kag
03.10.12
✎
14:56
|
Вообщем... тут щас народ придет к такому:
Выложу свою мегаконфу куда-нибудь |
|||
97
rowflag
03.10.12
✎
14:57
|
НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи) Штрихкод = Штрихкод_рек_чис; // Получаем штрихкод из реквизита (Если он есть, то надо скрыть элементы генерации нового штрихкода) // 1. Регистрируем новый штрихкод Если РегистрироватьШтрихкод Тогда // Если надо регистрировать штрихкод (он (не-занят) и (не-зарегистирован_уже-за-этой-номенклатурой)) Если РегистрироватьШтрихкод Тогда Наименование = Объект.Наименование; Если Штрихкод > 0 Тогда РегистрацияНовогоШтрихкода(Наименование, Штрихкод); РегистрироватьШтрихкод = Ложь; КонецЕсли;//к1 штриход зарегистрирован КонецЕсли; КонецЕсли; // 2. Вносим данные в РС "ОсновныеСредства" РегистрироватьОС = Истина; Если РегистрироватьОС Тогда // Находим все номенклатуры, входящие в данное ОС. ТекущийВидНоменклатуры = Объект.ВидНоменклатуры; МассивНоменклатураОС = Новый Массив; МассивНоменклатураОС = ПолучитьНоменклатуруТекущегоОС(ОССостоящееИзЭтогоЭлемента); МассивНоменклатураСовпадающаяПоВидуСТекущей = Новый Массив; Для Каждого Элемент Из МассивНоменклатураОС Цикл сообщить("---"+ Элемент); сообщить("---"+ Элемент.НАИМЕНОВАНИЕ); сообщить("---"+ Элемент.имя); Если Элемент.ЭтоГруппа=Ложь Тогда Если Элемент.ВидНомеклатуры = ТекущийВидНоменклатуры Тогда МассивНоменклатураСовпадающаяПоВидуСТекущей.Добавить(Элемент); КонецЕсли; КонецЕсли; КонецЦикла; |
|||
98
Rodinyr
03.10.12
✎
14:58
|
(96) Хорошо! "ОсновныеСредства.Номенклатура" какого типа?
|
|||
99
hhhh
03.10.12
✎
14:59
|
(97) как называется реквизит в справочнике Номенклатура? Откройте его там и копипастом скопируйте сюда.
|
|||
100
Aprobator
03.10.12
✎
14:59
|
(99) да без разницы. Он в управляемых на клиенте всяко виден не будет.
|
|||
101
Cashtane
03.10.12
✎
15:00
|
(94) Выполняет на клиенте от того и беда.
|
|||
102
Aprobator
03.10.12
✎
15:01
|
я про видноменклатуры.
|
|||
103
rowflag
03.10.12
✎
15:01
|
Реквизит в справочнике Номенклатура копипаст:СправочникСсылка.ВидыНоменклатуры
|
|||
104
DrShad
03.10.12
✎
15:01
|
(101) от чего конкретно на Клиенте беда? не говорите загадками
|
|||
105
Rodinyr
03.10.12
✎
15:01
|
(100) Точно, На стороне клиента ссылка не увидит реквизиты Номенклатуры
|
|||
106
rowflag
03.10.12
✎
15:02
|
Имя: ВидНоменклатуры
|
|||
107
DrShad
03.10.12
✎
15:04
|
(105) ну хз
|
|||
108
Aprobator
03.10.12
✎
15:05
|
|
|||
109
Aprobator
03.10.12
✎
15:06
|
это так - простейшее решение.
|
|||
110
hhhh
03.10.12
✎
15:09
|
(106)
&НаСервере Функция ПолучитьНоменклатуруТекущегоОС(ОС, ВидНоменклатуры) МассивНоменклатураОС = Новый Массив; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОсновныеСредства.Номенклатура |ИЗ | РегистрСведений.ОсновныеСредства КАК ОсновныеСредства |ГДЕ | ОсновныеСредства.ОсновноеСредство = &ОсновноеСредство | И ОсновныеСредства.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры "; Запрос.УстановитьПараметр("ОсновноеСредство", ОС); Запрос.УстановитьПараметр("ВидНоменклатуры", ВидНоменклатуры); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Ном = ВыборкаДетальныеЗаписи.Номенклатура; МассивНоменклатураОС.Добавить(Ном); КонецЦикла; Возврат МассивНоменклатураОС; |
|||
111
rowflag
03.10.12
✎
15:09
|
(108) - Заработало!
|
|||
112
Aprobator
03.10.12
✎
15:11
|
(111) куда б оно делось.
|
|||
113
hhhh
03.10.12
✎
15:11
|
(111) возьми уже готовую БП и переделывай. Чего ты с нуля ваяешь основные средства?
|
|||
114
rowflag
03.10.12
✎
15:11
|
(106) Мне нужны все Номенклатура, а не только те, которые к ВидНоменклатуры относятся..
|
|||
115
Aprobator
03.10.12
✎
15:11
|
(111) а вообще - читай учебники.
|
|||
116
rowflag
03.10.12
✎
15:12
|
Так в чем причина была? (НаКлиенте нельзя к реквизиту обратиться?)
|
|||
117
rowflag
03.10.12
✎
15:13
|
(почему сразу не понятно было тогда всем это?)
|
|||
118
Aprobator
03.10.12
✎
15:15
|
(117) потому что в теме не указано, что речь об управляемых формах. И по коду в (0) этого не определить.
|
|||
119
Aprobator
03.10.12
✎
15:16
|
хотя после поста (23) почему такую фигню несли - я хз.
|
|||
120
rowflag
03.10.12
✎
15:18
|
Всем спасибо!
|
|||
121
Aprobator
03.10.12
✎
15:19
|
Второй вариант решения твоей проблемы методологически более правильный.
|
|||
122
Aprobator
03.10.12
✎
15:21
|
ну и в массив на клиенте делать так:
|
|||
123
Aprobator
03.10.12
✎
15:22
|
а млин: ошибсь
|
|||
124
rowflag
03.10.12
✎
15:23
|
(122) не понятно что изменилось на клиенте..
|
|||
125
Aprobator
03.10.12
✎
15:25
|
(124) ... ЭлементОбъект.Номенклатура ...
|
|||
126
hhhh
03.10.12
✎
15:25
|
(124) на клиенте появился ВидНоменклатуры.
|
|||
127
Aprobator
03.10.12
✎
15:26
|
(124) на клиент уходит не массив, а тз с колонками Номенклатура и ВидНоменклатуры.
|
|||
128
rowflag
03.10.12
✎
15:26
|
Понял! Спасибо!
|
|||
129
rowflag
03.10.12
✎
15:26
|
(почему это является более правильным?)
|
|||
130
Aprobator
03.10.12
✎
15:27
|
(129) потому что все делается за одно обращение к серверу.
|
|||
131
Aprobator
03.10.12
✎
15:27
|
а не каждый раз при обходе массива номенклатуры (если там конечно массив, а реально не один элемент).
|
|||
132
rowflag
03.10.12
✎
15:28
|
Отлично!
|
|||
133
rowflag
03.10.12
✎
15:39
|
{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(416)}: Ошибка при вызове метода контекста (ПолучитьНоменклатуруТекущегоОС)
МассивНоменклатураОС = ПолучитьНоменклатуруТекущегоОС(ОССостоящееИзЭтогоЭлемента); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: НачалоСвойства: ret Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType по причине: Ошибка отображения типов: Отсутствует отображение для типа '{http://v8.1c.ru/8.1/d |
|||
134
Aprobator
03.10.12
✎
15:59
|
чудно - реквизит значит напрямую лезет, а из запроса не хочет? Сек тогда.
|
|||
135
Aprobator
03.10.12
✎
16:01
|
ну оставь тогда первое решение - времени копаться нету и сил тоже. Нагружен по самое нехочу. А вообще - читай учебники.
|
|||
136
Aprobator
03.10.12
✎
16:03
|
может конечно NULL гадить с вида номенклатуры то. Тип значения колонки таблицы полученной
|
|||
137
Aprobator
03.10.12
✎
16:03
|
в результате запроса
|
|||
138
Aprobator
03.10.12
✎
16:03
|
да нет - вроде тоже передается.
|
|||
139
Aprobator
03.10.12
✎
16:05
|
ладно, направление тебе дали. Давай дальше сам. Да и полезнее всяко будет.
|
|||
140
Aprobator
03.10.12
✎
16:07
|
проверь, может результат запроса пустой оказался.
|
|||
141
Aprobator
03.10.12
✎
16:09
|
а нашел - ТЗ с сервера на клиент не передается.
|
|||
142
Aprobator
03.10.12
✎
16:09
|
на тонкий
|
|||
143
Aprobator
03.10.12
✎
16:14
|
Если значений реально много то можно сделать обход запроса и в массив писать значение структуры. Типа:
Соррь - забыл про эту бяку с таблицей значений, что ее тонкий клиент не видит. |
|||
144
rowflag
03.10.12
✎
16:31
|
(143) Большое Спасибо!
|
|||
145
Aprobator
03.10.12
✎
16:35
|
и тебе спасибо. Обучая других растешь сам.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |