Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Помогите с запросом 1С 8.1 / 13 сообщений из 13, страница 1 из 1
06.08.2009, 13:41
    #36129910
HSV
HSV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
Помогите пожалуйста. На 8 только начинаю программировать, немного непривычно, вот споткнулась о простой запрос, уже всю голову сломала, не получается.
Надо организовать простой запрос к документу РеализациТоваровУслуг. Выбирать для нужного контагента Сумму из таблицы Услуги по определенному коду. Запрос вроде написала. Только вот значение этой Суммы вытащить не могу
ВыбКонтрагент = Док.Контрагент;
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("ВыбКонтрагент", Док.Контрагент);
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслуг.ССылка,
| РеализацияТоваровУслуг.Услуги.Номенклатура.Код КАК Номенклатура,
| РеализацияТоваровУслуг.Услуги.СуммаНДС КАК СуммаНДС,
| РеализацияТоваровУслуг.Услуги.Сумма КАК Сумма
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Услуги.Номенклатура.Код = &Код
| И РеализацияТоваровУслуг.Контрагент = &ВыбКонтрагент";


Всего = 0;
Запрос.УстановитьПараметр("НачалоПериода",НачалоДня(Док.Дата));
Запрос.УстановитьПараметр("КонецПериода",КонецДня(Док.Дата));
Запрос.УстановитьПараметр("Код","00000001351");
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
Всего = Всего + Результат.Сумма + Результат.СуммаНДС;
КонецЦикла;

Не могу подобраться к значению запроса Сумма
В строке: Всего = Всего + Результат.Сумма + Результат.СуммаНДС;
Ругается
...
Рейтинг: 0 / 0
06.08.2009, 13:58
    #36129992
Алексей2003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
Пока Результат.Следующий() Цикл
выборкатаблица = Результат.Услуги.Выбрать();
пока выборкатаблица.следующий() цикл
Всего = Всего + Результат.Сумма + Результат.СуммаНДС;
конеццикла;
КонецЦикла;

или лучше запрос переделайте. сразу табличную часть выбирайте.


для спящего время бодрствования равносильно сну
...
Рейтинг: 0 / 0
06.08.2009, 14:29
    #36130111
HSV
HSV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
Алексей2003,
К сожалению ничего не изменилось ((
...
Рейтинг: 0 / 0
06.08.2009, 14:39
    #36130155
tiniji
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
HSV, Как то так наверное

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка,
| РеализацияТоваровУслуг.Номенклатура.Код КАК Номенклатура,
| РеализацияТоваровУслуг.СуммаНДС КАК СуммаНДС,
| РеализацияТоваровУслуг.Сумма КАК Сумма
|ИЗ
| Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Номенклатура.Код = &Код
| И РеализацияТоваровУслуг.Ссылка.Контрагент = &ВыбКонтрагент";
...
Рейтинг: 0 / 0
06.08.2009, 14:45
    #36130177
HSV
HSV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
tiniji,

Спасибо большое! Все пошло!!! Помогло! А вот теперь не пойму почему у меня этот запрос выбирает докумены не за указанный период.... Мне надо за конкретную дату. Значение Док.Дата у меня равно 30,06,09. А он мне берет документы за 02,07,09 .....
...
Рейтинг: 0 / 0
06.08.2009, 14:56
    #36130216
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
потому что лепите запросы 8-ки с 7-кой в голове...

параметры
Запрос.УстановитьПараметр("НачалоПериода",НачалоДня(Док.Дата));
Запрос.УстановитьПараметр("КонецПериода",КонецДня(Док.Дата));

вашему запросу никуда не стучат, т.к. их нет в условиях

ГДЕ
....

РеализацияТоваровУслуг.ССылка.Дата Между &НачалоПериода И &КонецПериода
...
Рейтинг: 0 / 0
06.08.2009, 14:58
    #36130224
tiniji
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
HSV,

Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка,
| РеализацияТоваровУслуг.Номенклатура.Код КАК Номенклатура,
| РеализацияТоваровУслуг.СуммаНДС КАК СуммаНДС,
| РеализацияТоваровУслуг.Сумма КАК Сумма
|ИЗ
| Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Номенклатура.Код = &Код
| И РеализацияТоваровУслуг.Ссылка.Контрагент = &ВыбКонтрагент";

У вас в запросе не указано ограничения по дате документа. Если вас интересует конкретный документ то передаете ссылку документа например

|ГДЕ
| РеализацияТоваровУслуг.Номенклатура.Код = &Код
| И РеализацияТоваровУслуг.Ссылка = &Ссылка";

Запрос.УстановитьПараметр("Ссылка", Док.Ссылка);

Тогда он выберет таб часть только этого документа с Номенклатурой по коду.

Если нужно неск. док-ов то в запрос добавляете

|ГДЕ
| РеализацияТоваровУслуг.Номенклатура.Код = &Код
| И РеализацияТоваровУслуг.Ссылка.Контрагент = &ВыбКонтрагент";
| И РеализацияТоваровУслуг.Ссылка.Дата >= &НачалоПериода
| И РеализацияТоваровУслуг.Ссылка.Дата <= &КонецПериода
...
Рейтинг: 0 / 0
06.08.2009, 15:02
    #36130236
HSV
HSV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
Господин ПЖ , tiniji
Большое спасибо!!!
Оказывается все очень логично! Все работает! Еще раз СПАСИБО!!!
...
Рейтинг: 0 / 0
06.08.2009, 15:39
    #36130381
Алексей2003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
а если нужна просто сумма, тогда сразу нужно выбирать ее.
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка,
| РеализацияТоваровУслуг.СуммаНДС + РеализацияТоваровУслуг.Сумма КАК Всего
|ИЗ
| Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Номенклатура.Код = &Код
| И РеализацияТоваровУслуг.Ссылка.Контрагент = &ВыбКонтрагент
|СГРУППИРОВАТЬ ПО Ссылка";

для спящего время бодрствования равносильно сну
...
Рейтинг: 0 / 0
06.08.2009, 15:39
    #36130385
Алексей2003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка,
| СУММА(РеализацияТоваровУслуг.СуммаНДС + РеализацияТоваровУслуг.Сумма) КАК Всего
|ИЗ
| Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Номенклатура.Код = &Код
| И РеализацияТоваровУслуг.Ссылка.Контрагент = &ВыбКонтрагент
|СГРУППИРОВАТЬ ПО Ссылка";


для спящего время бодрствования равносильно сну
...
Рейтинг: 0 / 0
06.08.2009, 15:47
    #36130415
Алексей2003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
на счет первого вопроса (никогда таким извратом не пользовался):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Пока Результат.Следующий() Цикл

 ВыборкаСуммаНДС = Результат.СуммаНДС.Выбрать();
 Если ВыборкаСуммаНДС.Следующий() Тогда
  Всего = Всего + ВыборкаСуммаНДС.СуммаНДС;
 КонецЕсли;

 ВыборкаСумма = Результат.Сумма.Выбрать();
 Если ВыборкаСумма.Следующий() Тогда
  Всего = Всего + ВыборкаСумма.Сумма;
 КонецЕсли;

КонецЦикла;

для спящего время бодрствования равносильно сну
...
Рейтинг: 0 / 0
06.08.2009, 16:03
    #36130479
HSV
HSV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
Алексей2003,

Спасибо, поняла и последний изврат .... действительно изврат!
...
Рейтинг: 0 / 0
06.08.2009, 16:22
    #36130568
tiniji
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом 1С 8.1
Вообщем приходим к:
Запрос.Текст = "ВЫБРАТЬ
| СУММА(РеализацияТоваровУслуг.СуммаНДС + РеализацияТоваровУслуг.Сумма) КАК Всего
|ИЗ
| Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Номенклатура.Код = &Код
| И РеализацияТоваровУслуг.Ссылка.Контрагент = &ВыбКонтрагент";

Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда
Всего = Результат.Всего;
Иначе
Всего = 0;
КонецЕсли;
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Помогите с запросом 1С 8.1 / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]