Добавление строк в таблицу созданную на стороне com базы

1. glime 106 26.12.13 11:58 Сейчас в теме
Добрый день, помогите пожалуйста.
Создаю таблицу:

ТаблицаПараметров = БазаБП.NewObject("ТаблицаЗначений");
	
	КвалифСтроки = БазаБП.NewObject("КвалификаторыСтроки", 20);
	ДопустимыеТипы = БазаБП.NewObject("ОписаниеТипов", "Строка", КвалифСтроки);	
	
	ТаблицаПараметров.Колонки.Добавить("Номер", ДопустимыеТипы);
	
	КвалифДаты = БазаБП.NewObject("КвалификаторыДаты");
	ДопустимыеТипыДаты = БазаБП.NewObject("ОписаниеТипов", "Дата", КвалифДаты);	
	
	ТаблицаПараметров.Колонки.Добавить("День", ДопустимыеТипыДаты);
Показать


пытаюсь написать
НовСтрКом = ТаблицаПараметров.Добавить()

вываливается по ошибке, может кто знает как это сделать, уж больно не охото крутить в цикле запрос к Com-у
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Восьмой 88 26.12.13 12:05 Сейчас в теме
(1) glime, Уважаемый а можно узнать что за ошибка - вот этот код прекрасно работает:

V82 = Новый COMObject ("V82.COMConnector");
Соединение82 = V82.Connect("File=""моя строка подключения""");

ТаблицаПараметров = Соединение82.NewObject("ТаблицаЗначений");

КвалифСтроки = Соединение82.NewObject("КвалификаторыСтроки", 20);
ДопустимыеТипы = Соединение82.NewObject("ОписаниеТипов", "Строка", КвалифСтроки);

ТаблицаПараметров.Колонки.Добавить("Номер", ДопустимыеТипы);

КвалифДаты = Соединение82.NewObject("КвалификаторыДаты");
ДопустимыеТипыДаты = Соединение82.NewObject("ОписаниеТипов", "Дата", КвалифДаты);

ТаблицаПараметров.Колонки.Добавить("День", ДопустимыеТипыДаты);

СтрокаКом = ТаблицаПараметров.Добавить();
Показать
3. glime 106 26.12.13 12:12 Сейчас в теме
{Форма.Форма.Форма(56)}: Метод объекта не обнаружен (Добавить)
НовСтр = ТаблицаПараметров.Добавить();
4. glime 106 26.12.13 12:13 Сейчас в теме
5. glime 106 26.12.13 12:16 Сейчас в теме
подключение к базе

Параметры = "Srvr=serv1c;Ref=buh;" ;
	V82COMConnector= Новый COMОбъект("V82.COMConnector");
	Попытка
		
		СBase = V82COMConnector.Connect(Параметры);
		
		Возврат СBase;
		
	Исключение
		
		Предупреждение ("Ошибка подключения!");
		Возврат Неопределено;
		
	КонецПопытки;
Показать


пользователей в БД нет
6. Восьмой 88 26.12.13 12:20 Сейчас в теме
(5) glime, покажи весь код походу гдето сносишь переменную
7. glime 106 26.12.13 12:23 Сейчас в теме
код большой, да и когда конектюсь в другой процедуре
Выборка = Результат.Выбрать();
	
	ТаблицаПараметров = БазаБП.NewObject("ТаблицаЗначений");
	
	КвалифСтроки = БазаБП.NewObject("КвалификаторыСтроки", 20);
	ДопустимыеТипы = БазаБП.NewObject("ОписаниеТипов", "Строка", КвалифСтроки);	
	
	ТаблицаПараметров.Колонки.Добавить("Номер", ДопустимыеТипы);
	
	КвалифДаты = БазаБП.NewObject("КвалификаторыДаты");
	ДопустимыеТипыДаты = БазаБП.NewObject("ОписаниеТипов", "Дата", КвалифДаты);	
	
	ТаблицаПараметров.Колонки.Добавить("День", ДопустимыеТипыДаты);
	
	Пока Выборка.Следующий() Цикл
		НовСтр = ТаблицаПараметров.Добавить();
		ЗаполнитьЗначенияСвойств(НовСтр,Выборка);
	КонецЦикла;
Показать

Вот кусок, в режиме отладке проверенно
Переменная БазаБП Com-объект
Переменная ТаблицаПараметров Com-объект
8. glime 106 26.12.13 12:26 Сейчас в теме
и вообще, в com запросе можно использовать
Запрос = БазаБП.NewObject("Запрос");
	
	Запрос.Текст = "ВЫБРАТЬ
	               |	
	               |	ПоступлениеТоваровУслуг.Номер,
	               |	ПоступлениеТоваровУслуг.День
	               |ПОМЕСТИТЬ врТабДок
	               |ИЗ
	               |	&ТабВр КАК ПоступлениеТоваровУслуг
	               |;
	               |
	               |  X  
	               |ВЫБРАТЬ
	               |	врТабДок.День,
	               |	врТабДок.Номер,
	               |	ПоступлениеТоваровУслуг.Номер КАК Номер1
	               |ИЗ
	               |	врТабДок КАК врТабДок
	               |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
	               |		ПО врТабДок.Номер = ПоступлениеТоваровУслуг.Номер
	               |			И (ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон)
	               |			И (врТабДок.День = НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслуг.Дата, ДЕНЬ))";
	
				   
	Запрос.УстановитьПараметр("ТабВр", ТаблицаПараметров);
	Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
	Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
Показать


или нет? Может я зря бьюсь?
9. Восьмой 88 26.12.13 12:34 Сейчас в теме
(8) glime, можно вот только значение полей нужно делать примитивными типами иначе получишь СомОбъект - все поля запроса делай через Представление
А дальше либо читай выборку
через Запрос.Выбрать() ... Пока Запрос.Следующий() Цикл КонецЦикла;

либо выгружай в тз на стороне сомА и делай конвертацию через также на стороне сомА ЗначениеВСтрокуВнутр
а на стороне своей базы делай преобразования полученного значения в ТЗ через ЗначениеИзСтрокиВнутр
10. glime 106 26.12.13 12:37 Сейчас в теме
засада в том что я в ком таблицу добавить строку не могу.
А поля и так примитивного типа ("строка и дата") или "дата" не примитивный тип?
11. Восьмой 88 26.12.13 12:46 Сейчас в теме
(10) glime, )) конечно примитивный я же в целом - я откуда знаю что ты хочешь из запроса вытащить в общем случае это представление() но я не понимаю почему код который ты прислал у меня прекрасно работает - и все добавляет без проблем а у тебя не работает, ты где-то перемудрил в коде))
12. glime 106 26.12.13 12:52 Сейчас в теме
ну что сказать, "где мой бубен?", у тебя файловая или серверная? платформа какая?
13. Восьмой 88 26.12.13 12:55 Сейчас в теме
(12) glime, комСоединению пофиг файловая или среверная))) методы работают одинакого платформа 8.2.18.109
покажи свой код целиком
14. glime 106 26.12.13 13:23 Сейчас в теме
Всем спасибо все свободны, перезагрузил конфигуратор и все взлетело, бубен помог.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот