|
План закупок Конф 1.1.12.3 , сломали? |
|
|
|
|
09.12.10, 17:39
|
Общительный
Группа: Пользователи
Сообщений: 34
Спасибо сказали: 1 раз
Рейтинг: 0
|
У кого-нибудь работает Формирование заказа из Документа План закупок? После обновления на 1.1.12.3 там что-то сломали. Сначала получил {Документ.ПланЗакупок.Форма.ФормаФормированиеЗаказовПоставщикам.Форма(246)}: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос.Выполнить(); по причине:
по причине: {(48, 5)}: Синтаксическая ошибка "| КОНЕЦ" <<?>>| КОНЕЦ = ЗаказыПоставщикамОстатки.ДоговорКонтрагента)
Убрал лишнюю | Теперь имеем {Документ.ПланЗакупок.Форма.ФормаФормированиеЗаказовПоставщикам.Форма(246)}: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос.Выполнить(); по причине:
по причине: {(48, 12)}: Поле не найдено "ЗаказыПоставщикамОстатки.ДоговорКонтрагента" КОНЕЦ = <<?>>ЗаказыПоставщикамОстатки.ДоговорКонтрагента)
У кого-нибудь работает?
|
|
|
|
|
09.12.10, 18:09
|
Общительный
Группа: Пользователи
Сообщений: 34
Спасибо сказали: 1 раз
Рейтинг: 0
|
Процедура ЗаполнитьЗакупки() Закупки.Строки.Очистить();
Запрос = Новый Запрос( "ВЫБРАТЬ | ВЫБОР | КОГДА ПланыЗакупокОбороты.Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) | ТОГДА ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик | ИНАЧЕ ПланыЗакупокОбороты.Контрагент | КОНЕЦ КАК Поставщик, | ВЫБОР | КОГДА ПланыЗакупокОбороты.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) | ТОГДА ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик.ОсновнойДоговорКонтрагента | ИНАЧЕ ПланыЗакупокОбороты.Договор | КОНЕЦ КАК Договор, | ПланыЗакупокОбороты.Номенклатура КАК Номенклатура, | ПланыЗакупокОбороты.ХарактеристикаНоменклатуры КАК Характеристика, | ПланыЗакупокОбороты.Период КАК Период, | (ПланыЗакупокОбороты.СтоимостьОборот + ПланыЗакупокОбороты.НДСОборот) / ВЫБОР | КОГДА ПланыЗакупокОбороты.КоличествоОборот = 0 | ТОГДА 1 | ИНАЧЕ ПланыЗакупокОбороты.КоличествоОборот | КОНЕЦ * КурсВалютыУправленческогоУчета.Курс * КурсВалютыДоговора.Кратность / (ЕСТЬNULL(КурсВалютыДоговора.Курс, 1) * ЕСТЬNULL(КурсВалютыУправленческогоУчета.Кратность, 1)) КАК Цена, | ВЫБОР | КОГДА ПланыЗакупокОбороты.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) | ТОГДА ЕСТЬNULL(ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик.ОсновнойДоговорКонтр агента.ВалютаВзаиморасчетов, ПланыЗакупокОбороты.ДокументПланирования.ВалютаДокумента) | ИНАЧЕ ПланыЗакупокОбороты.Договор.ВалютаВзаиморасчетов | КОНЕЦ КАК Валюта, | ПланыЗакупокОбороты.Заказ КАК Заказ, | ПланыЗакупокОбороты.КоличествоОборот КАК ТребуемоеКоличество, | ПланыЗакупокОбороты.КоличествоОборот КАК ЗаказатьКоличество, | ПланыЗакупокОбороты.СтоимостьОборот + ПланыЗакупокОбороты.НДСОборот КАК Стоимость, | ЕСТЬNULL(РазмещениеЗаказовПокупателейОбороты.КоличествоОстаток, 0) КАК ЗаказанноеКоличествоРазмещениеЗаказовПокупателей, | ЕСТЬNULL(ЗаказыПоставщикамОбороты.КоличествоОстаток, 0) КАК ЗаказанноеКоличествоЗаказыПостащикам |ИЗ | РегистрНакопления.ПланыЗакупок.Обороты( | , | , | День, | Номенклатура ССЫЛКА Справочник.Номенклатура | И ДокументПланирования = &ПланЗакупок) КАК ПланыЗакупокОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаОкончанияПлановогоПериода, ) КАК ЗаказыПоставщикамОбороты | ПО (ВЫБОР | КОГДА ПланыЗакупокОбороты.Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) | ТОГДА ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик | ИНАЧЕ ПланыЗакупокОбороты.Контрагент | КОНЕЦ = ЗаказыПоставщикамОбороты.ДоговорКонтрагента.Владелец) | И (ВЫБОР | КОГДА ПланыЗакупокОбороты.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) | ТОГДА ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик.ОсновнойДоговорКонтрагента | ИНАЧЕ ПланыЗакупокОбороты.Договор [b] | | КОНЕЦ = ЗаказыПоставщикамОстатки.ДоговорКонтрагента)[/b] | И ПланыЗакупокОбороты.Номенклатура = ЗаказыПоставщикамОстатки.Номенклатура | И ПланыЗакупокОбороты.ХарактеристикаНоменклатуры = ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки(&ДатаОкончанияПлановогоПериода, ) КАК РазмещениеЗаказовПокупателейОстатки | ПО (ВЫБОР | КОГДА ПланыЗакупокОбороты.Заказ = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) | ТОГДА ИСТИНА | ИНАЧЕ ПланыЗакупокОбороты.Заказ = РазмещениеЗаказовПокупателейОстатки.ЗаказПокупателя | КОНЕЦ) | И ПланыЗакупокОбороты.Номенклатура = РазмещениеЗаказовПокупателейОстатки.Номенклатура | И ПланыЗакупокОбороты.ХарактеристикаНоменклатуры = РазмещениеЗаказовПокупателейОстатки.ХарактеристикаНоменклатуры | ЛЕВОЕ СОЕДИНЕНИЕ Константы КАК Константы | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОкончанияПлановогоПериода, ) КАК КурсВалютыУправленческогоУчета | ПО Константы.ВалютаУправленческогоУчета = КурсВалютыУправленческогоУчета.Валюта | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОкончанияПлановогоПериода, ) КАК КурсВалютыДоговора | ПО (ВЫБОР | КОГДА ПланыЗакупокОбороты.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) | ТОГДА ЕСТЬNULL(ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик.ОсновнойДоговорКонтр агента.ВалютаВзаиморасчетов, ПланыЗакупокОбороты.ДокументПланирования.ВалютаДокумента) | ИНАЧЕ ПланыЗакупокОбороты.Договор.ВалютаВзаиморасчетов | КОНЕЦ = КурсВалютыДоговора.Валюта) |УПОРЯДОЧИТЬ ПО | Поставщик, | Договор, | Номенклатура, | Характеристика, | Период, | Заказ |ИТОГИ | ВЫБОР | КОГДА Договор ЕСТЬ НЕ NULL | ТОГДА МАКСИМУМ(Валюта) | КОНЕЦ КАК Валюта, | СУММА(ТребуемоеКоличество), | СУММА(Стоимость) |ПО | Поставщик, | Договор |АВТОУПОРЯДОЧИВАНИЕ"); ДатаОкончанияПлановогоПериода = ПланЗакупок.ДатаПланирования; УправлениеПланированием.ВыровнятьДатуПоКонцуПериода(ДатаОкончанияПлановогоПериод а, ПланЗакупок.Сценарий.Периодичность); Запрос.УстановитьПараметр("ПланЗакупок", ПланЗакупок); Запрос.УстановитьПараметр("ДатаОкончанияПлановогоПериода", ДатаОкончанияПлановогоПериода); Результат = Запрос.Выполнить(); ВыборкаПоставщик = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаПоставщик.Следующий() Цикл НовыйПоставщик = Закупки.Строки.Добавить(); НовыйПоставщик.ПоставщикДоговорНоменклатура = ВыборкаПоставщик.Поставщик; ВыборкаДоговор = ВыборкаПоставщик.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаДоговор.Следующий() Цикл НовыйДоговор = НовыйПоставщик.Строки.Добавить(); НовыйДоговор.ПоставщикДоговорНоменклатура = ВыборкаДоговор.Договор; НовыйДоговор.Валюта = ВыборкаДоговор.Валюта; ВыборкаНоменклатура = ВыборкаДоговор.Выбрать(ОбходРезультатаЗапроса.Прямой); Пока ВыборкаНоменклатура.Следующий() Цикл НоваяНоменклатура = НовыйДоговор.Строки.Добавить(); НоваяНоменклатура.ПоставщикДоговорНоменклатура = ВыборкаНоменклатура.Номенклатура; НоваяНоменклатура.Характеристика = ВыборкаНоменклатура.Характеристика; НоваяНоменклатура.Период = ВыборкаНоменклатура.Период; НоваяНоменклатура.Цена = ВыборкаНоменклатура.Цена; НоваяНоменклатура.Валюта = ВыборкаНоменклатура.Валюта; НоваяНоменклатура.ТребуемоеКоличество = ВыборкаНоменклатура.ТребуемоеКоличество; НоваяНоменклатура.Заказ = ВыборкаНоменклатура.Заказ; Если НЕ ЗначениеЗаполнено(НоваяНоменклатура.Заказ) Тогда НоваяНоменклатура.ЗаказанноеКоличество = Макс(ВыборкаНоменклатура.ЗаказанноеКоличествоЗаказыПоставщикам - ВыборкаНоменклатура.ЗаказанноеКоличествоРазмещениеЗаказовПокупателей, 0); Иначе НоваяНоменклатура.ЗаказанноеКоличество = ВыборкаНоменклатура.ЗаказанноеКоличествоРазмещениеЗаказовПокупателей; КонецЕсли; Если ВыборкаНоменклатура.ЗаказатьКоличество > НоваяНоменклатура.ЗаказанноеКоличество Тогда НоваяНоменклатура.ЗаказатьКоличество = ВыборкаНоменклатура.ЗаказатьКоличество - НоваяНоменклатура.ЗаказанноеКоличество; Иначе НоваяНоменклатура.ЗаказатьКоличество = 0; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецПроцедуры // ЗаполнитьЗакупки()
|
|
|
|
09.12.10, 18:19
|
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2
|
Вот. Работать должен. Правильно или нет - нужно проверять: |ВЫБРАТЬ | ВЫБОР | КОГДА ПланыЗакупокОбороты.Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) | ТОГДА ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик | ИНАЧЕ ПланыЗакупокОбороты.Контрагент | КОНЕЦ КАК Поставщик, | ВЫБОР | КОГДА ПланыЗакупокОбороты.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) | ТОГДА ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик.ОсновнойДоговорКонтрагента | ИНАЧЕ ПланыЗакупокОбороты.Договор | КОНЕЦ КАК Договор, | ПланыЗакупокОбороты.Номенклатура КАК Номенклатура, | ПланыЗакупокОбороты.ХарактеристикаНоменклатуры КАК Характеристика, | ПланыЗакупокОбороты.Период КАК Период, | (ПланыЗакупокОбороты.СтоимостьОборот + ПланыЗакупокОбороты.НДСОборот) / ВЫБОР | КОГДА ПланыЗакупокОбороты.КоличествоОборот = 0 | ТОГДА 1 | ИНАЧЕ ПланыЗакупокОбороты.КоличествоОборот | КОНЕЦ * КурсВалютыУправленческогоУчета.Курс * КурсВалютыДоговора.Кратность / (ЕСТЬNULL(КурсВалютыДоговора.Курс, 1) * ЕСТЬNULL(КурсВалютыУправленческогоУчета.Кратность, 1)) КАК Цена, | ВЫБОР | КОГДА ПланыЗакупокОбороты.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) | ТОГДА ЕСТЬNULL(ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик.ОсновнойДоговорКонтрагент а.ВалютаВзаиморасчетов, ПланыЗакупокОбороты.ДокументПланирования.ВалютаДокумента) | ИНАЧЕ ПланыЗакупокОбороты.Договор.ВалютаВзаиморасчетов | КОНЕЦ КАК Валюта, | ПланыЗакупокОбороты.Заказ КАК Заказ, | ПланыЗакупокОбороты.КоличествоОборот КАК ТребуемоеКоличество, | ПланыЗакупокОбороты.КоличествоОборот КАК ЗаказатьКоличество, | ПланыЗакупокОбороты.СтоимостьОборот + ПланыЗакупокОбороты.НДСОборот КАК Стоимость, | ЕСТЬNULL(РазмещениеЗаказовПокупателейОстатки.КоличествоОстаток, 0) КАК ЗаказанноеКоличествоРазмещениеЗаказовПокупателей, | ЕСТЬNULL(ЗаказыПоставщикамОстатки.КоличествоОстаток, 0) КАК ЗаказанноеКоличествоЗаказыПостащикам |ИЗ | РегистрНакопления.ПланыЗакупок.Обороты( | , | , | День, | Номенклатура ССЫЛКА Справочник.Номенклатура | И ДокументПланирования = &ПланЗакупок) КАК ПланыЗакупокОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаОкончанияПлановогоПериода, ) КАК ЗаказыПоставщикамОстатки | ПО (ВЫБОР | КОГДА ПланыЗакупокОбороты.Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) | ТОГДА ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик | ИНАЧЕ ПланыЗакупокОбороты.Контрагент | КОНЕЦ = ЗаказыПоставщикамОстатки.ДоговорКонтрагента.Владелец) | И (ВЫБОР | КОГДА ПланыЗакупокОбороты.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) | ТОГДА ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик.ОсновнойДоговорКонтрагента | ИНАЧЕ ПланыЗакупокОбороты.Договор | КОНЕЦ = ЗаказыПоставщикамОстатки.ДоговорКонтрагента) | И ПланыЗакупокОбороты.Номенклатура = ЗаказыПоставщикамОстатки.Номенклатура | И ПланыЗакупокОбороты.ХарактеристикаНоменклатуры = ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки(&ДатаОкончанияПлановогоПериода, ) КАК РазмещениеЗаказовПокупателейОстатки | ПО (ВЫБОР | КОГДА ПланыЗакупокОбороты.Заказ = ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка) | ТОГДА ИСТИНА | ИНАЧЕ ПланыЗакупокОбороты.Заказ = РазмещениеЗаказовПокупателейОстатки.ЗаказПокупателя | КОНЕЦ) | И ПланыЗакупокОбороты.Номенклатура = РазмещениеЗаказовПокупателейОстатки.Номенклатура | И ПланыЗакупокОбороты.ХарактеристикаНоменклатуры = РазмещениеЗаказовПокупателейОстатки.ХарактеристикаНоменклатуры | ЛЕВОЕ СОЕДИНЕНИЕ Константы КАК Константы | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОкончанияПлановогоПериода, ) КАК КурсВалютыУправленческогоУчета | ПО (Константы.ВалютаУправленческогоУчета = КурсВалютыУправленческогоУчета.Валюта) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОкончанияПлановогоПериода, ) КАК КурсВалютыДоговора | ПО (ВЫБОР | КОГДА ПланыЗакупокОбороты.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) | ТОГДА ЕСТЬNULL(ПланыЗакупокОбороты.Номенклатура.ОсновнойПоставщик.ОсновнойДоговорКонтрагент а.ВалютаВзаиморасчетов, ПланыЗакупокОбороты.ДокументПланирования.ВалютаДокумента) | ИНАЧЕ ПланыЗакупокОбороты.Договор.ВалютаВзаиморасчетов | КОНЕЦ = КурсВалютыДоговора.Валюта) | |УПОРЯДОЧИТЬ ПО | Поставщик, | Договор, | Номенклатура, | Характеристика, | Период, | Заказ |ИТОГИ | ВЫБОР | КОГДА Договор ЕСТЬ НЕ NULL | ТОГДА МАКСИМУМ(Валюта) | КОНЕЦ КАК Валюта, | СУММА(ТребуемоеКоличество), | СУММА(Стоимость) |ПО | Поставщик, | Договор |АВТОУПОРЯДОЧИВАНИЕ
|
|