Имя: Пароль:
1C
 
УНФ Цены контрагентов
0 Mustang
 
15.08.15
09:51
При проведение приходных накладных в регистр "Цены номенклатуры контрагентов" сохраняются цены нормально, но при проведение следующей накладной от этого контрагента, все предыдущие цены удаляются. Подскажите почему это происходит?
1 shuhard_серый
 
15.08.15
09:52
(0)[почему это происходит] код у УНФ такой
2 ДенисЧ
 
15.08.15
09:53
Потому что из писателей типовых - писателям УНФ выдают наиболее жёсткие вещества.
3 Mustang
 
15.08.15
09:54
(1) - Где тогда взять историю цен от этого контрагента?
4 Мимохожий Однако
 
15.08.15
09:56
(0)Следующая накладная того же дня?
(3)Открой регистр сведений и установи фильтр по любой номенклатуре. Увидишь все записи, т.е. историю цен.
5 Mustang
 
15.08.15
09:58
(4) Да, того же. Но номенклатура в накладных разная. А при проведении остается только одна накладная в регистре (последняя проведенная).
6 Мимохожий Однако
 
15.08.15
09:58
Периодичность регистра день, поэтому кто последний проведен, того и тапки.
7 Мимохожий Однако
 
15.08.15
09:59
(5)Полагаю, что конфигурация не типовая уже.
8 Mustang
 
15.08.15
10:00
(7) Типовая. Вообще без изменений. 1.5.4.23
9 Mustang
 
15.08.15
10:00
(7) Согласен. Но в разрезе номенклатуры+характеристики. А тут без номенклатуры.
10 Мимохожий Однако
 
15.08.15
10:02
(9)Расшифруй...По чайной ложке будешь выдавать информацию?
11 Мимохожий Однако
 
15.08.15
10:02
(8) и (9) противоречат друг другу.
12 Mustang
 
15.08.15
10:04
вторая (7)-(6)

Есть две накладные в одну дату. В одной накладной есть позиция "Сталь", в другой накладной такой позиции нет. Провожу первую накладную, в регистре появляется запись "Сталь" и цена, провожу вторую, цены второй накладной сохраняются, а цены первой накладной удаляются.
13 ДенисЧ
 
15.08.15
10:06
Ты программист или куда?
открой код и посмотри
14 Мимохожий Однако
 
15.08.15
10:07
Так типовая конфигурация или не типовая? ))
15 Мимохожий Однако
 
15.08.15
10:08
Где-то ты врёшь или заблуждаешься. ИМХО.
16 Mustang
 
15.08.15
10:09
(14) Типовая. Без изменений.
(15) Не вру, возможно заблуждаюсь. Но прежде чем сюда написать десять раз всё пересмотрел.
17 Мимохожий Однако
 
15.08.15
10:10
// Делает записи в регистр сведений Цены номенклатуры контрагентов.
//
Процедура ЗарегистрироватьЦеныПоставщика(ДокументСсылкаПриходнаяНакладная) Экспорт

    Если ДокументСсылкаПриходнаяНакладная.Проведен Тогда
        УдалитьЦеныПоставщика(ДокументСсылкаПриходнаяНакладная);
    КонецЕсли;
    
    Если НЕ ЗначениеЗаполнено(ДокументСсылкаПриходнаяНакладная.ВидЦенКонтрагента) Тогда
        Возврат;
    КонецЕсли;
...
Видишь? Удаление только по одной накладной
18 Mustang
 
15.08.15
10:15
(17) ОК. Но ниже идет

    НаборЗаписей = РегистрыСведений.ЦеныНоменклатурыКонтрагентов.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Период.Установить(ДокументСсылкаПриходнаяНакладная.Дата);
    НаборЗаписей.Отбор.ВидЦенКонтрагента.Установить(ДокументСсылкаПриходнаяНакладная.ВидЦенКонтрагента);
    Для каждого СтрокаТаблицы Из ТаблицаЗаписей Цикл
        НоваяЗапись = НаборЗаписей.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяЗапись, СтрокаТаблицы);
    КонецЦикла;
    НаборЗаписей.Записать();
    
КонецПроцедуры // ЗарегистрироватьЦеныПоставщика()
19 Mustang
 
15.08.15
10:15
Разве там не должен быть фильтр по номенклатуре?
20 Мимохожий Однако
 
15.08.15
10:23
фильтр по номенклатуре не нужен. Очищается весь набор, у которого отбор Период и Вид цен. А контроль записи идёт на уровни записи регистра и наличие номенклатуры с тем же периодом должно по идее выругаться при проведении.
21 Mustang
 
15.08.15
10:26
(20) У Цен номенклатуры поставщиков нет привязки к регистратору. У него есть реквизит "ДокументРегистратор". Поэтому очищается весь период с установленным видом цен.
22 Мимохожий Однако
 
15.08.15
10:29
Тогда есть смысл делать от этого поставщика только одну накладную или изменить алгоритм.
23 Мимохожий Однако
 
15.08.15
10:33
Или делать накладные на разные дни ))
24 Mustang
 
15.08.15
10:40
(23) В чем логика такой схему у УНФ?
Программист всегда исправляет последнюю ошибку.