Имя: Пароль:
1C
1C 7.7
v7: Передача ТЗ из 8.2 в 7.7
0 lunatik33
 
14.03.13
15:34
Есть функция общего модуля
Функция ВернутьВыборкуДокументов(ИмяДокумента,НачДата,КонДата) Экспорт
Запрос = Новый Запрос;
ТекстЗапроса =
"ВЫБРАТЬ
|   Док.Ссылка КАК Ссылка,
|   Док.Номер  КАК Номер,
|    Док.РаботникиОрганизации.(
|        Сотрудник,
|        ПРЕДСТАВЛЕНИЕ(Док.РаботникиОрганизации.Сотрудник),
|        ДатаОкончания,
|        ДатаНачала,
|   КоличествоДней
|    )
|ИЗ
|   Документ.{ИмяДокумента} КАК Док
|ГДЕ
|   Док.Дата МЕЖДУ &НачДата И &КонДата";

ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"{ИмяДокумента}",ИмяДокумента);
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("НачДата",НачДата);
Запрос.УстановитьПараметр("КонДата",КонДата);
Выборка = Запрос.Выполнить().Выбрать();

ТЗ = Новый ТаблицаЗначений;
// Создать нужные колонки.
ТЗ.Колонки.Добавить("Организация");
ТЗ.Колонки.Добавить("Сотрудник");
ТЗ.Колонки.Добавить("ДатаДок");
ТЗ.Колонки.Добавить("НомерДок");
ТЗ.Колонки.Добавить("Дата1");
ТЗ.Колонки.Добавить("Дата2");
ТЗ.Колонки.Добавить("Дней");

Пока выборка.Следующий() цикл
   РаботникиОрганизацииВыборкаДетальныеЗаписи = Выборка.РаботникиОрганизации.Выбрать();
 Пока РаботникиОрганизацииВыборкаДетальныеЗаписи.Следующий() Цикл
       // Добавить новую строку и задать значения в колонках таблицы.
       НоваяСтрока = ТЗ.Добавить();
       НоваяСтрока.Организация = Выборка.Ссылка.Организация;
       НоваяСтрока.Сотрудник   = РаботникиОрганизацииВыборкаДетальныеЗаписи.Сотрудник;
       НоваяСтрока.ДатаДок     = Выборка.Ссылка.Дата;
       НоваяСтрока.НомерДок    = Выборка.Ссылка.Номер;
       НоваяСтрока.Дата1       = РаботникиОрганизацииВыборкаДетальныеЗаписи.ДатаНачала;
       НоваяСтрока.Дата2       = РаботникиОрганизацииВыборкаДетальныеЗаписи.ДатаОкончания;
       НоваяСтрока.Дней        = РаботникиОрганизацииВыборкаДетальныеЗаписи.КоличествоДней;
   КонецЦикла;

КонецЦикла;
Возврат ТЗ;
КонецФункции

есть обработка на 7.7
Процедура ПодключитьИБ()
   
   
   НовоеПодключение = СоздатьОбъект("V82.COMConnector");
   СтрокаПодключения = "*********";
   Попытка
       Подключение = НовоеПодключение.Connect(СтрокаПодключения);
       Сообщить("Соединение успешно!");
   Исключение
       Сообщить(ОписаниеОшибки());
   КонецПопытки;
   Выборка = Подключение.ВернутьВыборкуДокументов("ОтпускаОрганизаций", НачДата, КонДата);
 Сообщить(Выборка.КоличествоСтрок());
   
КонецПроцедуры  

не работает, какая то проблема при передачи ТЗ
1 ДенисЧ
 
14.03.13
15:35
А откуда в 8шной ТЗ метод КоличествоСтрок() ?
2 lunatik33
 
14.03.13
15:45
а как ее перебрать в семере?
3 lunatik33
 
14.03.13
15:46
этот метод не работает
Для Каждого ЭлементСписка Из Выборка Цикл
 Сообщить(ЭлементСписка.Номер);
КонецЦикла;
4 ДенисЧ
 
14.03.13
15:48
Например...
Для сч = 1 по тз.Количество() Цикл
 стр = тз.Получить(сч);
КонецЦикла
5 ДенисЧ
 
14.03.13
15:48
ээээ
стр = тз.Получить(сч-1);