|
v7: Подстановка цены. | ☑ | ||
---|---|---|---|---|
0
въезжаю в 1с
08.09.11
✎
16:37
|
Здрасти всем... продолжаю осваивать 1с
Прайс= СоздатьОбъект("Справочник.Номенклатура"); Прайс.ВыбратьЭлементы(); Тип = СоздатьОбъект("Справочник.ТипыЦен"); Если Тип.НайтиПоКоду(6) =1 Тогда ЭлементИлиГруппа=Тип.ТекущийЭлемент (); КонецЕсли; НаДат = ТекущаяДата(); Пока Прайс.ПолучитьЭлемент() = 1 Цикл Если Прайс.ЭтоГруппа () = 0 Тогда ДБФ.Добавить(); ДБФ.KOD = Прайс.Код; ДБФ.NAME = Прайс.Наименование; // ДБФ.PROIZV = Изготв.Наименование; ДБФ.CENA = глПолучитьЦену(Прайс, Тип, НаДат); ДБФ.KOL = " "; ДБФ.GODN = Прайс.СрокГодности; ДБФ.Записать(); КонецЕсли; КонецЦикла; В общем надо чтоб в ДБФ.CENA = глПолучитьЦену(Прайс, Тип, НаДат); подставлялся в Тип подставлялась из справочника ТипыЦены, позиция у которой код 0006 Подскажите, заранее спасибо. |
|||
1
andrewks
08.09.11
✎
16:38
|
код числовой, или текстовый?
|
|||
2
въезжаю в 1с
08.09.11
✎
16:40
|
Числовой.
а еще как на данном форуме делать ссылку на сообщение на которое отвечаешь? а то искал искал .... :) |
|||
3
andrewks
08.09.11
✎
16:41
|
(2) скобка левая номер поста скобка правая
|
|||
4
Arseny
08.09.11
✎
16:41
|
глПолучитьЦену(Прайс, ЭлементИлиГруппа, НаДат);
|
|||
5
FN
08.09.11
✎
16:41
|
(0) ТипЦены кинуть на форму/константы/другое_место совсем никак?
а то потом кто-нибудь код поменяет и база - упс - и не работает (2) просто номер поста в скобках |
|||
6
Arseny
08.09.11
✎
16:42
|
Не знаю, почему такое странное названи переменной, но там именно и будет найденное значение
|
|||
7
Tatitutu
08.09.11
✎
16:43
|
Тип - не очень хорошее имя для переменной
НайтиПоКоду(6) при коде 0006 - не очень правильно нет проверки , а если не найдет глПолучитьЦену(Прайс.ТекущийЭлемент(), ЭлементИлиГруппа, НаДат); |
|||
8
въезжаю в 1с
08.09.11
✎
16:46
|
(1) пересмотрел, обманул тип Текст *sorry*
(7) ошибка Рассчетная = ТипЦены.Рассчитывается; {Глобальный модуль(1656)}: Значение не представляет агрегатный объект (Рассчитывается) Но так понимаю НайтиПоКоду(6) при типе текст неправильно обозначено |
|||
9
FN
08.09.11
✎
16:51
|
(8) если ты напишешь НайтиПоКоду("0006") - будет работать, но ровно до тех пор, пока кто-нибудь из пользователей не поменяет код. Например на "006".
дурной тон привязываться в коде к данным, которые легко менются пользователем. Сделай константу ЦенаДляВыгрузкиВДБФ с типом Справочник.ТипыЦен а в коде пишешь НужнаяЦена= Константа.ЦенаДляВыгрузкиВДБФ; ... ДБФ.CENA = глПолучитьЦену(Прайс, НужнаяЦена, НаДат); |
|||
10
въезжаю в 1с
08.09.11
✎
16:51
|
Все получилось!!
Спс парни ;) а то зачем то решил изучить 1С на свою голову (5) да это сторонняя обработка :) вряд ли изменится :) |
|||
11
въезжаю в 1с
08.09.11
✎
16:53
|
Можно сделать поиск по наименованию
все равно данная обработка для конкретного покупателя, для которого своя цена. |
|||
12
FN
08.09.11
✎
16:54
|
(10) если стороння, то кинь на форму реквизит ВыбТипЦены, в приоткрытии пропиши
Тип = СоздатьОбъект("Справочник.ТипыЦен"); Если Тип.НайтиПоКоду("006") =1 Тогда ВыбТипЦены=Тип.ТекущийЭлемент(); КонецЕсли; и в самой обработке проверку на ВыбТипЦены.Выбран() (11) По наименованию еще хуже |
|||
13
въезжаю в 1с
08.09.11
✎
17:02
|
(12) понял спасибо
Тут глянул в справочник номенклатуры, там есть каталог корзина, в него скидывают позиции которые не актуальны. Как вообще с ними правильно поступать: ставить пометку на удаления и скидывать в другой каталог? выпиливать их из базы, хотя думаю это есть плохо для отчетов. Как чтоб данные позиции не попадали в прайс? мозгом понимаю что надо изменения в данную строку Если Прайс.ЭтоГруппа () = 0 или Прайс.Родитель.Наименование.НайтиПоНаименованию("Корзина")=0 Тогда |
|||
14
FN
08.09.11
✎
17:07
|
(13) ставить пометку на удаления и скидывать в другой каталог!
В обработках проверка на Прайс.ПометкаУдаления()=0 |
|||
15
въезжаю в 1с
08.09.11
✎
17:09
|
(14) так и думал . . .
как пользователей приучить ставить пометку? поделитесь опытом в области управления людьми ) |
|||
16
FN
08.09.11
✎
17:11
|
(15) не надо их приучать. просто инструкцию по формированию прайса, где описать как и что должно быть в базе заведено.
Пару раз получат из 1С вместо прайса набор букв - сами исправятся. |
|||
17
FN
08.09.11
✎
17:13
|
(16)+ хотя тут возможны варианты. В любом случае за правильное хранение информации должны нести отвественность люди, которые ее вносят.
|
|||
18
въезжаю в 1с
08.09.11
✎
17:15
|
еще раз спасибо всем большое!
|
|||
19
въезжаю в 1с
08.09.11
✎
17:34
|
(14)
Если Прайс.ЭтоГруппа () = 0 ИЛИ Прайс.ПометкаУдаления() <<?>>= 1 Тогда {Q:\IT\WISHI\TRADE\EXTFORMS\PRNFORMS\NCI_FILE_DBF.ERT(27)}: Неправильное использование арифметической или строковой операции как то так |
|||
20
въезжаю в 1с
08.09.11
✎
17:35
|
если =0 тоже самое :)
|
|||
21
въезжаю в 1с
08.09.11
✎
17:39
|
Если (Прайс.ЭтоГруппа () = 0) ИЛИ (Прайс.ПометкаУдаления() = 0) Тогда
но все равно попадают позиции которые помечены на удаление. |
|||
22
Arseny
08.09.11
✎
17:40
|
Может на и надо заменить?
|
|||
23
Arseny
08.09.11
✎
17:43
|
Прошу прощения, чушь сморозил
Если Прайс.ЭтоГруппа()+Прайс.ПометкаУдаления() = 0 Тогда |
|||
24
въезжаю в 1с
08.09.11
✎
17:46
|
(22) Вы правы.
работают оба ваши варианта буду признателен чтоб рассказали в двух словах как тут работают И ИЛИ + |
|||
25
Mikeware
08.09.11
✎
17:48
|
(24) В школу!!!!!!!!!!!!
|
|||
26
въезжаю в 1с
08.09.11
✎
17:55
|
(25) Изречение: Только тот имеет право критиковать, у кого в сердце есть желание помочь (с)
Я изучаю 1С с понедельника :) не успел еще все выучить :) |
|||
27
Mikeware
08.09.11
✎
18:00
|
(26) "и" и "или", а также "+" - это материал средней школы
|
|||
28
въезжаю в 1с
09.09.11
✎
09:50
|
я так понимаю что И это надо чтоб оба условия удовлетворяли
ИЛИ чтоб одно из а в тему + да ХЗ тока если сложить правое и левое значение :) но это из SQL |
|||
29
FN
09.09.11
✎
10:51
|
(28) все правильно
|
|||
30
1Сергей
09.09.11
✎
11:09
|
(19)
Если (Прайс.ЭтоГруппа () = 0) ИЛИ (Прайс.ПометкаУдаления() = 1) Тогда |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |