Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) в справочнике реквизит имеет тип Неопределенный (число прочтений - 6121 )
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
в справочнике реквизит имеет тип Неопределенный
10. Июня 2015 :: 16:30
Печать  
Подскажите, пожалуйста,
в Справочник.ФиксированныеЦены  реквизит Объект имеет тип Неопределенный
это Строка, Перечисление.ЗонаДействия или справочник
Как получить его Descr, т.е. Наименование = Строку

SELECT  
     СпрНом.Descr as Номенклатура
     ,$СпрФиксЦены.Объект as ЗонаДействия
FROM
     $Справочник.ФиксированныеЦены As СпрФиксЦены

LEFT JOIN
     $Справочник.Номенклатура AS СпрНом
                        ON СпрНом.ID = $СпрФиксЦены.Номенклатура

WHERE (СпрНом.ISMARK=0) AND (СпрНом.ISFOLDER=2)
";
  
Наверх
 
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #1 - 10. Июня 2015 :: 19:55
Печать  
допустим так:

CREATE TABLE "+#ПеречисленияЗонаДействия+" (VAL CHAR(9));")
INSERT INTO #ПеречисленияЗонаДействия (VAL) VALUES ('"+Значение+"')

вязать по таблице #ПеречисленияЗонаДействия

во основной таблице:

INNER JOIN #ПеречисленияЗонаДействия AS Перечисл  ON $СпрФиксЦены.Объект = Перечисл.ID

НО по строке как
Как по справочнику?

ох поможите, пожалуйста, Профи.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #2 - 10. Июня 2015 :: 20:03
Печать  
(0) сколько строк в справочнике ?
Не легче ли завести несколько полей конкретного типа чем пытаться
запихнуть в одно поле.Как бы в subj мнимая экономия байтов,

Ну можешь еще о нормализации таблиц вспомнить.

И еще учти что в неопределенном типе не просто строка может храниться а строка не более 20 символов.

Ну и опиши задачу.
  
Наверх
 
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #3 - 10. Июня 2015 :: 20:15
Печать  
Z1 ,благодарю за ответ
справочник есть данная данность и он таков:

мне нужно подключаться к многим сиквельным базам /на выбор юзера/
выполнять одинаковый запрос
укладовать в таб по ЗонаДействия  - что есть /конфа 77 одинаковая/
"тип Неопределенный
это Строка, Перечисление.ЗонаДействия или справочник
Как получить его Descr, т.е. Наименование = Строку"

Получить эту ЗонаДействия как строку
и укомплектовать в отчетик по всем региональным базам.
ХЕЛП.
  
Наверх
 
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #4 - 10. Июня 2015 :: 20:32
Печать  
вид в конфе:
  

___________006.jpg ( 20 KB | Загрузки )
___________006.jpg
Наверх
 
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #5 - 10. Июня 2015 :: 20:42
Печать  
значения в нем прописаны в доке, который создает элементы автоматом/ОбработкаПроведения/

Если СпсОбъектов.Тип = "Маг" Тогда
     ФиксЦены.НазначитьТип("Объект","Справочник.Магазин");
ИначеЕсли СпсОбъектов.Тип = "Рег" Тогда
     ФиксЦены.НазначитьТип("Объект","Перечисление.Регионы");
ИначеЕсли СпсОбъектов.Тип = "Все" Тогда
     ФиксЦены.НазначитьТип("Объект","Строка",1);
КонецЕсли;                                                
ФиксЦены.Объект       = СпсОбъектов.Объект;
ФиксЦены.Записать();                        

вот так.

на одной базе считаю языков 1с-ки
а вот пробежаться по всем сиквельным базам с параметром базы могу одним отчетом подключениями и прямыми запросами.

  
Наверх
 
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #6 - 10. Июня 2015 :: 21:53
Печать  
Мысли придут поутру.
хоть и работаю программером с древности, /кстати, мы с Сашей Борковом аналог Волковкоммандера написали на год раньше./
надо и спать....
ох, если-б была одна задача:
и снеговик и клющки и теперь прямое через ВК на сиквел 2000, 2005...
Ух, чепуха - начальство!
где-то наши годыУлыбка)
мне свего-то 52, а учен в физ-мате 30-й
// извините, это ремарка была UP
Печаль
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #7 - 11. Июня 2015 :: 00:06
Печать  
Можно посмотреть примеры выборки разных вариантов, выделить в них ключевые префиксы, по которым и выбирать нужный вариант. Например: у Перечисление префикс будет "   4R  "- тогда CASE LEFT(field,8) WHEN "   4R  " THEN $Перечисление.Тип WHEN ... ну и т.д.
  
Наверх
ICQ  
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #8 - 11. Июня 2015 :: 00:52
Печать  
Salimbek, Дорогой
я последних две недели только в восьмерошной СКД купался
покажи,пож., как? воть один шаблончик.плиз
будут безмерно благодарен.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #9 - 11. Июня 2015 :: 08:00
Печать  
А занафига тебе его наименование ?
Типизируй его как $Неопределенный и привет

Ну или через case определяй вид объекта и соединяй с нужной табличкой.. один хрен в 23 есть и вид и тип.
  
Наверх
 
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #10 - 11. Июня 2015 :: 08:28
Печать  
<Eprst> Добрый день.
не понимаю - слабоват

как сделать: "Типизируй его как $Неопределенный и привет"

SELECT 
     СпрНом.Descr as Номенклатура
     ,$СпрФиксЦены.Объект as ЗонаДействия
FROM
     $Справочник.ФиксированныеЦены As СпрФиксЦены

LEFT JOIN
     $Справочник.Номенклатура AS СпрНом
                       ON СпрНом.ID = $СпрФиксЦены.Номенклатура
  
Наверх
 
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #11 - 11. Июня 2015 :: 08:33
Печать  
въехал

,$СпрФиксЦены.Объект as [ЗонаДействия $Неопределенный]
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #12 - 11. Июня 2015 :: 08:45
Печать  
Да, так и есть, имхо, более чем достаточно. Если только , остальные реквизиты с этого объекта не нужны.
  
Наверх
 
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #13 - 11. Июня 2015 :: 08:52
Печать  
что-то не получается

State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'ЗонаДействия'.
|SELECT 
|      ФиксЦены.Номенклатура as Номенклатура
|      ,ФиксЦены.ЗонаДействия
|      ,ФиксЦены.Цена1 as Цена1
|      ,ФиксЦены.Цена2 as Цена2
|      ,ФиксЦены.Документ as Документ
|      ,ФиксЦены.ДатаЗавершения as ДатаЗавершения
|      ,ФиксЦены.Серия as Серия
|FROM
|      (
|SELECT 
|      СпрНом.Descr as Номенклатура
|      ,$СпрФиксЦены.Объект as [ЗонаДействия $Неопределенный]
|      ,$ПоследнееЗначение.ФиксированныеЦены.Цена1(СпрФиксЦены.ID, :НаДату) as Цена1
|      ,$ПоследнееЗначение.ФиксированныеЦены.Цена2(СпрФиксЦены.ID, :НаДату) as Цена2
|      ,$ПоследнееЗначение.ФиксированныеЦены.Документ(СпрФиксЦены.ID, :НаДату) as Документ
|      ,$ПоследнееЗначение.ФиксированныеЦены.ДатаЗавершения(СпрФиксЦены.ID, :НаДату) as ДатаЗавершения
|      ,$СпрФиксЦены.Серия as Серия
|FROM
|      $Справочник.ФиксированныеЦены As СпрФиксЦены
|LEFT JOIN
|      $Справочник.Номенклатура AS СпрНом ON СпрНом.ID = $СпрФиксЦены.Номенклатура
|
|
|WHERE (СпрНом.ISMARK=0) AND (СпрНом.ISFOLDER=2)
|   ) ФиксЦены
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #14 - 11. Июня 2015 :: 08:54
Печать  
Еще бы..
Типизировать надо во внешнем селекте

Который, и не нужен вовсе в этом запросе.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать