|
Получить данные регистров на дату | ☑ | ||
---|---|---|---|---|
0
Aldnepr
28.11.16
✎
15:10
|
Имеется обработка для 7.7, которая получает остатки товара по ОЛЕ из соотв. регистра одной базы и сравнивает с остатками в текущей. Необходимо теперь эти данные вытягивать из v8 так же по ОЛЕ из 7,7.Подскажите чем заменить вот эти функции:
Рег = БазаИсточник.CreateObject("Регистры"); РегОстаткиТМЦ = Рег.ОстаткиТоваров; //................................................ РегОстаткиТМЦ.УстановитьЗначениеФильтра("Фирма",ВыбФирма ,1); РегОстаткиТМЦ.УстановитьЗначениеФильтра("Склад", СЗСкладыТиС, 2); РегОстаткиТМЦ.ВременныйРасчет(); Рег.РассчитатьРегистрыНа(ДатаОтчета); Рег.РассчитатьРегистрыПО(ДатаОтчета); ТЗТиС.Свернуть("Товар", "ОстатокТовара"); |
|||
1
Cool_Profi
28.11.16
✎
15:10
|
Запросом, разумеется.
|
|||
2
DrShad
28.11.16
✎
15:11
|
запросом
|
|||
3
Aldnepr
28.11.16
✎
15:43
|
(2) так полетит?
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстатки.Количество, | ТоварыНаСкладахОстатки.Номенклатура |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | &ДатаОтч, | Склад = &ВыбСклад Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); |
|||
4
Cool_Profi
28.11.16
✎
15:50
|
(3) Нет. Параметры запроса не заданы.
|
|||
5
Aldnepr
28.11.16
✎
19:17
|
(4) А так? И как потом выгрузить результаты в Две колонки ТЗ "Кво" и "Номенклатура"
НовЗапрос = Новый Запрос; НовЗапрос.Текст = "ВЫБРАТЬ | ТовОстатки.Номенклатура, | ТовОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(&ТекДата, ) КАК ТовОстатки"; НовЗапрос.УстановитьПараметр("ТекДата", ТекущаяДата()); ВыборкаЗапроса = НовЗапрос.Выполнить().Выбрать(); Пока ВыборкаЗапроса.Следующий() Цикл КонецЦикла; |
|||
6
SergTheGreat
29.11.16
✎
17:44
|
НовЗапрос = Новый Запрос;
НовЗапрос.Текст = "ВЫБРАТЬ | ТовОстатки.Номенклатура КАК Номенклатура, | ТовОстатки.КоличествоОстаток КАК Кво |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(&ТекДата, ) КАК ТовОстатки"; НовЗапрос.УстановитьПараметр("ТекДата", ТекущаяДата()); Результат = НовЗапрос.Выполнить(); Если НЕ Результат.Пустой() Тогда ТЗ = Результат.Выгрузить(); КонецЕсли; |
|||
7
Aldnepr
29.11.16
✎
19:12
|
(6) Слепил так- вроде работает, но теперь другая проблема(((
ТЗ.Колонки.Добавить("Товар", Новый ОписаниеТипов("Строка")); ТЗ.Колонки.Добавить("ОстатокТовара", Новый ОписаниеТипов("Число")); НовЗапрос.Текст = "ВЫБРАТЬ | ТовОстатки.Номенклатура, | ТовОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(&ТекДата, ) КАК ТовОстатки |СГРУППИРОВАТЬ ПО | ТовОстатки.Номенклатура, | ТовОстатки.КоличествоОстаток"; НовЗапрос.УстановитьПараметр("ТекДата", ТекущаяДата()); Результат=НовЗапрос.Выполнить().Выбрать(); Пока Результат.Следующий()=1 Цикл Строка= ТЗ.Добавить(); Строка.Товар= Результат.Номенклатура; Строка.ОстатокТовара= Результат.КоличествоОстаток; Сообщить(Строка.Товар+" "+Строка.ОстатокТовара); КонецЦикла; |
|||
8
Aldnepr
29.11.16
✎
19:16
|
это я в 8 слепил обработку, дабы понять правильно ли получаю данные из регистра- Сообщить() вывело на табло все как надо. Теперь вот пытаюсь из 7,7 по оле запустить этот запрос и получаю кучу "Переменная не определена"!(((
Процедура Подключиться() ПутьКбазе1="D:\BASE2\8.3\УТП\1c\tradeentrukr\trener"; ИмяП=Пользователь; пароль=Пароль; //База8=СоздатьОбъект("V83.ComConnector"); База8=СоздатьОбъект("V83.Application"); БазаИсточник = База8.Connect("File="""+СокрЛП(ПутьКбазе1)+""";Usr="""+СокрЛП(ИмяП)+""";Pwd = """ + СокрЛП(Пароль) + """;"); Если БазаИсточник=0 Тогда Сообщить("Ошибка открытия базы!", "!"); СтатусВозврата(0); Иначе Сообщить("База v8 удачно подключена"); КонецЕсли; КонецПроцедуры Функция СобираемОстаткиБух() Перем Запрос, Текст, ТЗбух; Запрос= БазаИсточник.NewObject("Запрос"); ТЗБух= БазаИсточник.NewObject("ТаблицаЗначений"); ТЗБух.Колонки.Добавить("Товар", Новый ОписаниеТипов("Строка")); ТЗБух.Колонки.Добавить("ОстатокТовара", Новый ОписаниеТипов("Число")); Запрос.Текст = "ВЫБРАТЬ | ТовОстатки.Номенклатура, | ТовОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(&ТекДата, ) КАК ТовОстатки |СГРУППИРОВАТЬ ПО | ТовОстатки.Номенклатура, | ТовОстатки.КоличествоОстаток"; Запрос.УстановитьПараметр("ТекДата", ТекущаяДата()); Результат=Запрос.Выполнить().Выбрать(); Пока Результат.Следующий()=1 Цикл Строка= ТЗ.Добавить(); Строка.Товар= Результат.Номенклатура; Строка.ОстатокТовара= Результат.КоличествоОстаток; //Сообщить(Строка.Товар+" "+Строка.ОстатокТовара); КонецЦикла; ТЗБух.Свернуть("Товар", "ОстатокТовара"); Возврат ТЗБух; |
|||
9
Aldnepr
29.11.16
✎
19:18
|
Переменная не определена (ОписаниеТипов)
Переменная не определена (ТЗБух) Переменная не определена (Запрос) |
|||
10
SergTheGreat
30.11.16
✎
13:14
|
А это уже из другой оперы :-)
Тут в двух словах не объяснишь. Ищи на просторах Интернета как надо работать с объектами одной базы, при подключении к ней из другой. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |