|
v7: Класс "Прямой запрос" | ☑ | ||
---|---|---|---|---|
0
Pro100
25.07.13
✎
11:49
|
Спрашивал на форуме 1С++, но пока молчат, решил сюда продублировать вопрос. Может кто подскажет где я ошибся.
В общем в списке справочника номенклатура пытаюсь добавить колонку Цена, но 1С ругается. Вот мой код: ПоставщикДанныхМногострочнаяЧасть = СоздатьОбъект("ПоставщикДанных"); ПоставщикДанныхМногострочнаяЧасть.ТипЗначений = "Справочник.Номенклатура"; ПоставщикДанныхМногострочнаяЧасть.КонтейнерТабличногоПоля = "ТабличноеПолеМногострочнойЧасти"; ПоставщикДанныхМногострочнаяЧасть.КонтейнерКоманднойПанели = "КоманднаяПанельМногострочнойЧасти"; ДанныеСправочник = ПоставщикДанныхМногострочнаяЧасть.Данные; ДанныеСправочник.КнопкаПросмотр = 1; ДанныеСправочник.РежимОтладки = 1; ДанныеСправочник.СоздатьКнопкиПоУмолчанию(); ТабличноеПоле = ДанныеСправочник.ТабличноеПоле; ТабличноеПоле.СтильЗаголовков = 1; ТабличноеПоле.СтильРамки = 1; ДанныеСправочник.НоваяКолонка("Код"); ДанныеСправочник.НоваяКолонка("Наименование"); Запрос=ДанныеСправочник.ПрямойЗапрос; ТекстСоединенияЦена = "left join |$СрезПоследних.Цены(:ВыбДата | ,(Цена,Валюта,ТипЦен) | ,($СпрЦены.ПометкаУдаления=0 and $спрЦены.ТипЦен = :ТипЦены and $спрЦены.Владелец = $ТекущийОбъект.ТекущийЭлемент) | ,left join Справочник.Цены as СпрЦены $nolock on $СпрЦены.ТекущийЭлемент = ТекущийЭлемент | ) as srezcen |"; ДанныеСправочник.ДобавитьСоединениеДанных("ЦенаТовара",ТекстСоединенияЦена); СпрТипыЦен = СоздатьОбъект("Справочник.ТипыЦен"); СпрТипыЦен.НайтиПоКоду("00002"); Запрос.УстановитьТекстовыйПараметр("ТипЦены", СпрТипыЦен.ТекущийЭлемент()); Запрос.УстановитьТекстовыйПараметр("ВыбДата", ТекущаяДата()); ДанныеСправочник.ДобавитьКолонкуДанных("Цены","Цена оптовая","srezcen.Цена","Число",10,2,1); ДанныеСправочник.НоваяКолонка("Цены"); А 1С вот на что ругается: ПоставщикДанных.Справочник::УстановитьПоставщикаДанных() : no such column: sc84.ID ПоставщикДанных.УстановитьТекстЗапроса(ТекстЗапроса,"[КлючПорядка]","[ТекущийЭлемент :Справочник."+ВидСправочника+"]"); {C:\1C\Базы1С\Personal\АвиаПлюс\ТиС\SystemData\Classes\ПоставщикДанных\Поставщик Данных.Справочник.ert(906) } ПоставщикДанных.ТабличноеПоле::Обновить() : ПоставщикДанных.Справочник::УстановитьПоставщикаДанных() : no such column: sc84.ID ПоставщикДанных.УстановитьТекстЗапроса(ТекстЗапроса,"[КлючПорядка]","[ТекущийЭлемент :Справочник."+ВидСправочника+"]"); {C:\1C\Базы1С\Personal\АвиаПлюс\ТиС\SystemData\Classes\ПоставщикДанных\Поставщик Данных.Справочник.ert(906) } вирт().Обновить(); {C:\1C\Базы1С\Personal\АвиаПлюс\ТиС\SystemData\Classes\ПоставщикДанных\Поставщик Данных.ТабличноеПоле.ert(670) } ПоставщикДанных::Обновить() : ПоставщикДанных.ТабличноеПоле::Обновить() : ПоставщикДанных.Справочник::УстановитьПоставщикаДанных() : no such column: sc84.ID ПоставщикДанных.УстановитьТекстЗапроса(ТекстЗапроса,"[КлючПорядка]","[ТекущийЭлемент :Справочник."+ВидСправочника+"]"); {C:\1C\Базы1С\Personal\АвиаПлюс\ТиС\SystemData\Classes\ПоставщикДанных\Поставщик Данных.Справочник.ert(906) } вирт().Обновить(); {C:\1C\Базы1С\Personal\АвиаПлюс\ТиС\SystemData\Classes\ПоставщикДанных\Поставщик Данных.ТабличноеПоле.ert(670) } ПоставщикДанных.ТабличноеПоле.Обновить(); {C:\1C\Базы1С\Personal\АвиаПлюс\ТиС\SystemData\Classes\ПоставщикДанных\Поставщик Данных.ert(220) } ПоставщикДанныхМногострочнаяЧасть.Обновить(); {C:\1C\БАЗЫ1С\PERSONAL\ЗАДАНИЯ\ЗАДАНИЕ 4\СПРАВОЧНИК НОМЕНКЛАТУРА.ERT(172)}: ПоставщикДанных::Обновить() : ПоставщикДанных.ТабличноеПоле::Обновить() : ПоставщикДанных.Справочник::УстановитьПоставщикаДанных() : no such column: sc84.ID ПоставщикДанных.УстановитьТекстЗапроса(ТекстЗапроса,"[КлючПорядка]","[ТекущийЭлемент :Справочник."+ВидСправочника+"]"); {C:\1C\Базы1С\Personal\АвиаПлюс\ТиС\SystemData\Classes\ПоставщикДанных\Поставщик Данных.Справочник.ert(906) } вирт().Обновить(); {C:\1C\Базы1С\Personal\АвиаПлюс\ТиС\SystemData\Classes\ПоставщикДанных\Поставщик Данных.ТабличноеПоле.ert(670) } ПоставщикДанных.ТабличноеПоле.Обновить(); {C:\1C\Базы1С\Personal\АвиаПлюс\ТиС\SystemData\Classes\ПоставщикДанных\Поставщик Данных.ert(220) } Наверх |
|||
1
Pro100
25.07.13
✎
11:49
|
База DBF сразу говорю.
|
|||
2
be-may
25.07.13
✎
11:58
|
А в таблице sc84 действительно нет ключевой колонки id?
// чисто в качестве апа. |
|||
3
Pro100
25.07.13
✎
12:02
|
(2)таблица sc84 из описания файла 1cv7.dd это справочник номенклатура и id там есть...
|
|||
4
Ёпрст
25.07.13
✎
12:10
|
$спрЦены.Владелец = $ТекущийОбъект.ТекущийЭлемент
вот это вот бредятина у тебя |
|||
5
Pro100
25.07.13
✎
12:15
|
(4) убрал, заработало. Спасибо
НО, выводит одну и туже номенклатуру и к ней кучу разных цен... где тогда ставить условие, что только для текущей номенклатуры получать цену? |
|||
6
Ёпрст
25.07.13
✎
12:19
|
для лефтджоина не вижу условия связи у тебя..
|
|||
7
Ёпрст
25.07.13
✎
12:20
|
я хз как там реализовано в этом классе, но должно быть типа того
left join $СрезПоследних.Цены (....) as вася on Вася.Владелец = Номенклатура.ТекущийЭлемент .. ну и $ и прочую ерунду вокни сам.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |