Имя: Пароль:
1C
1С v8
Програмное заполненение док УстановкаЦенНоменклатуры УТ 11
, ,
0 lakich
 
26.02.13
15:26
Помогите с програмным заполнением этого дока плз,приведите кусок кода,весь мозг вынес..(..
1 Wobland
 
26.02.13
15:30
док=Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
док.Дата='20010101';
док.Записать();
2 Wobland
 
26.02.13
15:30
(1) последнее необязательно
3 lakich
 
26.02.13
15:31
это работает..как табличную часть заполнять?
4 Wobland
 
26.02.13
15:33
(3) НоваяСтрока=док.ТЧ.Добавить();
5 lakich
 
26.02.13
15:36
не работает это в 8.2 типовой УТ
6 lakich
 
26.02.13
15:38
ДокУстановкаЦен = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
   ДокУстановкаЦен.Дата = ТекущаяДата();
   ДокУстановкаЦен.Ответственный = ПараметрыСеанса.ТекущийПользователь;
   ДокУстановкаЦен.Статус = Перечисления.СтатусыУстановокЦенНоменклатуры.Согласован;
   Ном = Справочники.Номенклатура;
   
   
   Для СтрКл  = 2 По 3  Цикл //заменит на Колвост
       
       Если (СокрЛП(Excel.Cells(СтрКл,1).value) = "0") Тогда //не группа и не пустая строка
           
        ДокУстановкаЦен.ВидыЦен.Добавить();
        ДокУстановкаЦен.ВидыЦен = Справочники.ВидыЦен.НайтиПоНаименованию("Прих.цена");
        ДокУстановкаЦен.Товары.Добавить();
        ДокУстановкаЦен.Товары = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(Excel.Cells(СтрКл,3).Value));
7 Wobland
 
26.02.13
15:38
(5) что говорит?
8 lakich
 
26.02.13
15:38
вот это НЕ работает..что не так?
9 Wobland
 
26.02.13
15:39
(6) > ДокУстановкаЦен.ВидыЦен.Добавить();
а куда оно тебе возвращает добавленную строку?
10 Wobland
 
26.02.13
15:39
НайтиПоНаименованию находит? а если не найдёт?
11 lakich
 
26.02.13
15:43
найти-находит..
12 Wobland
 
26.02.13
15:44
(11) а если не найдёт?
13 lakich
 
26.02.13
15:45
//СтрокаВидыЦен = ДокУстановкаЦен.ВидыЦен.Добавить();
        //СтрокаТовары = ДокУстановкаЦен.Товары.Добавить();
        //ЗначениеЦены = Число(Excel.Cells(СтрКл,25).value);
       
        //Если  Число(Excel.Cells(СтрКл,25).value)>0 Тогда //Прих.цена
        //    СтрокаВидыЦен.ВидЦены. = //Справочники.ВидыЦен.НайтиПоНаименованию("Прих.цена");
        //КонецЕсли;
       
        //СсылкаНаПозицию = Ном.НайтиПоНаименованию(СокрЛП(Excel.Cells(СтрКл,3).Value));
        //
        //Если  СсылкаНаПозицию = Ном.ПустаяСсылка() Тогда    //Добавление товара
        // Сообщить ("Не найдена позиция :" + СокрЛП(Excel.Cells(СтрКл,3).Value));
        //Иначе
        //    
        //СтрокаТовары.Номенклатура = СсылкаНаПозициЮ;
        //СтрокаТовары.ВидЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Прих.цена");//СтрокаВидыЦен.ВидЦены;
        //СтрокаТовары.Цена = ЗначениеЦены;
14 lakich
 
26.02.13
15:45
или  так..все равно док без значений
15 Wobland
 
26.02.13
15:47
(14) а не от незаполненности ли ТЧ про цены это?
16 lakich
 
26.02.13
15:48
ну этот же док можно БЕЗ цен сохранить???можно
17 ProProg
 
26.02.13
15:48
НовыйДокумент = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
   НовыйДокумент.Дата        = ТекущаяДата();
   НовыйДокумент.Ответственный = ПараметрыСеанса.ТекущийПользователь;
   НовыйДокумент.Комментарий = "";
   НовыйДокумент.Согласован = Истина;
   НовыйДокумент.Статус     = Перечисления.СтатусыУстановокЦенНоменклатуры.Согласован;
   
   СтрокаТЧ = НовыйДокумент.ВидыЦен.Добавить();
   СтрокаТЧ.ВидЦены = Объект.ВидЦенНоменклатуры;
   
   Для Каждого Стр из Объект.ТоварыУстановкаЦенНоменклатуры Цикл    
       Если НЕ ЗначениеЗаполнено(Стр.Номенклатура) Тогда
           Продолжить;
       КонецЕсли;
       
       Если НЕ Стр.Пометка Тогда
           Продолжить;
       КонецЕсли;
       
       СтрокаТЧ = НовыйДокумент.Товары.Добавить();
       СтрокаТЧ.Номенклатура     = Стр.Номенклатура;
       СтрокаТЧ.Характеристика   = Стр.ХарактеристикаНоменклатуры;
       СтрокаТЧ.ВидЦены          = Объект.ВидЦенНоменклатуры;
       СтрокаТЧ.Цена             = Стр.Цена;    
       СтрокаТЧ.Упаковка         = Стр.Упаковка;
       СтрокаТЧ.ЦенаИзмененаВручную = Истина;
   КонецЦикла;
   
   НовыйДокумент.Записать();
18 lakich
 
26.02.13
15:49
кто нить заполнял такой док..кусок кода приведите плз..
19 SUA
 
26.02.13
15:49
ДокУстановкаЦен.ВидыЦен.Добавить().ВидЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Прих.цена");
Товар = ДокУстановкаЦен.Товары.Добавить();
Товар.Номенклатура = ...
в общем в (17) все так
20 ProProg
 
26.02.13
15:49
ПОТОМУ ЧТО надо ВИд цены в строке заполнять!
21 ProProg
 
26.02.13
15:51
Вот это
//СтрокаТовары.ВидЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Прих.цена");

Явно до цикла в переменную.
22 ProProg
 
26.02.13
15:51
обязательно поставить согласовано.
И обязательно галку изменена в ручную в строках.
23 lakich
 
26.02.13
15:52
спасибо..попробую...
Ошибка? Это не ошибка, это системная функция.