Имя: Пароль:
1C
 
Установка цен программно
,
0 Jurest_
 
16.07.21
20:58
Всем привет. Есть задание, перенести номенклатуру из Exsel в 1с. Столкнулся с проблемой в ценах(Только недавно начал изучать 1с). В файле xsl есть данные о цене. В форме пользователь выбирает, какой вид цен будет зарегистрирован для этих товаров. Как мне добавить эти цены в прайс лист товара программно. Сколько не ищу, говорят только о том, как через 1сПредприятие это сделать. (Вопрос даже наверное в том, где находится справочник прайс листа в конфигураторе, чтобы я мог к нему обратится при записи цены).
1 Jurest_
 
16.07.21
21:03
Если что, то это УТ11
2 Chameleon1980
 
16.07.21
21:14
перед постановкой вопроса начните хоть какое-то изучение предмета
+научитесь гуглить что-ли
3 Jurest_
 
16.07.21
21:18
(2) Спасибо за совет, учту. Но подожду более компетентного ответа.
4 ДенисЧ
 
16.07.21
21:21
Документ Установка цен номенклатуры
5 Jurest_
 
16.07.21
21:21
Спасибо
6 Chameleon1980
 
17.07.21
20:36
(3)это ценнейший совет
7 Гений 1С
 
гуру
18.07.21
09:34
(6) харош прикалываться над нубами.
8 2S
 
18.07.21
09:47
(7) вау, полегче, парниша, корону поправь
9 Вафель
 
18.07.21
10:31
В 1с очень не хватает публичной базы знаний с примерами по доработкам типовых конфиг
10 Aleksey
 
18.07.21
12:22
(9) А чё толку? Там же также гуглить нудно будет, а народ поиском пользоваться не умеет, так что мартышкин труд
11 Klesk
 
18.07.21
13:46
(0) Может поможет

Процедура СоздатьУстановкуЦен(ДокументОприходывания)
    Форма = ПолучитьФорму("Документ.УстановкаЦенНоменклатуры.ФормаОбъекта");    
    ДанныеФормы = Форма.Объект;
    ЗаполнитьДокументНаСервере(ДанныеФормы,ДокументОприходывания);
    КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);    
    Для Каждого ВыбраннаяЦена Из Форма.ВыбранныеЦены Цикл
        Если Форма.Объект.ВидыЦен.НайтиСтроки(Новый Структура( "ВидЦены",ВыбраннаяЦена.Ссылка)).Количество()>0 Тогда             
            
             ВыбраннаяЦена.Выбрана=Истина;
         КонецЕсли;
     КонецЦикла;    
    Форма.ВыбратьВсеЗависимыеЦены();
    Форма.ПостроитьДеревоЦен();
    Форма.ЗаполнитьДокумент();     
    Форма.ЗагрузитьТабличнуюЧастьТовары();
    Форма.Элементы.НомерВПределахДня.Видимость=Истина;    
    Форма.Объект.Дата=НачалоДня(Форма.Объект.Дата) + Форма.НомерВПределахДня - 1;
    Форма.Элементы.Основание.Видимость=Истина;
        ДанныеДляРасчетаВычисляемыхЦенНаКлиенте = Форма.ПереформироватьТаблицуЦен(Истина);
            Если ДанныеДляРасчетаВычисляемыхЦенНаКлиенте <> Неопределено Тогда
                Форма.РассчитатьВычисляемыеЦеныНаКлиенте(ДанныеДляРасчетаВычисляемыхЦенНаКлиенте);
            КонецЕсли;

    Форма.ВыбранныеЦеныИзменены=Ложь;
    Форма.Открыть();        
КонецПроцедуры

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

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