Имя: Пароль:
1C
 
Как записать в РС две одинаковые строки в одной транзакции
0 Хрустальчик
 
05.06.25
10:02
Здравствуйте, подскажите, пожалуйста, как записать в РС две одинаковые строки в одной транзакции.

В Заказе поставщику надо указывать номенклатуру, но иногда
менеджер может указать две идентичные строки (измерения одинаковые), и тогда возникает ошибка уникальности записи в РС.

Как обойти такую ситуацию?

Заранее спасибо.
1 Волшебник
 
05.06.25
10:05
Добавьте измерение НомерСтроки
2 MiniMuk
 
05.06.25
10:06
Добавить измерение номер строки например.
Разобраться почему их нельзя схлопунуть.
Запретить менеджеру заводить две одинаковых строки
3 butterbean
 
05.06.25
10:08
(0) если регистр проектировал не ты, то нужно 10 раз подумать прежде чем добавлять в него свои измерения
4 Волшебник
 
05.06.25
10:08
(0) Замените регистр сведений на регистр накопления
5 Chai Nic
 
05.06.25
10:09
Если вам надо добавлять несколько строк с совпадающими значениями измерений, то может вам регистр накопления нужен?
6 Мультук
 
гуру
05.06.25
10:12
(0)

Почему нельзя сразу написать название и версию конфигурации и имя регистра ?

Или написать -- регистр самописный, измерения такие-то, ресурсы такие-то, нужен для  того-то?

Чтобы можно было  посылать или давать совет чётко  и аргументированно.
7 MiniMuk
 
05.06.25
10:18
(6) Так не интересно, мы сейчас угадаем потом будет приз за правильный ответ.
8 Kongo2019
 
05.06.25
10:35
(6) Потому что это тестовое задание. Его стали выдавать на последних собесах.
9 Ненавижу 1С
 
гуру
05.06.25
10:47
(0) даже в разных транзакциях не получится
10 Ненавижу 1С
 
гуру
05.06.25
10:48
(0) что за регистр сведений такой?
11 Хрустальчик
 
05.06.25
10:48
(6) Конфигурация ERP 2.4
РСЦеныНоменклатурыПоставщика - типовой
12 El_Duke
 
гуру
05.06.25
10:50
(0) "но иногда менеджер может указать две идентичные строки (измерения одинаковые), и тогда возникает ошибка уникальности записи в РС"

Таки в чем проблема ?
Надавайте менеджеру линейкой по рукам чтоб больше так не делал
13 Хрустальчик
 
05.06.25
10:51
(4) Ну вот, видимо, придется. Только как потом брать "срез последних" из него, учитывая, что могут и будущей датой провести док
14 Волшебник
 
05.06.25
10:52
(11) пишите только последние цены по каждой номенклатуре/характеристике
15 Волшебник
 
05.06.25
10:53
(13) для цен правильнее иметь регистр сведений.
Для регистра накопления никаких срезов последних не существует.
16 Хрустальчик
 
05.06.25
10:53
(12) Просто в документе есть колонка "Назначение". Туда ставят ЗаказКлиента. То есть один товар под один заказ клиента, другой под другой заказ клиента
17 Хрустальчик
 
05.06.25
11:03
(14) Не совсем понял, что Вы имеете в виду
18 butterbean
 
05.06.25
11:02
(11) зачем строки с одинаковой ценой одного товара в одном документе? скажи менеджеру, что это разные товары
19 Мультук
 
гуру
05.06.25
11:02
(11)

В ЕРП  2.5  сделано вот так (см рис)

Про "По позиции регистратора" читать тут
https://its.1c.ru/db/metod8dev/content/2588/hdoc
20 Волшебник
 
05.06.25
11:03
(17) берите последнюю строчку из документа
21 Хрустальчик
 
05.06.25
11:19
(20) ну вот я тоже думал так сделать, только не понимаю, как технически реализовать
22 Ненавижу 1С
 
гуру
05.06.25
11:21
что-то вы меняли в коде, в типовом все сворачивается и берется цена как Сумма/Количество
23 Волшебник
 
05.06.25
11:21
(21) Запрос типа:
ВЫБРАТЬ Номенклатура, МАКСИМУМ(ТЧ.Цена)
ИЗ Документ.ИмяДок.Номенклатура КАК ТЧ
ГДЕ ТЧ.Ссылка = &Док
СГРУППИРОВАТЬ ПО Номенклатура
24 PLUT
 
гуру
05.06.25
11:26
(11) какое нафиг ERP2.4? (крайний рылиз от 20.04.22)

2025 год шагает по стране
25 Kigo_Kigo
 
05.06.25
12:15
(16) Тогда надо делать свой РС с измерением ЗаказКлиента, если в одном доке 1 товар с разными ценами по разным заказам
26 Хрустальчик
 
05.06.25
13:16
(25) Да, но это назначение очень редко используется
27 X Leshiy
 
05.06.25
13:20
(26) Так что непонятно? Добавь измерение, которое сделает не уникальные записи уникальными. Какое, выбирай сам.

Детский сад.
28 X Leshiy
 
05.06.25
13:23
УИД регистратора +  номер строки, например.
29 Волшебник
 
05.06.25
13:23
Для данной задачи не надо ломать регистр. Нужно регистрировать одну цену поставщика.
30 X Leshiy
 
05.06.25
13:25
(29) Ну тут уж хрен его знает, почему задача именно такая.
31 El_Duke
 
гуру
05.06.25
21:17
(30) Значит надо заменить хрена который ставит задачу. Убрать того кто не знает и поставить того кто знает
32 MiniMuk
 
06.06.25
04:12
Если сегодня на колбасу поставить 2 ценника  по 100 рублей и по 200 по какой будем продавать завтра?
33 maxab72
 
06.06.25
08:05
(32) по средней.
среднее гармоническое: 2 / (1/100 + 1/200) = 133,33
среднее геометрическое: (100 х 200)-2 = 141,42
среднее арифметическое: (100 + 200) / 2 = 150,00
среднее квадратичное: ((1002 + 2002)/2)-2 = 158,11
среднее контргармоническое: (1002 + 2002) / (100 + 200) = 166,67
34 Мультук
 
гуру
06.06.25
08:15
(33)

Но цена будет 320=
Кого мы пытаемся обмануть ? :-)
35 maxab72
 
06.06.25
08:43
(34)320,00 - это среднее жлобское от 100 и 200. (100 + 106,67% + 200 + 106,67%) / 2.
36 Fish
 
гуру
06.06.25
09:03
(35) Это 310 получится.
37 maxab72
 
06.06.25
09:22
(36) это у тебя калькулятор даст 310, а у жлоба будет 320.
как там было: "Сорок и сорок - рупь сорок. Спички не брали - два сорок. Дали десять - сдача рупь десять!"
38 Fish
 
гуру
06.06.25
11:04
(37) Да я в курсе: "Купил за 100, продал за 200. Вот на эти 2% и живу" :)))
39 Eiffil123
 
06.06.25
11:58
(32) по 300
40 Хрустальчик
 
06.06.25
12:19
(23) Сделал так, пишу максимальную цену
41 Хрустальчик
 
06.06.25
12:19
Разве что я сделал "Выбрать РАЗЛИЧНЫЕ" на случай если цены будут одинаковыми
42 Eiffil123
 
06.06.25
12:28
(41) излишне. даже если цены одинаковые, агрегатная функция "максимум" выберет одну