Имя: Пароль:
1C
1С v8
не работает программное заполнение заказа на производство.
0 pankrat00
 
07.05.15
15:16
Доброго времени. Программно создаю Заказ на производство и типовой процедурой из модуля объекта пытаюсь его заполнить... НО заказ на производство не заполняется.
Делаю так:
......
ЗаказНаПроизводствоОбъект.ЗаполнитьПродукциюПоЗаказуПокупателю(Ссылка);
.......

Когда в ручную заполняю заказ (Кнопка Заполнить-Заполнить по заказу покупателя) то все нормально заполняется!
Полез в отладчик. Нашел запрос который заполняет документ по остаткам. При программном заполнении результат запроса пустой!!! Причем я сравнил параметры они в обоих случаях абсолютно одинаковые...
Вот они:
Запрос.УстановитьПараметр("ТоварТара", Перечисления.ТоварТара.Товар);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("СтатусВозвратнаяТара",Перечисления.СтатусыПартийТоваров.ВозвратнаяТара);
Запрос.УстановитьПараметр("ЗаказПокупателя", ЗаказПокупателя);
Запрос.УстановитьПараметр("ДатаОстатков",ОбщегоНазначения.ПолучитьДатуОстатков(ЭтотОбъект));

Все перебробовал не могу понять в чем дело...
1 pankrat00
 
07.05.15
16:00
Конечно могу заполнялку отдельно написать, интересно просто почему типовая так себя ведет.
2 asady
 
07.05.15
16:03
(0) думаю надо продолжить манипуляции с отладчиком...
3 pankrat00
 
07.05.15
16:04
(2) Есть какие то идеи?
4 pankrat00
 
07.05.15
16:06
Текст запроса:
ВЫБРАТЬ
    ЗаказыПокупателейОстатки.Номенклатура,
    ЗаказыПокупателейОстатки.Номенклатура.СтавкаНДС КАК СтавкаНДС,
    ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры,
    ЗаказыПокупателейОстатки.ЗаказПокупателя,
    ВЫБОР
        КОГДА ЗаказыПокупателейОстатки.ЕдиницаИзмерения.Коэффициент ЕСТЬ NULL
            ТОГДА ЗаказыПокупателейОстатки.Номенклатура.ЕдиницаХраненияОстатков
        ИНАЧЕ ЗаказыПокупателейОстатки.ЕдиницаИзмерения
    КОНЕЦ КАК ЕдиницаИзмерения,
    ВЫБОР
        КОГДА ЗаказыПокупателейОстатки.ЕдиницаИзмерения.Коэффициент ЕСТЬ NULL
            ТОГДА ЕСТЬNULL(ЗаказыПокупателейОстатки.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1)
        ИНАЧЕ ЗаказыПокупателейОстатки.ЕдиницаИзмерения.Коэффициент
    КОНЕЦ КАК Коэффициент,
    ЗаказыПокупателейОстатки.СуммаУпрОстаток КАК Сумма,
    ЗаказыПокупателейОстатки.КоличествоОстаток КАК Заказано,
    ЗаказыПоставщикамОстатки.КоличествоОстаток КАК ЗаказаноПоставщику,
    ТоварыВРезервеНаСкладах.КоличествоОстаток КАК Зарезервировано
ИЗ
    РегистрНакопления.ЗаказыПокупателей.Остатки(
            &ДатаОстатков,
            ЗаказПокупателя = &ЗаказПокупателя
                И СтатусПартии <> &СтатусВозвратнаяТара
                И НЕ Номенклатура.Комплект) КАК ЗаказыПокупателейОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки(
                &ДатаОстатков,
                ЗаказПокупателя = &ЗаказПокупателя
                    И ЗаказПоставщику <> &Ссылка
                    И ТоварТара = &ТоварТара) КАК ЗаказыПоставщикамОстатки
        ПО ЗаказыПокупателейОстатки.Номенклатура = ЗаказыПоставщикамОстатки.Номенклатура
            И ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры = ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаОстатков, ДокументРезерва = &ЗаказПокупателя) КАК ТоварыВРезервеНаСкладах
        ПО ЗаказыПокупателейОстатки.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура
            И ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
5 asady
 
07.05.15
16:06
(3) я бы проверил ДополнительныеСвойства объекта
6 Serg_1960
 
07.05.15
16:08
В УПП не просто остатки заказа, а количество = заказано - зарезервировано - заказано поставщику.
7 pankrat00
 
07.05.15
16:13
(6) Это типовая процедура из Заказа на производство УПП 1.3.63.3
8 pankrat00
 
07.05.15
16:14
(5) Ты что то знаешь...?? А мне не говоришь)
9 pankrat00
 
07.05.15
16:32
Друзья плиз хелп.
10 asady
 
07.05.15
16:34
(8) ну сам посуди - запросы одинаковые, параметры одинаковые - а результат разный - чуднО?
значит что-то у них отличается..
скопируй этот запрос в консоль отчетов и проставь параметры как должно и посмотри из консоли.
11 pankrat00
 
07.05.15
16:47
(10) Брат, в консоли запросов деал. Сейчас перепроверил в консоли Отчетов. Выводит все ок.
12 pankrat00
 
07.05.15
16:58
Смотри сам 1 вариант программно:
https://www.dropbox.com/s/nr4xojvo1g3idqb/Безымянный.jpg?dl=0

Вариант 2 в ручную:
https://www.dropbox.com/s/w4dx786ifv425g9/Безымянный1.jpg?dl=0

Обрати внимание на табло Выборка.Количество()
в первом оно = 0, во втором = 2.
13 pankrat00
 
07.05.15
17:26
Параметры запроса все одинаковые.
14 hhhh
 
07.05.15
17:29
(13) всё-таки проверь отладчиком. Ведь и козе понятно, что в (0) ты передаешь Ссылка, ЭтотОбъект и ЗаказПокупателя совсем другие.
15 pankrat00
 
07.05.15
17:32
(14) Посмотри скрины в (12). Тип значения везде ссылка.
16 СвинТуз
 
07.05.15
17:40
где то ты тупишь по детски
сядь и прими позу лотоса
17 СвинТуз
 
07.05.15
17:43
если
ЗаказНаПроизводствоОбъект.ЗаполнитьПродукциюПоЗаказуПокупателю(Ссылка);
эспортная функция, то все равно что внутри
надо смотреть что на входе
18 pankrat00
 
07.05.15
17:45
(16) Возможно.. Вот тока где..?? Смотри скрины.
1. ПРоцедура одна и та же.
2. Отладчик в обоих случаях её цепляет.
3. Параметры одинаковые.

Результат то почему разный...
19 hhhh
 
07.05.15
17:48
(18) а откуда вызывается эта чудопроцедура?
20 hhhh
 
07.05.15
17:49
(19) только не говори, что из заказа покупателя.
21 pankrat00
 
07.05.15
17:50
(20) Да.
22 hhhh
 
07.05.15
17:50
(20) что да?
23 pankrat00
 
07.05.15
17:51
Вызывается из заказа покупателя.
24 hhhh
 
07.05.15
17:52
то есть ты там всё чистишь так спокойненько все регистры, а потом планируешь в них увидеть какие-то остатки в выборке?
25 pankrat00
 
07.05.15
17:54
(24) Погоди... Мысль я твою понял...щас проверю.
26 pankrat00
 
07.05.15
18:06
(24) Как ты чудовищно прав... Брат, спасибо огромное! Все верно регистры все чисты, остатков ни каких нет.. Мне было необходимо почувствовать себя идиотом. Еще раз спасибо брат.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший