Имя: Пароль:
1C
1C 7.7
v7: ОLE соединение
0 DeMi4
 
24.12.12
16:29
Подскажите почему такая вещь может не отрабатывать.
бПодразделение = ОЛЕ.Справочники.ПодразделенияОрганизаций.НайтиПоКоду( СокрЛП( тзДвижениеДС.КодПодразделения ) );
       Если бПодразделение.Пустая() = -1 Тогда
           Сообщить("БУХ: Не найдено подразделение!!!","!");
       КонецЕсли;
       бСтатьяДвиженияДенежныхСредств = ОЛЕ.Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду( СокрЛП( тзДвижениеДС.КодСтатьиДДС) );
       Если бСтатьяДвиженияДенежныхСредств.Пустая() = -1 Тогда
           Сообщить("БУХ: Не найдена статья движения денежных средств склад!!!","!");
       КонецЕсли;
       бДатаДок = глФорматДаты(тзДвижениеДС.ДатаДвижения,,1) + "120000";
       
       бПКО = "";
       бВыборка = ОЛЕ.Документы.ПриходныйКассовыйОрдер.Выбрать(бДатаДок,бДатаДок);
       Пока бВыборка.Следующий() = -1 Цикл
           Если Найти(бВыборка.Комментарий, бКомментарий) > 0 Тогда
               Сообщить(бВыборка.ПодразделениеОрганизации);
               Сообщить(бПодразделение);
               Если бВыборка.ПодразделениеОрганизации = бПодразделение Тогда
                   Сообщить(бВыборка.СтатьяДвиженияДенежныхСредств);
                   Сообщить(бСтатьяДвиженияДенежныхСредств);
                   Если бВыборка.СтатьяДвиженияДенежныхСредств = бСтатьяДвиженияДенежныхСредств Тогда
                       бПКО = бВыборка.ПолучитьОбъект();
                       Прервать;
                   КонецЕсли;
               КонецЕсли;
           КонецЕсли;
       КонецЦикла;
1 Deon
 
24.12.12
16:30
в каком месте-то не работает?
2 DeMi4
 
24.12.12
16:30
не могу получить бПКО
Дольше проверки комментария не идет в условия
3 DeMi4
 
24.12.12
16:30
Перебор выборки
4 Patrio_
O_Muerte
 
24.12.12
16:31
Убери явное определение переменной бПКО
5 Deon
 
24.12.12
16:32
(3) А Сообщить чего выдают?
6 Patrio_
O_Muerte
 
24.12.12
16:33
бПКО = бВыборка.ПолучитьОбъект();
Сюда доходит хоть ? Или даже в условие не заходит?
7 DeMi4
 
24.12.12
16:33
OLE
8 DeMi4
 
24.12.12
16:34
Заходить только в условие
Если Найти(бВыборка.Комментарий, бКомментарий) > 0 Тогда
9 Deon
 
24.12.12
16:35
(7) Слушай, а разве можно сравнивать 2 оле объекта? Разве надо сравнивать не их реквизиты не ссылочного типа?
10 Patrio_
O_Muerte
 
24.12.12
16:35
Если бВыборка.ПодразделениеОрганизации = бПодразделение Тогда
То есть сюда заходит?
Если бВыборка.СтатьяДвиженияДенежныхСредств = бСтатьяДвиженияДенежныхСредств Тогда
А сюда нет?
11 Patrio_
O_Muerte
 
24.12.12
16:36
Да и в ОЛЕ я б коды сравнивал...
12 Patrio_
O_Muerte
 
24.12.12
16:36
Если конечно уникальность поддерживается
13 DeMi4
 
24.12.12
16:36
Если Найти(бВыборка.Комментарий, бКомментарий) > 0 Тогда
сюда заходит
               Если бВыборка.ПодразделениеОрганизации = бПодразделение Тогда
Сюда нет
                   Если бВыборка.СтатьяДвиженияДенежныхСредств = бСтатьяДвиженияДенежныхСредств Тогда
Сюда нет                        
бПКО = бВыборка.ПолучитьОбъект();
                       Прервать;
                   КонецЕсли;
               КонецЕсли;
           КонецЕсли;
14 Deon
 
24.12.12
16:37
(13) Сравнивай коды, ну или уиды, если нет уникальности
15 Галахад
 
гуру
24.12.12
16:41
Просветите, что за код:

бВыборка.Следующий() = -1
16 DeMi4
 
24.12.12
16:53
При OLE соединении -1 - Истина
17 DeMi4
 
24.12.12
16:56
С 7.7 соединение по OLE с 8.2
18 Галахад
 
гуру
24.12.12
16:56
(16) Ого, интересно.
19 DeMi4
 
24.12.12
17:00
(16)то есть Ложь