Имя: Пароль:
1C
1С v8
Старые и новые цены номенклатуры
0 Sugar90
 
22.08.13
13:52
Добрый день, знатоки!!
С 1с не очень дружу, но запрягли немного подправить базу.
Так вот при изменении цен в номенклатуре, в колонке старая цена у некоторых товаров есть старая цена у некоторых нет, в других если изменил цену, всё сохранил, но старая цена не изменяется((
Помогите пожалуйста! =)
1 Starhan
 
22.08.13
13:53
лучше б тебя запрягли обкатать новенький бентли... мир не справедлив :(
2 Starhan
 
22.08.13
13:54
Код обработчика изменения цены в студию
3 Ненавижу 1С
 
гуру
22.08.13
13:55
ты думаешь твоё "1с" это один единственный продукт? подробности пиши
4 Sugar90
 
22.08.13
13:56
Даа, с бентли было не плохо =)
Очень стыдно спрашивать, а где его взять(
5 MSII
 
22.08.13
13:56
(0) Скажи заказчику, что ты не только готов немного подправить базу, но и при случае аппендицит ему вырезать, если понадобится.
6 Starhan
 
22.08.13
13:57
ладно давай издалека.
Конфигурация? Доработанная? Документ?
7 Sugar90
 
22.08.13
13:58
///////////////////////////////////////////////////////////////////////////////
// ПРОГРАММНЫЙ ИНТЕРФЕЙС

// Процедура ЗаполнитьНаборыЗначенийДоступа заполняет наборы значений доступа
// по объекту в таблице с полями:
//  - НомерНабора     Число                                     (необязательно, если набор один),
//  - ВидДоступа      ПланВидовХарактеристикСсылка.ВидыДоступа, (обязательно),
//  - ЗначениеДоступа Неопределено, СправочникСсылка или др.    (обязательно),
//  - Чтение          Булево (необязательно, если набор для всех прав; устанавливается для одной строки набора),
//  - Добавление      Булево (необязательно, если набор для всех прав; устанавливается для одной строки набора),
//  - Изменение       Булево (необязательно, если набор для всех прав; устанавливается для одной строки набора),
//  - Удаление        Булево (необязательно, если набор для всех прав; устанавливается для одной строки набора).
//
//  Вызывается из процедуры УправлениеДоступом.ЗаписатьНаборыЗначенийДоступа(),
// если объект зарегистрирован в "ПодпискаНаСобытие.ЗаписатьНаборыЗначенийДоступа" и
// из таких же процедур объектов, у которых наборы значений доступа зависят от наборов этого
// объекта (в этом случае объект зарегистрирован в "ПодпискаНаСобытие.ЗаписатьЗависимыеНаборыЗначенийДоступа").
//
// Параметры:
//  Таблица      - ТабличнаяЧасть,
//                 РегистрСведенийНаборЗаписей.НаборыЗначенийДоступа,
//                 ТаблицаЗначений, возвращаемая УправлениеДоступом.ТаблицаНаборыЗначенийДоступа().
//
Процедура ЗаполнитьНаборыЗначенийДоступа(Таблица) Экспорт
    
    // Логика ограничения следующая:
    // объект доступен, если доступны все виды цен
    //
    
    Для Каждого СтрокаТаблицы Из ВидыЦен Цикл
        
        Если Не ЗначениеЗаполнено(СтрокаТаблицы.ВидЦены) Тогда
            Продолжить;
        КонецЕсли;
        
        СтрокаТаб = Таблица.Добавить();
        СтрокаТаб.ВидДоступа      = ПланыВидовХарактеристик.ВидыДоступа.ВидыЦен;
        СтрокаТаб.ЗначениеДоступа = СтрокаТаблицы.ВидЦены;
    КонецЦикла;
    
    Если Таблица.Количество() = 0 Тогда
    
        СтрокаТаб = Таблица.Добавить();
        СтрокаТаб.Чтение          = Истина;
        СтрокаТаб.Добавление      = Истина;
        СтрокаТаб.Изменение       = Истина;
        СтрокаТаб.ВидДоступа      = ПланыВидовХарактеристик.ВидыДоступа.ВидыЦен;
        СтрокаТаб.ЗначениеДоступа = Справочники.ВидыЦен.ПустаяСсылка();
        
    КонецЕсли;
    
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

    Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;

    ДополнительныеСвойства.Вставить("ЭтоНовый",    ЭтоНовый());
    ДополнительныеСвойства.Вставить("РежимЗаписи", РежимЗаписи);
    
    Ценообразование.ИзменитьПризнакСогласованностиДокумента(ЭтотОбъект, РежимЗаписи);
    
КонецПроцедуры

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    
    Если (НЕ Пользователи.РолиДоступны("ДобавлениеИзменениеЦенНоменклатуры")) И (НЕ Пользователи.РолиДоступны("ПолныеПрава")) Тогда
                
        ТекстОшибки = НСтр("ru='Нет прав на установку цен номенклатуры'");
        
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
            ТекстОшибки,
            ЭтотОбъект,
            ,
            ,
            Отказ);
            
    КонецЕсли;
    
КонецПроцедуры

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    
    ИнициализироватьДокумент();
    ЦенообразованиеПереопределяемый.ОбработкаЗаполненияУстановкиЦенНоменклатуры(ЭтотОбъект, ДанныеЗаполнения, СтандартнаяОбработка);
    
КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    Ценообразование.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства);

    Документы.УстановкаЦенНоменклатуры.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);

    Ценообразование.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);

    Ценообразование.ОтразитьЦеныНоменклатуры(ДополнительныеСвойства, Движения, Отказ);

    Ценообразование.ЗаписатьНаборыЗаписей(ЭтотОбъект);

КонецПроцедуры

Процедура ОбработкаУдаленияПроведения(Отказ)

    Ценообразование.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства);

    Ценообразование.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);

    Ценообразование.ЗаписатьНаборыЗаписей(ЭтотОбъект);

КонецПроцедуры

Процедура ПриКопировании(ОбъектКопирования)
    
    ИнициализироватьДокумент();
    Согласован = Ложь;
    
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

///////////////////////////////////////////////////////////////////////////////
// Инициализация и заполнение

// Инициализирует установку цен номенклатуры.
//
Процедура ИнициализироватьДокумент()

    Ответственный = Пользователи.ТекущийПользователь();

КонецПроцедуры
8 Sugar90
 
22.08.13
13:58
МОжет это(
9 Sugar90
 
22.08.13
14:00
конфигурация 2.0.8.8
10 Sugar90
 
22.08.13
14:02
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс