Имя: Пароль:
1C
1C 7.7
v7: Привязка номенклатуры к контрагенту в ТиС77
0 АнКат
 
25.03.20
21:56
Возможно ли в Тис установить привязку одной конкретной позиции номенклатуры к одному конкретному покупателю контрагенту. Типа документ реализация: если покупатель Иванов тогда тип цен 1 и если покупатель Иванов то цена номенклатуры товара №1 например 2 руб. Вопрос возник потому что из всего товара на одну позицию делают скидку и ее приходится вносить вручную. бывает что девушки забывают а начальник ругается.
1 Bigbro
 
25.03.20
21:59
можно написать все что угодно. но без программирования навряд ли
2 aka AMIGO
 
25.03.20
22:00
Что-то я не увидел штатного способа привязки. Видимо, отсутствует.
Можно вопрос решить созданием справочника такой связи.
Или документа с реквизитом Контрагент и табличной частью. - Я б так сделал.
3 aka AMIGO
 
25.03.20
22:01
(2) + реквизит Договор.. тогда привязка будет глубже
4 АнКат
 
25.03.20
22:04
Хорошо, попробую.
5 aka AMIGO
 
25.03.20
22:04
Есть и еще вариант - модификация справочника Номенклатура, присоединив в качестве ТЧ Таблицу значений. Но это сложнее, кмк..
6 aka AMIGO
 
25.03.20
22:06
+5 А в ТЗ указать контрагентов с их скидками.
7 АнКат
 
25.03.20
22:07
А в 8 версии есть нечто подобное? Может стоит перейти на 8
8 aka AMIGO
 
25.03.20
22:08
(7) Сомнительно, но только я её знаю гораааздо хуже )
9 АнКат
 
25.03.20
22:08
А со справочниками попробую поработать
10 АнКат
 
25.03.20
22:09
(8) Спасибо за советы
11 aka AMIGO
 
25.03.20
22:09
(9) В добрый путь, успеха тебе )
12 Bigbro
 
25.03.20
22:11
(9) пробуй, это одна из простых, но потенциально перспективная задача.
фактически каждая фирма имеющая свои подходы к ценообразованию реализует рано или поздно какой то скидочный механизм.
иногда эти механизмы разрастаются до гигантских размеров, но зато реализуют любые капризы и пожелания. )
13 RoRu
 
25.03.20
22:16
(0) а если покупатель Иванов сегодня этот товар скидочный не возьмет или кончился этот товар, а есть его аналог?
14 aka AMIGO
 
25.03.20
22:17
Ну, так и аналог поместить в ту ТЗ в номенклатуре
15 Кодер
 
25.03.20
22:17
Что будете делать при добавлении 100 новых товаров?
16 RoRu
 
25.03.20
22:19
(14) а если всё же ему сегодня не надо этот товар ? делать скидку правильнее  размазывая на всю накладную, имхо
17 aka AMIGO
 
25.03.20
22:19
(15) ТЗ будет пуста.. ничего не делать, имхо..
т.к. скидка назначается в доках Реализации, попутно заполнять ТЗ
18 Злопчинский
 
25.03.20
22:20
какую-то хрень насоветовали, пробежался правда по диагонали. по идее все штатно можно сделать. сейчас подробнее обозрю
19 Злопчинский
 
25.03.20
22:21
"привязку одной конкретной позиции номенклатуры к одному конкретному покупателю контрагенту."
- возможно.
20 aka AMIGO
 
25.03.20
22:22
(16) Я не знаю всю целиком поставленную задачу, и политику фирмы при реализации, как она обращается со скидками, и , что немаловажно, чего хотят бухи/менеджеры при работе с программой :)

(18) ну, извини, пожалуйста, в твою епархию влез :)
Ухожу :)
21 Злопчинский
 
25.03.20
22:23
"если покупатель Иванов тогда тип цен 1 и если покупатель Иванов то цена номенклатуры товара №1 например 2 руб."
- автор дятел 1сный, булеву логику что ли не проходил?
22 Злопчинский
 
25.03.20
22:23
(20) да ладно, две головы лучше... я правда с физо, вся кровь в мышцы отлила, думать тяжело ;-)
23 Злопчинский
 
25.03.20
22:24
Ключевое "что из всего товара на одну позицию делают скидку" - от этого и будем плясать
24 RoRu
 
25.03.20
22:30
(23) начни с "бывает что девушки забывают а начальник ругается"
предлагаю ублажать начальника, сначала потренироваться на программистах
25 Злопчинский
 
25.03.20
22:32
Полностью автоматом штатно не получится.
Но можно свести к решаемой штатно задаче когда ценой будет "заведовать" тот, кто устанавливает ценовую политику (коммерческий дир, например) - тогда манагер при оформлении реализации ничего ручками ставить не будет, все будет штатно по умолчанию.

Комдир - должен будет правильно "установить" продажную цену для этого контрагента.
Автор - дятел, т.к. не указал каким образом формируются продажные цены ну, как минимум, для таких "скидочных" клиентов.
Тип цены (указать в договоре контрагента) - какой используется? базовый? рассчитывается и хранится? динамический(рассчитывается) - если рассчитывается - то на основании чего?
26 Злопчинский
 
25.03.20
22:44
если делать "красиво" и по-быстрому, максимально используя штатное - то юзаем штатный Спр.Аналоги (подчинен Спр.Номенклатура) - в нем есть привязка к конкретному клиенту (через владельца каталога аналогов) и можно указать размер допскидки в поле "Идентификатор в каталоге" или в "наименование аналога". Далее в ГМ в глПересчетТаблЧасти() модифицируем код применения скидки, дополняя доп.скидкой - и как бы всё.
27 Злопчинский
 
25.03.20
22:48
По варианту где есть ручная работа - то просто заводим новый типЦен, например, ПродажныеЦеныДляВаси - определяем что тип цен = "рассчитывается и хранится" или = "базовый" и на нужные номенклатуры устанавливаем (по регламенту! - тут я хз как у вас продажные цены вычисляются) цену на "2%" ниже чем на все остальные. если продажные цены динамические на основе цен колторые нельзя занизить на 2% - то не получится.
28 Злопчинский
 
25.03.20
22:50
29 HawkEye
 
25.03.20
23:48
(0) если я правильно понял твой поток сознания, то без программирования - нельзя....
30 Холст
 
26.03.20
00:04
Каждому покупателю можно без доработок ТиС 7.7 присваивать свой тип цены, а цены по каждому типу цен соответственно назначать каждой номенклатуре. По-моему все штатно делается
31 Cthulhu
 
26.03.20
00:12
чоэта штатно низя, чозабредвоще. штатно решалось и не раз.
тип цены продажи указывается и в карточке контрагента и в договоре
нужный тип цены закрепить(-плять) за контрагентом вовремя и нужным образом - пересчет этого типа цен вовремя - и все.
32 Злопчинский
 
26.03.20
01:10
(30) тип цен продажи = Динамический, Оптовая = Закупочная(базовая)+50%
сделай штатно без ручного исправления в документе. и закупочную - менять нельзя.
.
можно, как я писал/думал выше - сделать ЗакупочнаяБуф(рассчитывается и хранится) = Закупочная(базовая) и уже потом в ЗакупонаяБуф на нужную номенклатуру ВРУЧНУЮ изменить на 2%, а Оптовая = ЗакупочнаяБуф+50%.
.
Чтобы менять не совсем вручную - на нужные номенклатуры можно установить свойство "Допскидка, =2%" и отбирать в обработке "Формирование цен" нужную номенклатуру по этому свойству.
.
но это имхо сильно замудрено, проще через аналоги и исправлением 1-3 строк в модуле расчета скидок.
33 Злопчинский
 
26.03.20
01:11
(31) да, но только расчет для всех номенклатур - одинаковый. а надо - выборочный...
см.выше
34 Злопчинский
 
26.03.20
01:33
можно еще поиграться единицами измерений.
например товар меряется в шт.
закупочная = 100.
Продажная = +100% к закупочной ЗА ЕДИНИЦУ(например, ящ) с КФ=1.02
тогда на товар устанавливаем ПРОДАЖНУЮ цену за ЯЩ., цена = 204
в договоре клиенты тип цены = Продажная.
при подборе товара заполнится цена продажи = 204 за ЯЩ.
и тут все равно придется РУЧКАМИ менять ящ на шт (цена продажи станет = 200).
а так как ручками = ВСЕ РАВНО ЗАБУДУТ.
.
так что проще всего через спр.Аналоги и пару операторов в процедуру пересчета.
35 Kigo_Kigo
 
26.03.20
07:40
Штатно нельзя, точка, аналоги- возможно, но геммора больше и это надо учесть что аналоги не используются, как я вижу, создать подчерненный справочник номенклатуре, и реквизитами , контрагент и скидка
При выборе/подборе(пересчете таб части),
СправочникСкидкиКонтрагента = СоздатьОбъект("Справочник.СкидкиКонтрагента");
СправочникСкидкиКонтрагента.ИспользоватьВладельца(Номенклатура.ТекущийЭлемент());
СправочникСкидкиКонтрагента.ВыбратьЭлементы();
Пока СправочникСкидкиКонтрагента.ПолучитьЭлемент() = 1 Цикл
Если контрагент = СправочникСкидкиКонтрагента.контрагент тогда
сумма =цена*количество - цена*количество/100*Скидка;
скидка = цена*количество/100*Скидка;
КонецЕсли;
КонецЦикла;
36 Kigo_Kigo
 
26.03.20
07:42
Если хитрые скидки, можно использовать скидку как типцены, но с расчетом скидки придется повозится
37 АнКат
 
26.03.20
08:00
Всем спасибо за советы. Буду пробовать.
38 HawkEye
 
26.03.20
08:55
(30) тип цен привязан к Договогру, а не к контрагенту, это раз.
нельзя применить ко всей номенклатуре один тип цен, а к одной, избранной - другой, это два.
39 Злопчинский
 
26.03.20
12:04
(35) "и это надо учесть что аналоги не используются, как я вижу, создать подчерненный справочник номенклатуре, и реквизитами , контрагент и скидка"
- зачем? если это все штатно через Спр.Аналоги можно сделать?!
40 Злопчинский
 
26.03.20
12:05
(35) приведенный код - практически такой же по сути и при использовании Спр.Аналоги
41 Kigo_Kigo
 
26.03.20
12:08
(40) Аналоги могут быть задействованы, не сейчас, так позже
42 Злопчинский
 
26.03.20
12:19
(41) Могут. а могут и не могут.
тем более никто не мешает завести два каталога аналогов на одного и того же контрагента. Один - для "внутренних" целей оперирования со скидками, второй - для целей "могут быть задействованы".
.
и проще в Спр.Каталогов ввести допфлажок типа "не использовать для "могутбытьзадействованы"
.
43 Злопчинский
 
26.03.20
12:24
тут уже разраб решает что ему удобнее - городить допобъекты метаданных или использовать существующее.
.\с учетиом того что ТС явно не знал про спр.аналоги - использование у ТС спр.аналоги для каких-то иных целей - маловероятно ;-)
44 Kigo_Kigo
 
26.03.20
12:34
(43) У меня тоже многого чего не знали люди проработав около 15 лет, узнали меня, узнали много нового, что значительно облегчило им жизнь, и это у тебя городить, у меня добавить объект и использовать его, ничего страшного в этом собственно нет, а вот у тебя городить так городить...
45 Злопчинский
 
26.03.20
13:12
(44) да не вопрос.
.
у меня даже объект не надо добавлять. и городить ничего не надо.
код практически тот же что у тебя получается. то бишь - штатного используется больше. объем работ меньше ;-)
.
а как делать - нехай ТС решает. на вкус и цвет каждый сам выбирает. а так как у ТС явно думать и исследовать лень - то выберет скорее всего первое что в бошку стукнет - аналог упоминавшихся таблиц. и сделает примерно как ты написал.
46 Злопчинский
 
26.03.20
13:13
(44) а ты исправил ошибку в партионном учете, которая приводит к пересорту? ;-)
47 Kigo_Kigo
 
26.03.20
13:29
(46) Ты меня с кем то спутал, я такой вопрос не задавал :)
48 Злопчинский
 
26.03.20
20:16
(47) ну нехай это будет на твоей совести.. ;-)
49 Arbuz
 
27.03.20
14:14
(48) уважаемый Злоп, а не могли бы Вы конкретизировать за вышеобозначеннную ошибку? конкретно я исправил у себя несколько ошибок по партионному учёту, всех не упомню, надо логи смотреть, но точно исправлял пересорт по фирмам при отключенном контроле отрицательных остатков и учёт партий возвратов.
50 Злопчинский
 
27.03.20
14:56
"пересорт по фирмам при отключенном контроле отрицательных остатков" - с таким не сталкивался/не знаю что это.
.
то что я нашел - она очень редкая и тоже связана с возвратами.
.
включена партионка.
приходуешь товар с двумя партиями, свойство партий Цвет=Красный и Цвет=Синий, итого 2шт.
реализуешь эти 2 шт. 1строка например красный, 2 строка синий
потом делаешь возврат синей партии. смотришь что получилось.
51 Злопчинский
 
27.03.20
14:56
(49) а у тебя какой пересорт и как получался?
52 Злопчинский
 
27.03.20
14:57
"пересорт по фирмам при отключенном контроле отрицательных остатков"
- думаю, что примерно представляю (но не факт, лучше поясни).
53 Arbuz
 
13.04.20
13:32
(52) в глобальнике

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

смысл в том, что если контроль отключён и остатков по своей фирме недостаточно, то списывает с другой. фирма обнуляется, а количество нет :)
54 mishaPH
 
модератор
13.04.20
14:28
(0) к договору привязывается тип цен. Делаешь тип цен Иванов. в доках при подстановке и поиске цены выбираешь цены на товар типа цен по договору
55 mishaPH
 
модератор
13.04.20
14:28
помлему это штатная мулька тиса
56 Cthulhu
 
13.04.20
14:37
(33): а если внимательнее прочитать?
создается тип цены, и:
1) закрепляется в качестве основной цены продажи контрагента
2) опционально - указывается в договоре
3) еще раз. по слогам: вовремя и нужным образом - пересчет (для всех товаров, которые по этой цене продаются)! - как надо, да, хоть "расчет для всех номенклатур - одинаковый", хоть "выборочный".
еще раз. типовым образом. решалось и не раз. на практике. обработки (внешние) заполнения цен - выморочные как надо заказчику, хоть с эвристиками, расчет-сравнение-протокол-установка. и заказчик полощет себе мозги сам. ну и если придумает еще чего - за ваши деньги - любой каприз - дорисовываем внешнюю обработку.
57 Злопчинский
 
13.04.20
14:44
(53) да
58 Злопчинский
 
13.04.20
14:48
(56) по п.3. да, типцены = "хранится" или "рассчитывается и хранится"
.
да, ничто не мешает пересчитать цены, которые хранимые, по любому нужному алгоритму. - но это придется делать дополнительные телодвижения, причем каждый раз, когда изменится "базовая" цена. Пересчет придется делать штатными иснтрументами - что не сильно удобно. или писать свой пересчет, что хоть и штатно, но требует привлечения прога. тут возражений нет.
.
речь шла о том. чтобы в рамках одной базовой цены производную цену считать по разному для разных номенклатур штатно, без привлечнения программиста. и всего.
59 Злопчинский
 
13.04.20
15:18
(53) тут еще надо посмотреть, правильно ли то, что sn предлагаешь.
если "не контролировать" то - не контролируется ПО ВСЕМ ФИРМАМ.

если глянем то "фирма для остатковтмц" = СЗ "все фирмы".
.
если сделать так как ты предлагаешь то в списании партий - мы вывалимся за цикл перебора остатков и получим
        Если ОстПогКоличество>0 Тогда
            // значит мы расходуем Номенклатуру
            // а Партии, которые надо погашать исчерпаны,
            // значит надо выдать сообщение об этом инциденте
            // и записать текущий документ как Партию с отриц. знаком

- хотя партии, которые надо погашать НЕ ИСЧЕРПАНЫ.
если сделать так как ты предлагаешь - то получим "не распределилось по партиям".
и общий итог по партиям будет:

до проведения:
Ф1 = 0 (остатков партий на Ф1 нет).
Ф2,партияФ2 = 20.
-----------
итого куча = 20

списываем 20 по Ф1, получим
Вариант1
Ф1, пустаяпартия = -20
Ф2, партия Ф2 = 20.
-------------------
итого куча = 0

Вариант2 как в типовой
Ф1, партия Ф2 = -20
Ф2, партия Ф2 = 20.
-------------------
итого куча = 0

Какой вариант "лучше", 1 или 2..?

в условиях если "не контролировать" - то вариант2 как в типовой - как по мне так предпочтительнее, хотя бы потому что а) на остатках = 0, и на партиях (без разворота по аналитике фирм) = 0 и б) !!!_реально-то вполне конкретная партия "партияФ2" ушла_!!... - что и зафиксировано в варинате типовой. а то что получился "пересорт" - в каком разрезе "пересорт"? в рамках "не контролировать" - "фирма для остатков ТМЦ" = весь список фирм. нет пересорта. ибо по партиям четко схлопнулось. по аналитике "фирма=всефирмы" - тоже четко все схлопнулось.

а в твоем варианте
на остатках = 0, и при этом на двух партиях (без разворота по аналитике фирм) висят незакрытые остатки

пересорта не может быть когда "не контролировать" или "по компании" или "по упр аналитике". Пересорт может быть когда контроль остатков = строго только "по фирме".

Кому-то вариант1 правильнее, кому-то вариант2. Мне - (пока) правильнее вариант2. бо партия реально со склада ушла и это видно по движению партий.
60 Arbuz
 
14.04.20
13:02
(59) да, действительно, я как-то не подумал, что типовая логика тоже вариант. но в моём случае на каждой фирме свои по-сути партии и если одна фирма про...ла партионку, то списывать партии с другой - это подстава для этой другой. т.е. у мну тот самый вариант когда в таком случае надо выдать "не распределилось по партиям" и автоматический подзатыльник с разбирательствами без остановки учёта по остальным вещам. тем более в "настройках учёта" при выборе "не контролировать" русским языком написано: "Отрицательные остатки будут записываеться за указанной в документе фирмой." т.е. мы остатки минусуем за конкретной фирмой, а партии хз за какой? ну-ну, на другом юрике, на другом складе, на другой планете. что характерно - так прям и написано - "записываеться"! :D
но, повторю, я понял, типовой вариант учёта партий мимо разреза фирм как в БПУ. Что, опять же, характерно - вручную выбрать партию другой фирмы для списания не получится.
т.е. по-хорошему эту ситуацию надо обрабатывать специально, для вариантов 1 и 2.
61 Злопчинский
 
14.04.20
14:10
(60) тем более в "настройках учёта" при выборе "не контролировать" русским языком написано: "Отрицательные остатки будут записываеться за указанной в документе фирмой." т.е. мы остатки минусуем за конкретной фирмой, а партии хз за какой?
- угу!
62 Злопчинский
 
14.04.20
14:12
(60) "но в моём случае на каждой фирме свои по-сути партии и если одна фирма про...ла партионку, то списывать партии с другой - это подстава для этой другой. т.е. у мну тот самый вариант когда в таком случае надо выдать "не распределилось по партиям" и автоматический подзатыльник с разбирательствами без остановки учёта по остальным вещам."
= вариант учета "по фирме".
.
или ты хочешь чтобы ОСТАТКИ БЫЛИ ОБЩИЕ 9или не контролировались), а партии - не общие/контролировались? - имхо редкосная херня. Либо контролируем и следим. Либо не контролируем и не следим по всем. Или объединяем по "группам учета" с сипользованием "упр.аналитики"
63 Злопчинский
 
14.04.20
14:14
(60) с учетом "хитровыипнутых" вариантов учета типа как тебе надо )насколько я понял) - слава богу - это православные клюшки, а не богомерзкий снеговик. Здесь в клюшках подпилить все быстро можно - (твой же рецепт по твоему так называемому "пересорту") - ка кнадо. Подпилил. и Пошел дальше считаться учет.
64 Злопчинский
 
14.04.20
15:50
(60) тебе демо с "пересортом" партйи при оформлении ВозвратОтПокупателя" - ннннада??!
65 Arbuz
 
15.04.20
11:19
(64) да, интересно
66 Злопчинский
 
15.04.20
13:11
(65) мыло на [email protected] дай
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой