Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 11:18
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Ошибка в запросе  (Прочитано 1596 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Абылайхан

  • **
  • Сообщений: 70
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-02-25
  • Сайт: 
  • Профессия: Ученик 1С
Обеспечьте проведение документа "Реализация товаров" по регистру учета
остатков. При этом должен выполняться контроль остатков на момент времени
документа. В случае недостаточного количества товаров система должна выдавать
диагностическое сообщение и документ не должен проводиться.

Делаю следущий запрос на проверку есть ли Товары с отрицательным остатком если провести документ с количеством товара большим чем имеется в Остатках, но получаю пустой результат. Почему?
ВЫБРАТЬ
РеализацияТоваровТовары.Номенклатура
ПОМЕСТИТЬ СписокНоменклатуры
ИЗ
Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
ГДЕ
РеализацияТоваровТовары.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ОстаткиНоменклатурыОстатки.Номенклатура,
ОстаткиНоменклатурыОстатки.Склад,
ОстаткиНоменклатурыОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ОстаткиНоменклатуры.Остатки(
&Период,
Склад = &Склад
И Номенклатура В
(ВЫБРАТЬ
СписокНоменклатуры.Номенклатура
ИЗ
СписокНоменклатуры КАК СписокНоменклатуры)) КАК ОстаткиНоменклатурыОстатки
ГДЕ
ОстаткиНоменклатурыОстатки.КоличествоОстаток < 0


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Ошибка в запросе
« Ответ #1: 30 Мар 2015, 08:38 »
а движения документа перед запросом записываете в базу?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Абылайхан

  • **
  • Сообщений: 70
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-02-25
  • Сайт: 
  • Профессия: Ученик 1С
Re: Ошибка в запросе
« Ответ #2: 30 Мар 2015, 09:43 »
а движения документа перед запросом записываете в базу?

да, записываю.

Оффлайн k_aleks80

  • **
  • Сообщений: 65
  • РЕПУТАЦИЯ: 14
  • КПД: 22%
  • Регистрация: 2011-09-08
  • Сайт: 
  • Профессия: Программист 1С
Re: Ошибка в запросе
« Ответ #3: 30 Мар 2015, 09:50 »
Параметры запроса (Период, Склад), при заполнении в коде корректные?

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Ошибка в запросе
« Ответ #4: 30 Мар 2015, 09:56 »
надо отлаживать. на первый взгляд в самом запросе - все правильно.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Абылайхан

  • **
  • Сообщений: 70
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-02-25
  • Сайт: 
  • Профессия: Ученик 1С
Re: Ошибка в запросе
« Ответ #5: 30 Мар 2015, 10:12 »
Параметры запроса (Период, Склад), при заполнении в коде корректные?

Да, вроде правильно.

Процедура ОбработкаПроведения(Отказ, Режим)

Движения.Продажи.Записывать = Истина;
Для Каждого ТекСтрокаТовары Из Товары Цикл
Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
Движение.Контрагент = Контрагент;
Движение.Количество = ТекСтрокаТовары.Количество;
Движение.Сумма = ТекСтрокаТовары.Сумма;
КонецЦикла;

Движения.Записать();

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровТовары.Номенклатура
|ПОМЕСТИТЬ СписокНоменклатуры
|ИЗ
| Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
|ГДЕ
| РеализацияТоваровТовары.Ссылка = &Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОстаткиНоменклатурыОстатки.Номенклатура,
| ОстаткиНоменклатурыОстатки.Склад,
| ОстаткиНоменклатурыОстатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ОстаткиНоменклатуры.Остатки(
| &Период,
| Склад = &Склад
| И Номенклатура В
| (ВЫБРАТЬ
| СписокНоменклатуры.Номенклатура
| ИЗ
| СписокНоменклатуры КАК СписокНоменклатуры)) КАК ОстаткиНоменклатурыОстатки
|ГДЕ
| ОстаткиНоменклатурыОстатки.КоличествоОстаток < 0";

Запрос.УстановитьПараметр("Период", Новый Граница(МоментВремени(), ВидГраницы.Включая));
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("Ссылка", Ссылка);

Результат = Запрос.Выполнить();
 
Если НЕ Результат.Пустой() Тогда

Отказ = Истина;

ВыборкаДетальныеЗаписи = Результат.Выбрать();


Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Отрицательный остаток - " +Склад+" и по номенклатуре " +ВыборкаДетальныеЗаписи.Номенклатура+". Количество = "+ВыборкаДетальныеЗаписи.КоличествоОстаток;;
Сообщение.Сообщить();
КонецЦикла;

КонецЕсли;


КонецПроцедуры

Оффлайн blackmoon89

  • Разработчик 1С
  • ***
  • Сообщений: 105
  • РЕПУТАЦИЯ: 8
  • КПД: 8%
  • Регистрация: 2015-02-28
    • Skype: klimsrv
  • Компания: ООО Стимпроект
  • Профессия: Разработчик 1С
Re: Ошибка в запросе
« Ответ #6: 30 Мар 2015, 11:01 »
Смею предположить, что обработка проведения проходит в одной транзакции, по этому данных в момент запроса еще нет.
Запустите запрос позже обработки проведения и посмотрите результат.

Это всего лишь предположение, утвердительно сказать не могу, книжек мало читала:)

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Ошибка в запросе
« Ответ #7: 30 Мар 2015, 11:02 »
движения вы записываете только по регистру Продажи.
а где движения по ОстаткиНоменклатуры??
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Re: Ошибка в запросе
« Ответ #8: 30 Мар 2015, 11:19 »
Фиерично! Вы записываете набор "Продажи", а запрос строите по "ОстаткиНоменклатуры". Где запись движений по остаткам?

Оффлайн Абылайхан

  • **
  • Сообщений: 70
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-02-25
  • Сайт: 
  • Профессия: Ученик 1С
Re: Ошибка в запросе
« Ответ #9: 30 Мар 2015, 11:47 »
движения вы записываете только по регистру Продажи.
а где движения по ОстаткиНоменклатуры??

Вот блин. Спасибо большое, добавил все работает)


Теги:
 

При открытии обр-ки в "Предприятии" есть ошибка, а в "Отладке" нет

Автор proofetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4524
Последний ответ 21 Сен 2011, 17:35
от proofet
ошибка "Невозможно обработать параметр "ПрофильПолномочийПользователя""

Автор lindeluРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 6072
Последний ответ 06 Июн 2012, 09:15
от lindelu
Синтаксическая ошибка "В" Номенклатура.Ссылка = <<?>> В ИЕРАРХИИ(&Ссылка)

Автор maskitoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4192
Последний ответ 28 Апр 2014, 15:53
от maskito
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 8483
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

Автор Сергей_87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 8552
Последний ответ 26 Апр 2012, 23:08
от Dethmontt

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
168 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 858
  • Точка Скрытых: 0
  • Точка Пользователей: 11
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal