|
v7: Ole 7.7 | ☑ | ||
---|---|---|---|---|
0
Svetka
14.11.12
✎
14:39
|
Здравствуйте.
Задание: В текущей ИБ открыть другую ИБ (прошлый период => скорее всего идентичная) и сформировать отчет. Другую базу подключила. Запрос по текущему году в текущей ИБ сделала. Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьРазделительУчета(РазделительУчета); Если Ит.ВыполнитьЗапрос(Дата1, Дата2,,"60",,, "Проводка") = 0 Тогда Возврат; КонецЕсли; Док=СоздатьОбъект("Документ"); Ит.ВыбратьПериоды(); Пока Ит.ПолучитьПериод() = 1 Цикл Опер = Ит.Операция; Если (Сред(СокрЛП(Опер.Кредит.Счет),1,2)="60") и (Сред(СокрЛП(Опер.Дебет.Счет),1,2)="60") Тогда Продолжить; КонецЕсли; Если Лев(СокрЛП(Опер.Документ),11)<>"Поступление" Тогда Продолжить; КонецЕсли; |
|||
1
Ёпрст
14.11.12
✎
14:41
|
и ?
|
|||
2
Svetka
14.11.12
✎
14:42
|
блин, недописала )), ентер случайно нажала. 7.7 естественно
Если (Опер.Кредит.Счет=СчетПоКоду("60.02")) Тогда Если (Сред(СокрЛП(Опер.Дебет.Счет),1,2)="19") Тогда СуммаТек=0; СуммаТекНДС=0; Если Док.НайтиДокумент(Опер.Документ)>0 Тогда //поступление Если ПустоеЗначение(Док.ДокументОснование)=0 Тогда Если ДокО.НайтиДокумент(Док.ДокументОснование)>0 Тогда //счет-фактура поставщика СуммаТек=ДокО.Всего-ДокО.СуммаНДС; СуммаТекНДС=ДокО.СуммаНДС; КонецЕсли; КонецЕсли; Иначе Сообщить("Документ не найден! (чего не должно быть)"); КонецЕсли; ТЗ2.НоваяСтрока(); ТЗ2.РеквизитыСчета =СокрЛП(Док.СчетДоговор); ТЗ2.Дебет =СокрЛП(Опер.Дебет.Счет); ТЗ2.ДебетСубконто1 =СокрЛП(Опер.Дебет.ПредставлениеСубконто(1,1)); ТЗ2.ДебетСубконто2 =СокрЛП(Опер.Дебет.ПредставлениеСубконто(2,1)); ТЗ2.ДебетСубконто3 =СокрЛП(Опер.Дебет.ПредставлениеСубконто(3,1)); ТЗ2.Кредит =СокрЛП(Опер.Кредит.Счет); ТЗ2.КредитСубконто1 =СокрЛП(Опер.Кредит.ПредставлениеСубконто(1,1)); ТЗ2.КредитСубконто2 =СокрЛП(Опер.Кредит.ПредставлениеСубконто(2,1)); ТЗ2.КредитСубконто3 =СокрЛП(Опер.Кредит.ПредставлениеСубконто(3,1)); ТЗ2.Документ =СокрЛП(Опер.Документ); //ТЗ2.Субконто =СокрЛП(ИмяСубконто); ТЗ2.Сумма =Опер.Сумма; ТЗ2.Регистрация =СокрЛП(ДокО.НомерДок); ТЗ2.НомерСФ =СокрЛП(ДокО.СчетФактураНомер); ТЗ2.ДатаСФ =ДокО.ДатаДок; ТЗ2.СуммаБезНДС =СуммаТек; ТЗ2.СуммаНДС =СуммаТекНДС; Собственно вопрос, как такой запрос отправить в Оле базу, чтоб он вернул то, что мне надо |
|||
3
GLazNik
14.11.12
✎
14:42
|
(0) И?
|
|||
4
Svetka
14.11.12
✎
14:42
|
Харош стебаться
|
|||
5
Ёпрст
14.11.12
✎
14:43
|
||||
6
Popkorm
14.11.12
✎
14:53
|
(0)
ПоДоговору=v7.CreateObject("БухгалтерскиеИтоги"); ПоДоговору.ИспользоватьСубконто(v7.EvalExpr("ВидыСубконто.Контрагенты")); ПоДоговору.ИспользоватьСубконто(v7.EvalExpr("ВидыСубконто.Договоры")); ПоДоговору.ВключатьСубсчета(1); Если ПоДоговору.ВыполнитьЗапрос(ДатаПереноса2, ДатаПереноса2) = 0 Тогда Предупреждение("Запрос не выполнен!"); КонецЕсли; ПоДоговору.ВыбратьСчета(); Пока ПоДоговору.ПолучитьСчет() = 1 Цикл Если ПоДоговору.Счет.ЭтоГруппа()=0 Тогда Продолжить; КонецЕсли; ПоДоговору.ВыбратьСубконто(1); Пока ПоДоговору.ПолучитьСубконто(1) = 1 Цикл // Контрагенты ПоДоговору.ВыбратьСубконто(2); Пока ПоДоговору.ПолучитьСубконто(2) = 1 Цикл //Договора |
|||
7
Svetka
14.11.12
✎
14:55
|
(5) спасибо, читаю.
Как оле база должна понять про выполни запрос из текушего отчета? Ит = ОЛЕ.CreateObject ("БухгалтерскиеИтоги"); Если ОЛЕ.Метаданные.РазделительУчета.Выбран() = 1 Тогда ОЛЕПредставлениеРУ = ОЛЕ.Метаданные.РазделительУчета.Представление(); КонецЕсли; Ит.ИспользоватьРазделительУчета(ОЛЕПредставлениеРУ); Если Ит.ВыполнитьЗапрос(Дата1, Дата2,,,,, "Проводка") = 0 Тогда Возврат; КонецЕсли; Док=ОЛЕ.CreateObject("Документ"); ДокО=ОЛЕ.CreateObject("Документ"); Ит.ВыбратьПериоды(); Пока Ит.ПолучитьПериод() = 1 Цикл Опер = Ит.Операция; //вот тут, наверно, проблема, т.к. это текущая операция???? Если (Опер.Кредит.Счет.Код=СчетПоКоду("60.02")) Тогда Если (Сред(СокрЛП(Опер.Дебет.Счет.Код),1,2)="19") Тогда СуммаТек=0; СуммаТекНДС=0; |
|||
8
Svetka
14.11.12
✎
14:57
|
пошла почитаю, фигню какую - то спрашиваю.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |