Переключение на Главную Страницу Страницы: 1 [2] 3 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) Массовый ввод элементов справочников?? (число прочтений - 17193 )
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Массовый ввод элементов справочников??
Ответ #15 - 21. Декабря 2006 :: 13:29
Печать  
Programmer_1c писал(а) 21. Декабря 2006 :: 13:21:
правда у меня количество полей больше, чем указано через запятую

в этом случае и ошибка была бы другой, а не "String data, right truncation "
  

1&&2&&3
Наверх
 
IP записан
 
Programmer_1c
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 21. Декабря 2006
Re: Массовый ввод элементов справочников??
Ответ #16 - 21. Декабря 2006 :: 13:39
Печать  
trad писал(а) 21. Декабря 2006 :: 13:29:
Programmer_1c писал(а) 21. Декабря 2006 :: 13:21:
правда у меня количество полей больше, чем указано через запятую

в этом случае и ошибка была бы другой, а не "String data, right truncation "


тогда ничего не понимаю  Плачущий
  
Наверх
 
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Массовый ввод элементов справочников??
Ответ #17 - 21. Декабря 2006 :: 13:44
Печать  
Цитата:
String data, right truncation

В каком-то поле значение строкового параметра длинее чем тип в таблице справочника;

Цитата:
правда у меня количество полей больше, чем указано через запятую

В этом случае MSSQL, возможно, вообще не сможет вставить запись, т.к. значения NULL в колонках таблицы справочника 1С не допускает (исключение составляют длинные строки (text), там значение null допустимо), и default правил на эти колонки тоже скорее всего нет (ну 1С, по крайней мере не делает).
Кроме того, порядок полей в таблице должен строго соответствовать значениям в предложении values, иначе необходимо после имени таблицы в скобках перечислить для каких полей указываются значения. (См. полный синтаксис инструкции insert в BOL)
  
Наверх
ICQ  
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Массовый ввод элементов справочников??
Ответ #18 - 21. Декабря 2006 :: 13:48
Печать  
а вообще, структуру справочника повидать-бы..
  
Наверх
ICQ  
IP записан
 
Programmer_1c
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 21. Декабря 2006
Re: Массовый ввод элементов справочников??
Ответ #19 - 21. Декабря 2006 :: 13:49
Печать  
нашел, я что-то все в наименование смотрел, а у меня код больше оказался

но это еще не все

теперь так ругается
ВыполняемыйМодуль.СформироватьОшибку(Запрос.ПолучитьОписаниеОшибки());
{Документ.Такой-то(478)}: State 21S01, native 213, message [Microsoft][ODBC SQL Server Driver][SQL Server]Insert Error: Column name or number of supplied values does not match table definition.
  
Наверх
 
IP записан
 
Programmer_1c
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 21. Декабря 2006
Re: Массовый ввод элементов справочников??
Ответ #20 - 21. Декабря 2006 :: 13:51
Печать  
извините, позже увидел комментарии DmitrO
сейчас попробую прописать все поля
  
Наверх
 
IP записан
 
Programmer_1c
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 21. Декабря 2006
Re: Массовый ввод элементов справочников??
Ответ #21 - 21. Декабря 2006 :: 13:52
Печать  
структура справочника такова

#==TABLE no 26     : Справочник Контрагенты
# Name    |Descr                         |Type[A/S/U]|DBTableName|ReUsable 
T=SC133   |Справочник Контрагенты        |A          |SC133      |1         
#-----Fields-------
# Name      |Descr               |Type|Length|Precision
F=ID        |ID object           |C   |9     |0       
F=PARENTID  |ID parent obj       |C   |9     |0       
F=CODE      |object code         |C   |8     |0       
F=DESCR     |object description  |C   |30    |0       
F=ISFOLDER  |Flag - Is Line - Fol|N   |1     |0       
F=ISMARK    |Flag Object is Marke|C   |1     |0       
F=VERSTAMP  |Version stamp       |C   |6     |0       
F=SP121     |(P)ВидКонтрагента   |C   |9     |0       
F=SP123     |(P)ЮридическийАдрес |C   |85    |0       
F=SP124     |(P)ПочтовыйАдрес    |C   |85    |0       
F=SP125     |(P)Телефоны         |C   |50    |0       
F=SP126     |(P)ИНН              |C   |20    |0       
F=SP127     |(P)ДокументСерия    |C   |14    |0       
F=SP128     |(P)ДокументНомер    |C   |14    |0       
F=SP129     |(P)ДокументКемВыдан |C   |60    |0       
F=SP130     |(P)ДокументДатаВыдач|D   |8     |0       
F=SP131     |(P)ОсновнойДоговор  |C   |9     |0       
F=SP37027   |(P)ОсновнойСчет     |C   |9     |0       
F=SP50891   |(P)ОКПО             |C   |13    |0
  
Наверх
 
IP записан
 
Programmer_1c
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 21. Декабря 2006
Re: Массовый ввод элементов справочников??
Ответ #22 - 21. Декабря 2006 :: 13:55
Печать  
получается, чтобы определить допустим вид контрагента, я сначала должен найти ID этого перечисления???
  
Наверх
 
IP записан
 
Programmer_1c
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 21. Декабря 2006
Re: Массовый ввод элементов справочников??
Ответ #23 - 21. Декабря 2006 :: 13:59
Печать  
что-то не нашел таблицы с перечислениями ;-(
  
Наверх
 
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Массовый ввод элементов справочников??
Ответ #24 - 21. Декабря 2006 :: 14:01
Печать  
Programmer_1c писал(а) 21. Декабря 2006 :: 13:55:
получается, чтобы определить допустим вид контрагента, я сначала должен найти ID этого перечисления???

Он есть в метаданных.
  
Наверх
ICQ  
IP записан
 
Programmer_1c
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 21. Декабря 2006
Re: Массовый ввод элементов справочников??
Ответ #25 - 21. Декабря 2006 :: 14:09
Печать  
DmitrO писал(а) 21. Декабря 2006 :: 14:01:
Programmer_1c писал(а) 21. Декабря 2006 :: 13:55:
получается, чтобы определить допустим вид контрагента, я сначала должен найти ID этого перечисления???

Он есть в метаданных.


а можно подробнее про то, как его найти?

  
Наверх
 
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Массовый ввод элементов справочников??
Ответ #26 - 21. Декабря 2006 :: 14:17
Печать  
запрос.УстановитьТекстовыйПараметр("ВидКонтрагента", Перечисление.ВидыКонтрагентов.ЮрЛицо);
и в запросе:
... values(?,?,:ВидКонтрагента,?)

или если надо ставить разные:
Код
Выбрать все
запрос.УстПараметр("ВидКонтрагента", е("ЮрЛицо")))+"   "); 

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


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 21. Декабря 2006
Re: Массовый ввод элементов справочников??
Ответ #27 - 21. Декабря 2006 :: 14:19
Печать  
DmitrO писал(а) 21. Декабря 2006 :: 14:17:
запрос.УстановитьТекстовыйПараметр("ВидКонтрагента", Перечисление.ВидыКонтрагентов.ЮрЛицо);
и в запросе:
... values(?,?,:ВидКонтрагента,?)

или если надо ставить разные:
Код
Выбрать все
запрос.УстПараметр("ВидКонтрагента", е("ЮрЛицо")))+"   "); 



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


I Love YaBB 2!

Сообщений: 24
Зарегистрирован: 21. Декабря 2006
Re: Массовый ввод элементов справочников??
Ответ #28 - 21. Декабря 2006 :: 14:45
Печать  
в первом варианте ругается так

ВыполняемыйМодуль.СформироватьОшибку(Запрос.ПолучитьОписаниеОшибки());
{Документ.Такой-то.Форма.Модуль(485)}: Meta name parser error: не указан параметр ":ВидКонтрагента"



во втором так

запрос.УстПараметр("ВидКонтрагента", е("ЮрЛицо")))+"   ");
{Документ.Такой-то.Форма.Модуль(541)}: Недопустимое значение индекса параметра
  
Наверх
 
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Массовый ввод элементов справочников??
Ответ #29 - 21. Декабря 2006 :: 14:54
Печать  
Programmer_1c, это твой первый прямой запрос на 1с++?
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 4 
ОтправитьПечать