Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 03:58

Помогите пожалуйста с отбором основных средств по ответственному лицу (МОЛ)

Автор program_mary, 01 дек 2016, 04:13

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

program_mary

Здравствуйте!
Мне нужно при выбранном ответственном лице основные средства в запросе выбирались по нему. Сейчас если ответственного нет тогда идет отбор полностью по организации(правильно отбирает), а если заполнен пустые колонки.

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

Golickoff

В данном запросе нет упоминаний ответственных лиц. В параметрах оно также не указывается. Странно, что его выбор в каком-то поле вообще влияет на результат данного запроса.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

program_mary

Оно и не влияет, отбор идет полностью по предприятию.
А когда заполнено поле МОЛ, отбор должен вестись по нему.

pavl_vs

program_mary, Вы бы назвали конфигурацию! Приведенный запрос - Ваш, или 1с-разработчика?
Добавлено: 05 дек 2016, 13:30


Golickoff, МОЛ это и есть ответственное лицо.

program_mary

Да, МОЛ это и есть ответственное лицо. Скачанная обработка с инфостарт. В ней отбор ведется по подразделению.

Если НЕ ЗначениеЗаполнено(ДругойМеталл) Тогда
      ДругойМеталл = ПланыВидовХарактеристик.СвойстваОбъектов.ПустаяСсылка();
   КонецЕсли;
   
   
   Запрос       = Новый Запрос();
   
   Запрос.УстановитьПараметр("ДатаОстатков",  Дата);
   Запрос.УстановитьПараметр("Организация",   Организация);
   Запрос.УстановитьПараметр("Подразделение", Подразделение);
   Запрос.УстановитьПараметр("СубконтоОС",    ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства);
   
   Запрос.УстановитьПараметр("Золото", Золото);
      Запрос.УстановитьПараметр("Серебро", Серебро);
      Запрос.УстановитьПараметр("Платина", Платина);
      Запрос.УстановитьПараметр("ДругойМеталл", ДругойМеталл);

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

sertak

Добавьте реквизит МОЛ по аналогии с подразделением и переделайте следующим образом:

...
Запрос.УстановитьПараметр("МОЛ", МОЛ);
...
Если ЗначениеЗаполнено (МОЛ) Тогда
    Запрос.Текст = Запрос.Текст + "
        |   ГДЕ
        |      МестонахождениеОСБухгалтерскийУчет.МОЛ = &МОЛ
        |";
...

program_mary


sertak

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

program_mary

Запрос       = Новый Запрос();
   
   Запрос.УстановитьПараметр("ДатаОстатков",  Дата);
   Запрос.УстановитьПараметр("Организация",   Организация);
   Запрос.УстановитьПараметр("Подразделение", Подразделение);
   Запрос.УстановитьПараметр("МОЛ", Справочники.СотрудникиОрганизаций);
   Запрос.УстановитьПараметр("СубконтоОС",    ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства);
   
   Запрос.УстановитьПараметр("Золото", Золото);
      Запрос.УстановитьПараметр("Серебро", Серебро);
      Запрос.УстановитьПараметр("Платина", Платина);
   Запрос.УстановитьПараметр("Индий", Индий);
Запрос.УстановитьПараметр("Платино-родий", ПлатиноРодий);
Запрос.УстановитьПараметр("Родий", Родий);
Запрос.УстановитьПараметр("Серебро азотнокислое", СереброАзотнокислое);
Запрос.УстановитьПараметр("Серебряный припой", СеребряныйПрипой);
Запрос.УстановитьПараметр("Сплав ЗЛСРМ", СплавЗЛСРМ);
Запрос.УстановитьПараметр("Сплав ПДВ-20", СплавПДВ20);
Запрос.УстановитьПараметр("СПЛАВ Платины и серебра", СплавПлатиныИСеребра);
      Запрос.УстановитьПараметр("Другой1Металл", Другой1Металл);
    Запрос.УстановитьПараметр("Другой2Металл", Другой2Металл);
    Запрос.УстановитьПараметр("Другой3Металл", Другой3Металл);
     Запрос.УстановитьПараметр("Другой4Металл", Другой4Металл);
   Запрос.УстановитьПараметр("Другой5Металл", Другой5Металл);
   Запрос.УстановитьПараметр("Другой6Металл", Другой6Металл);
   Запрос.УстановитьПараметр("Другой7Металл", Другой7Металл);
   Запрос.УстановитьПараметр("Другой8Металл", Другой8Металл);
   Запрос.УстановитьПараметр("Другой9Металл", Другой9Металл);

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

      

      |   ГДЕ
      |      МестонахождениеОСБухгалтерскийУчет.МОЛ В ИЕРАРХИИ(&МОЛ)
         |";
      КонецЕсли;
   Запрос.Текст = Запрос.Текст + "
|) КАК СписокОСВПодразделении
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолЗолото
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Золото) КАК Золото
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Золото.ОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолСеребро
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Серебро) КАК Серебро
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Серебро.ОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолПлатина
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Платина) КАК Платина
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Платина.ОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолДругой3Металл
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Другой3Металл) КАК Другой3Металл
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Другой3Металл.ОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолДругой4Металл
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Другой4Металл) КАК Другой4Металл
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Другой4Металл.ОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолДругой5Металл
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Другой5Металл) КАК Другой5Металл
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Другой5Металл.ОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолДругой6Металл
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Другой6Металл) КАК Другой6Металл
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Другой6Металл.ОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолДругой7Металл
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Другой7Металл) КАК Другой7Металл
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Другой7Металл.ОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолДругой8Металл
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Другой8Металл) КАК Другой8Металл
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Другой8Металл.ОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолДругой9Металл
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Другой9Металл) КАК Другой9Металл
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Другой9Металл.ОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолДругой2Металл
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Другой2Металл) КАК Другой2Металл
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Другой2Металл.ОС
      |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |         ЗначенияСвойствОбъектов.Объект КАК ОС,
      |         ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, 0) КАК КолДругой1Металл
      |      ИЗ
      |         РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
      |      ГДЕ
      |         ЗначенияСвойствОбъектов.Свойство = &Другой1Металл) КАК Другой1Металл
      |      ПО СписокОСВПодразделении.ОсновноеСредство = Другой1Металл.ОС
      |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СчетаБухгалтерскогоУчетаОС.СрезПоследних(&ДатаОстатков, Организация = &Организация) КАК СчетаБухгалтерскогоУчетаОССрезПоследних
      |         ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОстатков, , &СубконтоОС, Организация = &Организация) КАК ХозрасчетныйОстатки
      |         ПО СчетаБухгалтерскогоУчетаОССрезПоследних.СчетУчета = ХозрасчетныйОстатки.Счет
      |            И СчетаБухгалтерскогоУчетаОССрезПоследних.ОсновноеСредство = ХозрасчетныйОстатки.Субконто1
      |      ПО (СписокОСВПодразделении.ОсновноеСредство = СчетаБухгалтерскогоУчетаОССрезПоследних.ОсновноеСредство)
      |ГДЕ
      |   СписокОСВПодразделении.ОсновноеСредство.ПометкаУдаления = ЛОЖЬ
      |
      |УПОРЯДОЧИТЬ ПО
      |   Наименование";
      
   Возврат Запрос.Выполнить().Выгрузить();
:dfbsdfbsdf:
Добавлено: 13 сен 2017, 05:11


{ВнешняяОбработка.инв8а.Форма.Инв8А.Форма(213)}: Ошибка при вызове метода контекста (Выполнить)
   Возврат Запрос.Выполнить().Выгрузить();
по причине:
{(39, 53)}: Неверные параметры
МестонахождениеОСБухгалтерскийУчет.МОЛ В ИЕРАРХИИ(<<?>>&МОЛ)

Добавлено: 13 сен 2017, 05:15


почему запрос и выборка

      |";
      Если ЗначениеЗаполнено (Подразделение) Тогда
         Запрос.Текст = Запрос.Текст + "
         
         |   ГДЕ
         |      МестонахождениеОСБухгалтерскийУчет.Местонахождение В ИЕРАРХИИ(&Подразделение)
         |";
      КонецЕсли;
   Запрос.Текст = Запрос.Текст + "
      
      |) КАК СписокОСВПодразделении
в этом же запросе по подразделению работает? а по ответственному нет??!!
:xfbnsdfb:

Добавлено: 13 сен 2017, 07:20


Цитата: sertak от 07 дек 2016, 17:34|   ГДЕ
        |      МестонахождениеОСБухгалтерскийУчет.МОЛ = &МОЛ

программа 1С ругается:
{ВнешняяОбработка.инв8а.Форма.Инв8А.Форма(223)}: Ошибка при вызове метода контекста (Выполнить)
   Возврат Запрос.Выполнить().Выгрузить();
по причине:
{(41, 56)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
МестонахождениеОСБухгалтерскийУчетСрезПоследних.МОЛ <<?>>=(&МОЛ)


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск