|
v7: Заполнение реквизитов подчиненного справочника | ☑ | ||
---|---|---|---|---|
0
Aldnepr
13.09.19
✎
09:14
|
Здравствуйте.Клепаю обработку для занесения цен выбранного типа из Ексель. Суть- если нет нужной категории цен то создать и заполнить, а если есть- заменить значение у существующей. Так вот новую создает и заполняет, а существующую не меняет.
Товар=СоздатьОбъект("Справочник.Номенклатура"); СпрЦен=СоздатьОбъект("Справочник.Цены"); Т1=Прав((Строка(Excel.Cells(ТекСТрока, СтлбКод).Value)),5); Т2="0000"+Т1; ХХ=Прав(Т2,5); Товар.НайтиПоКоду(ХХ,0); ТМЦ=Товар.ТекущийЭлемент(); ТМЦ.ИспользоватьДату(ТекущаяДата()); ЦенаХЛ=Окр(Число(СокрЛП(Строка(Excel.Cells(ТекСТрока, СтлбЦена_Розн).Value))),2,1); ВвестиКодНаименование(ТМЦ, ТекСтрока, Excel); Если ЦенаХЛ>0 тогда СпрЦен.ИспользоватьВладельца(ТМЦ); СпрЦен.ИспользоватьДату(ТекущаяДата()); Сообщить(ТМЦ.Код+" "+ТМЦ); ЕстьВыборка=СпрЦен.ВыбратьЭлементы(); Если ЕстьВыборка=0 тогда //создаем новый СпрЦен.Новый(); СпрЦен.Валюта=Константа.БазоваяВалюта; СпрЦен.Единица=ТМЦ.ЕдиницаПоУмолчанию; СпрЦен.КатегорияЦены=Спис; СпрЦен.Цена=ЦенаХЛ; СпрЦен.Записать(); ИначеЕсли ЕстьВыборка=1 тогда //меняем просто значение цены на текущую дату СпрЦен.Цена=ЦенаХЛ; СпрЦен.Записать(); КонецЕсли; КонецЕсли; |
|||
1
ДенисЧ
13.09.19
✎
09:16
|
ИначеЕсли ЕстьВыборка=1 тогда //меняем просто значение цены на текущую дату
об = спрЦен.ПолучитьОбъект(); об.Цена=ЦенаХЛ; об.Записать(); |
|||
2
Василий Алибабаевич
13.09.19
✎
09:17
|
(0) ГЫ. Выборку открыл, но не выбрал ни одной записи.
СпрЦен.ВыбратьЭлементы(); .... Пока СпрЦен.ПолучитьЭлемент() =1 Цикл ... (1) Это клюшки |
|||
3
Василий Алибабаевич
13.09.19
✎
09:19
|
(2) И вообще.
Если СпрЦен.ВыбратьЭлементы() = 0 Тогда ... Иначе Пока СпрЦен.ПолучитьЭлемент() = 1 Цикл ... КонецЦикла; КонецЕсли; |
|||
4
dedmoroz777
13.09.19
✎
09:21
|
И проверки на ТипЦен нигде нет
|
|||
5
Aldnepr
13.09.19
✎
09:38
|
(2) Спасибо.Зарапортовался точно,и забыл про клюшки, а Вам плюшек сегодня хороших)
|
|||
6
Злопчинский
13.09.19
✎
12:52
|
Вообще-то в типовой ТиС загрузка цен номенклатуры есть штатно.
что-там клепать-то? единственное что я туда "доклепал" (пару операторов) - синхронизация по артикулу. вот картинка этой штатной обработки https://www.screencast.com/t/5Nfwcl9yz4Xp |
|||
7
johnnik
13.09.19
✎
13:25
|
(0)
СпрЦен.Цена=ЦенаХЛ; ........ Эээ, если речь про ТиС, то реквизит "Цена" вроде периодический, там надо: СпрЦен.Цена.Установить(ТекущаяДата(), ЦенаХЛ) Или речь не о типовой ТиС? |
|||
8
dedmoroz777
13.09.19
✎
14:05
|
(7) там есть: СпрЦен.ИспользоватьДату(ТекущаяДата());
|
|||
9
Злопчинский
13.09.19
✎
16:35
|
(7) ну, с учетом
ТМЦ.ЕдиницаПоУмолчанию - там адский трэш |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |