Имя: Пароль:
1C
1С v8
Импорт через OLE в Динамичесикй список на форме внешней обработки (Упр прил)
0 mua thu
 
26.05.13
14:43
Подскажите пожалуйста: есть внешняя обработка импорта документов с помощью OLE из БУУ 8.2. Документы импортируются в ТЗ на форме обработки. Вместо ТЗ на форму хочу поместить динамический список, но как тогда можно указать основную таблицу списка или построить запрос к внешней базе? Заранее благодарю!  
Исходный код модуля формы с запросом и заполнением ТЗ:
"Таб.Очистить();
   Сообщить("=== Импорт документов для подготовки загрузки от " + ТекущаяДата() + " ===");
   db = Новый COMОбъект("V82.COMConnector");
   Попытка
       buh = db.Connect("File=""d:\Базы 1С\1С 8.2 БУУ Демо"";Usr=""Админенко (адміністратор)"";Pwd=""123"";");
       Сообщить("Внешняя база подключена успешно!");
   Исключение
       Сообщить("Внешняя база не подключена!");
       Возврат;
   КонецПопытки;
   Запрос = buh.NewObject("Запрос");
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ПлатежноеПоручениеВходящее.Номер,
   |    ПлатежноеПоручениеВходящее.Дата,
   |    ПлатежноеПоручениеВходящее.Контрагент
   |ИЗ
   |    Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее
   |ГДЕ
   |    ПлатежноеПоручениеВходящее.Дата МЕЖДУ &Дата1 И &Дата2
   |
   |СГРУППИРОВАТЬ ПО
   |    ПлатежноеПоручениеВходящее.Номер,
   |    ПлатежноеПоручениеВходящее.Дата,
   |    ПлатежноеПоручениеВходящее.Контрагент"
   ;
   Запрос.УстановитьПараметр("Дата1",НачалоДня(Период.ДатаНачала));
   Запрос.УстановитьПараметр("Дата2",КонецДня(Период.ДатаОкончания));
   Результат = Запрос.Выполнить().Выгрузить();
   Ном = 0;
   Для каждого стр из Результат Цикл
       Ст = Таб.Добавить();
       Ном = Ном + 1;
       Ст.Ном =  Ном;
       Ст.Дата =  стр.Дата;
       Ст.Номер =  стр.Номер;
       Ст.Контрагент =  стр.Контрагент.Наименование;
       
       ПоискКонтрНаСервере(стр.Контрагент.Наименование);
       
       Если ПоискДокНаСервере(стр.Номер) = 1 Тогда
           Ст.ЕстьВБД = 1;
       Иначе
           Ст.ЕстьВБД = 0;
       КонецЕсли;
   КонецЦикла;
   Сообщить("=== Импорт документов для подготовки загрузки завершен ===");
"
1 ИсчадиеADO
 
26.05.13
14:45
а зачем дин.список?
2 mua thu
 
26.05.13
14:49
Выгружал в Табличный док, ТЗ, теперь хочу разобраться с ДС... С одной стороны, а вобще-то нужно в табличной части формы ставить галочки - отмечая нужные доки для загрузки в базу. В 7.7 делал с помощью пиктограмм в ТЗ, а в 8.2 посоветовали использовать ДС... =)
3 ИсчадиеADO
 
26.05.13
14:55
динамич.список работает с внешним источником данных, но легче как нибудь иначе сделать
4 mua thu
 
26.05.13
14:57
Буду благодарен за любые пожелания!=)
5 mua thu
 
26.05.13
15:00
Хотелось бы с динамичесикм списком для этого случая разобраться..=)
6 ИсчадиеADO
 
26.05.13
15:04
чем тебя табл.знач. не устраивает? Динамич. список нужен, например, для списков документов которые в базе и который меняется во времени
7 Rovan
 
гуру
26.05.13
15:08
(5) сделай сначала через ТЗ...
заработает - будешь дорабатывать под ДС
8 mua thu
 
26.05.13
15:40
Через ТЗ работает нормально, но вот тока тогда вопрос:как можно помечать галочками  строки ТЗ с нужными для загрузки в базу документами? =) В 7.7 это делал с помощью пиксограмм, а вот тут не очень понятно..
9 banco
 
26.05.13
15:47
(8) добавить в тз реквизит "Пометка" тип булово, вывести на форму с типом флажок
10 mua thu
 
26.05.13
15:55
(8) Благодарю! =)
Ошибка? Это не ошибка, это системная функция.