|
v7: Вывести данные из Регистра | ☑ | ||
---|---|---|---|---|
0
america2013
07.04.14
✎
16:30
|
Доброго времени суток, уважаемые!!!
Есть задача, получить данные из Регистра (товары, количество проданного). Основная проблема - сделать это на 7.7. Платформа 7.70.027, конф. ТиС 7.70.009 (Казахстан). Структура регистра (Продажи): - Измер. Покупатель, Поставщик, Организация, ТМЦ - Ресур. Количество, ПродСтоимость Есть возможность получить запросом, но я их никогда не писал. Пробую: //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаНачала по ДатаКонца; |Организация = Регистр.Продажи.Организация; |УпрАналитика = Регистр.Продажи.Организация.УпрАналитика; |Покупатель = Регистр.Продажи.Покупатель; |Номенклатура = Регистр.Продажи.ТМЦ; |Поставщик = Регистр.Продажи.Поставщик;"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; ТаблицаЗапроса = ""; Запрос.Выгрузить(ТаблицаЗапроса,0,0); ТаблицаЗапроса.ВыбратьСтроки(); Пока ТаблицаЗапроса.ПолучитьСтроку()=1 Цикл Сообщить(ТаблицаЗапроса.Номенклатура); КонецЦикла; Рассчитываю, что выведет весь проданный товар за период. Но не выдает ничего((( Хотя отчет о продажах за этот же период данные показывает. Пытаюсь увидеть в Конфигураторе, как это делает отчет, но понятно плохо. Пожалуйста, помогите, как вывести проданный товар? |
|||
1
ДенисЧ
07.04.14
✎
16:32
|
функций в запросе нет
|
|||
2
Ёпрст
07.04.14
✎
16:32
|
Прописать в тексте запроса функцию вестимо
|
|||
3
Chum
07.04.14
✎
16:34
|
Универсальная печать содержимого регистров: regprint.ert
|
|||
4
america2013
07.04.14
✎
16:45
|
(3) Какую-то скачал, но там справочники, в общем буду смотреть...
(1)(2) Переписал на: Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(продажи) |Период с ВыбНачПериода по ВыбКонПериода; |КолВоТМЦ = Регистр.Продажи.Количество; |Функция ТМЦСумма = Сумма(КолВоТМЦ); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; ТаблицаЗапроса = ""; Запрос.Выгрузить(ТаблицаЗапроса,0,0); ТаблицаЗапроса.ВыбратьСтроки(); Пока ТаблицаЗапроса.ПолучитьСтроку()=1 Цикл Сообщить(ТаблицаЗапроса.КолВоТМЦ); КонецЦикла; Ругается на: Поле агрегатного объекта не обнаружено (КолВоТМЦ) Правильно ли я понял, что Сообщить(ТаблицаЗапроса.КолВоТМЦ); сообщает переменную из запроса? |
|||
5
Chum
07.04.14
✎
16:46
|
(4) для справочника refprint.ert
|
|||
6
aka AMIGO
07.04.14
✎
16:51
|
(4)
ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Товар = Регистр.ОстаткиТоваров.Товар; |Склад = Регистр.ОстаткиТоваров.Склад; |ОстатокТовара = Регистр.ОстаткиТоваров.ОстатокТовара; |Функция ОстатокТовараРасход = Расход(ОстатокТовара); |Группировка Товар; |"//}}ЗАПРОС ; примерный запрос, выведется Расход = количество проданного товара |
|||
7
aka AMIGO
07.04.14
✎
16:53
|
для количественного ресурса функции
начост приход расход коност а не Сумма |
|||
8
пипец
07.04.14
✎
17:00
|
(0) открой для себя конструктор запросов
|
|||
9
america2013
07.04.14
✎
17:02
|
(8) Открывал, мои первоначальные знания о запросах оттуда.
(7) По этим функциям выдает 0... А если : "//{{ЗАПРОС(продажи) |Период с ВыбНачПериода по ВыбКонПериода; |Товар = Регистр.Продажи.ТМЦ; |КолВоТМЦ = Регистр.Продажи.Количество; |Функция ТМЦСумма = коност(КолВоТМЦ); |"//}}ЗАПРОС ...то ругается: Поле агрегатного объекта не обнаружено (Товар) |
|||
10
Ёпрст
07.04.14
✎
17:03
|
(4)
Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаНачала по ДатаКонца; |Организация = Регистр.Продажи.Организация; |УпрАналитика = Регистр.Продажи.Организация.УпрАналитика; |Покупатель = Регистр.Продажи.Покупатель; |Номенклатура = Регистр.Продажи.ТМЦ; |Поставщик = Регистр.Продажи.Поставщик; |Количество = Регистр.Продажи.Количество; |ПродСтоимость = Регистр.Продажи.ПродСтоимость; |Функция ПродалиКоличество = Сумма(Количество); |Функция ПродалиСумма = Сумма(ПродСтоимость);"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; ТаблицаЗапроса = ""; Запрос.Выгрузить(ТаблицаЗапроса,0,0); ТаблицаЗапроса.ВыбратьСтроку(); наслаждайся |
|||
11
america2013
08.04.14
✎
08:58
|
(10)Ошибку выдает(((
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда {C:\USERS\USER\DESKTOP\ВЫГРАЗКАЕЖК\ВЫГРАЗКАЕЖК V0.2.ERT(16)}: Функция СуммаКоличество = Сумма(Количество <<?>> ); Запрос[8] : Ошибка в выражении 'Количество' |
|||
12
america2013
08.04.14
✎
09:10
|
Простите, не ту ошибку скопировал, вот на что ругается:
Сообщить(ТаблицаЗапроса.Номенклатура); {C:\USERS\USER\DESKTOP\ВЫГРАЗКАЕЖК\ВЫГРАЗКАЕЖК V0.2.ERT(88)}: Поле агрегатного объекта не обнаружено (Номенклатура) Если без Номенклатуры, то сумму выдает какую-то общую, а я рассчитывал увидеть по строкам на каждый товар... |
|||
13
america2013
08.04.14
✎
09:11
|
Ругается здесь:
Пока ТаблицаЗапроса.ПолучитьСтроку()=1 Цикл Сообщить(ТаблицаЗапроса.Номенклатура); Сообщить(ТаблицаЗапроса.ПродалиСумма); КонецЦикла; |
|||
14
DmitriyDI
08.04.14
✎
09:12
|
(0) тебе нужна обработка стандартная regprint !
|
|||
15
america2013
08.04.14
✎
10:26
|
Отыскал диск ИТС, нашел обработку.
Отстроил, как надо, в отладке встал на строку выполнения запроса и вывел текст. Текст скопировал себе: ТекстЗапроса = "Период с ДатаНачала по ДатаКонца; |ТМЦ = Регистр.Продажи.ТМЦ; |пзСебестоимость = Регистр.Продажи.Себестоимость; |пзПродСтоимость = Регистр.Продажи.ПродСтоимость; |пзКоличество = Регистр.Продажи.Количество; |пзСебестоимостьВ = Регистр.Продажи.СебестоимостьВ; |пзПродСтоимостьВ = Регистр.Продажи.ПродСтоимостьВ; |пзКоличествоВ = Регистр.Продажи.КоличествоВ; |Группировка ТМЦ; |Функция СуммаСебестоимость = Сумма(пзСебестоимость); |Функция СуммаПродСтоимость = Сумма(пзПродСтоимость); |Функция СуммаКоличество = Сумма(пзКоличество); |Функция СуммаСебестоимостьВ = Сумма(пзСебестоимостьВ); |Функция СуммаПродСтоимостьВ = Сумма(пзПродСтоимостьВ); |Функция СуммаКоличествоВ = Сумма(пзКоличествоВ);"; Выгрузка в ТЗ, перебор строк ТЗ, все как и хотел! Даже регистратор удалось вывести))) Спасибо вам, уважаемые!!!!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |