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

Автор Тема: Помогите разобраться в запросе  (Прочитано 2421 раз)

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

Оффлайн Шурик_1985

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 5
  • КПД: 11%
  • )
  • Регистрация: 2011-05-14
  • Сайт: 
  • Профессия: Ученик 1С
Помогите пожалуйста реализовать запрос на проверку товаров в остатке, имеется документ УчетОС
с реквизитов МатериальноОтветственноеЛицо тип-СправочникСотрудник, МестоХранение тип-СправочникМестоХранение, СнятьСУчета с типом-Булево
и табличной части Номенклатура и количество
Надо сделать следующее: Если СнятьСУчета =  Ложь  тогда записывал в регистр УчетОС иначе ругался с сообщениям что нету такого товара
я пробовал написать но у меня, в обоих случаях ругается, нету такого в остатке, что я нитак делаю;

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

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

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

   Выборка = Результат.Выбрать();

   Пока Выборка.Следующий() Цикл
      Если Выборка.Количество() > Выборка.КоличествоОС Тогда
      Сообщить("Не хватает товар на складе");
      Отказ = Истина
   Иначе
      Продолжить;
      КонецЕсли;   
      КонецЦикла;
    Движения.УчетОснавныхСредств.Записывать = Истина;
   Движения.УчетОснавныхСредств.Очистить();
      Если СнятьСУчета = Ложь
   Тогда
      Движение = Движения.УчетОснавныхСредств.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
      Движение.Период = Дата;
      Движение.Сотрудник = МатериальноОтветственноеЛицо;
      Движение.МестоХранение = МестоХранение;
      Движение.Номенклатура = Выборка.Номенклатура;
      Движение.Количество = Выборка.Количество();
      
   Иначе   
      Движение = Движения.УчетОснавныхСредств.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
      Движение.Период = Дата;
      Движение.Сотрудник = МатериальноОтветственноеЛицо;
      Движение.МестоХранение = МестоХранение;
      Движение.Номенклатура = Выборка.Номенклатура;
      Движение.Количество = Выборка.Количество();
   КонецЕсли;

КонецПроцедуры
Усё чотко!


Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Запрос, вообще что-то возвращает?

Оффлайн Андрей Федотов

  • ***
  • Сообщений: 212
  • РЕПУТАЦИЯ: 36
  • КПД: 17%
  • Регистрация: 2011-07-07
  • Компания: Future IT Solutions
  • Профессия: Разработчик 1С
Чему равно значение условия Выборка.Количество() > Выборка.КоличествоОС ?
Полагаю что Истина
С уважением,
Андрей Федотов
Future IT Solutions

Оффлайн Шурик_1985

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 5
  • КПД: 11%
  • )
  • Регистрация: 2011-05-14
  • Сайт: 
  • Профессия: Ученик 1С
Запрос, вообще что-то возвращает?
Возвращает нулевое количество номенклатуры в обоих случаях
Усё чотко!

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Так попробуй
Запрос.Текст =
      "ВЫБРАТЬ
      |      УчетОсновныхСредств.Ссылка,
      |      МИНИМУМ(УчетОсновныхСредств.НомерСтроки),
      |      УчетОсновныхСредств.Номенклатура,
      |      СУММА(УчетОсновныхСредств.Количество) КАК Количество,
//      |   УчетОснавныхСредствОстатки.Номенклатура,
      |   ЕСТЬNULL(УчетОснавныхСредствОстатки.КоличествоОстаток, 0) КАК КоличествоОС
      |ИЗ
      |   Документ.УчетОсновныхСредств.ТабДок КАК УчетОсновныхСредств
      |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УчетОснавныхСредств.Остатки КАК УчетОснавныхСредствОстатки
      |      ПО УчетОсновныхСредств.Номенклатура = УчетОснавныхСредствОстатки.Номенклатура
      |ГДЕ
      |   УчетОсновныхСредств.Ссылка = &Ссылка
      |
      |СГРУППИРОВАТЬ ПО
      |   УчетОсновныхСредств.Номенклатура,
      |   УчетОсновныхСредств.Ссылка)";

Оффлайн Шурик_1985

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 5
  • КПД: 11%
  • )
  • Регистрация: 2011-05-14
  • Сайт: 
  • Профессия: Ученик 1С
Так попробуй
Запрос.Текст =
      "ВЫБРАТЬ
      |      УчетОсновныхСредств.Ссылка,
      |      МИНИМУМ(УчетОсновныхСредств.НомерСтроки),
      |      УчетОсновныхСредств.Номенклатура,
      |      СУММА(УчетОсновныхСредств.Количество) КАК Количество,
//      |   УчетОснавныхСредствОстатки.Номенклатура,
      |   ЕСТЬNULL(УчетОснавныхСредствОстатки.КоличествоОстаток, 0) КАК КоличествоОС
      |ИЗ
      |   Документ.УчетОсновныхСредств.ТабДок КАК УчетОсновныхСредств
      |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УчетОснавныхСредств.Остатки КАК УчетОснавныхСредствОстатки
      |      ПО УчетОсновныхСредств.Номенклатура = УчетОснавныхСредствОстатки.Номенклатура
      |ГДЕ
      |   УчетОсновныхСредств.Ссылка = &Ссылка
      |
      |СГРУППИРОВАТЬ ПО
      |   УчетОсновныхСредств.Номенклатура,
      |   УчетОсновныхСредств.Ссылка)";

переделал как вы написали, увы сообщения о нехватки товаров выходит повторно :(
Усё чотко!

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Кстати остатки то на дату документа надо получать. Попробуй так. Могут быть ошибки, но думаю направление верное дал. Только имя регистра реально УчетОснАвныхСредств?
Запрос.Текст =
      "Выбрать
      |УчетОС.Номенклатура,
      |Сумма(УчетОС.Количество) КАК Количество
      |ИЗ
      |ПОМЕСТИТЬ ТЧДокумента
      |   Документ.УчетОсновныхСредств.ТабДок КАК УчетОС
      |ГДЕ
      |   УчетОС.Ссылка = &Ссылка
      |СГРУППИРОВАТЬ ПО
      |УчетОС.Номенклатура
      |;
      |ВЫБРАТЬ
      |   ТЧДокумента.Номенклатура,
      |   ТЧДокумента.Количество,
      |   ЕСТЬNULL(УчетОснавныхСредствОстатки.КоличествоОстаток, 0) КАК КоличествоОС
      |ИЗ
      |   ТЧДокумента КАК ТЧДокумента
      |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УчетОснавныхСредств.Остатки(&Момент, Номенклатура В (ВЫбрать Т.Номенклатура ИЗ ТЧДокумента Т)) КАК УчетОснавныхСредствОстатки
      |      ПО УчетОсновныхСредств.Номенклатура = УчетОснавныхСредствОстатки.Номенклатура";
Запрос.УстановитьПараметр("Момент", МоментВремени());


Теги:
 

Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

Автор 2ronРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4303
Последний ответ 24 Дек 2015, 15:34
от дфтын
Помогите подобрать Back-office и Front-office

Автор avrnskРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 5559
Последний ответ 07 Сен 2010, 12:01
от mohock
Помогите с отчётами в УТ 10.3. (Ведомость по товарам и ведомость по заказам)

Автор chum710Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 5900
Последний ответ 28 Мар 2012, 13:02
от chum710
Помогите с отчетом "Валовая прибыль"

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

Ответов: 4
Просмотров: 4386
Последний ответ 10 Сен 2015, 13:57
от Dm109
помогите с отчетом "характеристики контрагентов"

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

Ответов: 2
Просмотров: 1986
Последний ответ 07 Дек 2016, 15:53
от Kironten

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
59 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal