Имя: Пароль:
1C
1С v8
УТ 11 Программное создание установки цен номенклатуры
,
0 kostyk92
 
12.11.14
05:13
Пишу обработку для программного заполнения установки цен номенклатуры.
Вот наработанный код

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

&НаКлиенте
Процедура СоздатьУстановкуЦен(Команда)
    СоздатьУстановкуЦенНаСервере();
КонецПроцедуры

Казалось бы все просто, писал опираясь на структуру документа, созданного вручную, расчитывая его в конфинураторе. В итоге документ создается, но с ним товорится что-то странное... У документа нету движений, и открывая его на форме в таблице установки цен видно только номенклатуру, по колонке "Новая цена" - пустота. Причем если расчитать созданный документ - все цены на месте где и должны быть. Так же № в пределах дня выходит 5тизначным. Помогите пожалуйста разобраться с этой штукой!!! я уже замучался, просрочил сдачу работы уже несколько раз! сил нету!
1 ASV
 
12.11.14
05:26
СтрокаТовары.Цена            = 2;
>>>СтрокаТовары.ВидЦены = Объект.ВидЦен;
Документ.Товары.Свернуть("Номенклатура, ВидЦены, Цена");
2 kostyk92
 
12.11.14
05:47
...жесть... надо ж было запороться на такой мелочи... спасибо огромное что носом тыкнули))) цены отображаются нормально, только движений так и не появилось... Знаю что я должен это в документации прочитать, но я незнаю что это за параметр "№ в пределах дня" и почему он так скачет при программном создание. Есть какие нибуть предположения по этим проблемам?
3 Klesk666
 
12.11.14
05:54
(2) что то типа
ВЫБРАТЬ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ УстановкаЦенНоменклатуры.Ссылка) + 1 КАК НомерВПределахДня
ИЗ
    Документ.УстановкаЦенНоменклатуры КАК УстановкаЦенНоменклатуры
ГДЕ
    УстановкаЦенНоменклатуры.Проведен = ИСТИНА
    И НАЧАЛОПЕРИОДА(УстановкаЦенНоменклатуры.Дата, ДЕНЬ) = &ТекущаяДата
4 Klesk666
 
12.11.14
05:54
и голову не ломать
5 kostyk92
 
12.11.14
06:10
ок. Может кто нить подробно объяснить почему у документа созданного такой обработкой не формируются движения?
6 ASV
 
12.11.14
06:11
док то проведен?
Документ.Записать();РежимЗаписиДокумента.Проведение
7 Admin_Net_1C
 
12.11.14
06:16
(0) не знаю какой релиз конфигурации юзайте, но у документа УстановкаЦенНоменклатуры есть табличная часть ВидыЦен...не вижу кода, где бы она заполнялась
8 kostyk92
 
12.11.14
06:18
ВидЦен = Документ.ВидыЦен.Добавить();
ВидЦен.ВидЦены = Объект.ВидЦен;
Релиз 11.0.9.15
9 Alekzander
 
12.11.14
09:40
(5) Вообще движения могут не формироваться, только если у документа не стоит статус "Согласован". Но т.к. в (0) установка статуса есть, возможно, копать придётся в сторону проведения документа.
Ошибка? Это не ошибка, это системная функция.