Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Установка флага покрытие
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
sia_1980
Доброго времени суток.
есть задача в список выбора документов Акт разногласия и Возврат от покупателя вставить колонку с флагом покрытие.
есть обработка которая ставит єтот флаг для Реализации.

по аналоги в список выбора Возврат от покупателя была добавлена колонка Покрытие


в обработку добавлены ссылки на эти документы
 Перем мИзменениеСтатусаДоступно;

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    ОчиститьСообщения();
    
    // Прописать в регистр владельца документов
    НаборЗаписей = РегистрыСведений.ВладельцыДокументов.СоздатьНаборЗаписей();
    Период = ТекущаяДата();
    Для каждого Документ Из СканированныеДокументы Цикл                
        Если НЕ Документ.Обработать Тогда        
            Продолжить;        
        КонецЕсли;
        НоваяСтрока = НаборЗаписей.Добавить();
        НоваяСтрока.ДокументСсылка = Документ.Документ;
        НоваяСтрока.Пользователь =глЗначениеПеременной("глТекущийПользователь");
        НоваяСтрока.Период = Период;                    
        Если ТоварОтгружен = 1 Тогда
            Состояние = Перечисления.СостоянияРеализаций.ТоварОтгружен;
        ИначеЕсли ТоварОтгружен = 2 Тогда
            Состояние = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа;
        ИначеЕсли ТоварОтгружен = 3 Тогда
            Состояние = Перечисления.СостоянияРеализаций.ВозвратНаСклад;
        Иначе
            Состояние = Перечисления.СостоянияРеализаций.Покрытие;
            Состояние = Перечисления.СостоянияАктРазногласия.Покрытие;
            Состояние = Перечисления.СостоянияВозвратТоваровОтПокупателя.Покрытие;
        КонецЕсли;

        // меняем статус документа реализации
        Если мИзменениеСтатусаДоступно Тогда    
            НаборЗаписейСостоянияРеализация = РегистрыСведений.СостоянияРеализацийТоваровУслуг.СоздатьНаборЗаписей();
            НаборЗаписейСостоянияАктРазногласия = РегистрыСведений.СостоянияАктРазногласия.СоздатьНаборЗаписей();
            НаборЗаписейСостоянияВозвратТоваровОтПокупателя = РегистрыСведений.СостоянияВозвратТоваровОтПокупателя.СоздатьНаборЗаписей();
            Отбор = НаборЗаписейСостоянияРеализация.Отбор;
            Отбор = НаборЗаписейСостоянияАктРазногласия.Отбор;
            Отбор = НаборЗаписейСостоянияВозвратТоваровОтПокупателя.Отбор;
            Отбор.Документ.Установить(Документ.Документ);
            Отбор.Состояние.Установить(Состояние);
            Отбор.Период.Установить(Период);
            
            Запись = НаборЗаписейСостоянияРеализация.Добавить();
            Запись = НаборЗаписейСостоянияАктРазногласия.Добавить();
            Запись = НаборЗаписейСостоянияВозвратТоваровОтПокупателя.Добавить();
            Запись.Период = Период;
            Запись.Пользователь =глЗначениеПеременной("глТекущийПользователь");
            Запись.Документ = Документ.Документ;
            Запись.Состояние = Состояние;
            
            НаборЗаписейСостоянияРеализация.Записать(Истина);
            НаборЗаписейСостоянияАктРазногласия.Записать(Истина);
            НаборЗаписейСостоянияВозвратТоваровОтПокупателя.Записать(Истина);
                        
            Если ОтменитьПокрытие = Истина Тогда
                Рег = РегистрыСведений.СостоянияРеализацийТоваровУслуг;
                Рег = РегистрыСведений.СостоянияАктРазногласия;
                Рег = РегистрыСведений.СостоянияВозвратТоваровОтПокупателя;
                
                Выборка = Рег.Выбрать();
                Пока Выборка.Следующий() Цикл
                    Если Выборка.Документ = Документ.Документ И Выборка.Состояние = Перечисления.СостоянияРеализаций.Покрытие Тогда
                        Выборка.ПолучитьМенеджерЗаписи().Удалить();
                    КонецЕсли;
                    
                    Если Выборка.Документ = Документ.Документ И Выборка.Состояние = Перечисления.СостоянияАктРазногласия.Покрытие Тогда
                        Выборка.ПолучитьМенеджерЗаписи().Удалить();
                    КонецЕсли;
                    
                    Если Выборка.Документ = Документ.Документ И Выборка.Состояние = Перечисления.СостоянияВозвратТоваровОтПокупателя.Покрытие Тогда
                        Выборка.ПолучитьМенеджерЗаписи().Удалить();
                    КонецЕсли;
    
                КонецЦикла;
                Сообщить("Покрытие снято! Документ:"+Документ.Документ ,СтатусСообщения.Внимание);
            Иначе
                Сообщить("Покрытие установлено! Документ:"+Документ.Документ ,СтатусСообщения.Внимание);
            КонецЕсли;
            
        КонецЕсли;        
    КонецЦикла;
    НаборЗаписей.Записать(Ложь);
    
            
КонецПроцедуры

Процедура ОбработатьСканирование(Данные)

    Сообщение = СокрЛП(Данные);
    
    Если НЕ ЗначениеЗаполнено(Сообщение) Тогда    
        Возврат;    
    КонецЕсли;
    
    Попытка    
        ИД = Новый УникальныйИдентификатор(Сообщение);    
    Исключение
        Предупреждение("Ошибка считывания штрихкода. Пересканируйте последний документ.");
        Возврат;
    КонецПопытки;
    
    Для Каждого ТекСтрока Из Метаданные.Документы Цикл
        
        СсылкаНаДокумент = Документы[ТекСтрока.Имя].ПолучитьСсылку(ИД);
        Объект = СсылкаНаДокумент.ПолучитьОбъект();
        
        Если Объект <> Неопределено Тогда
            
            РезПоиска = СканированныеДокументы.Найти(Объект.Ссылка,"Документ");            
            Если НЕ РезПоиска = Неопределено Тогда            
                НоваяСтрока = РезПоиска;
                Сообщить("Документ "+Объект.Ссылка+" уже присутствует в таблице. Запись обновлена. Тек. дата/время: " + ТекущаяДата(), СтатусСообщения.Информация);
            Иначе
                НоваяСтрока    = СканированныеДокументы.Добавить();
                Сообщить("Документ "+Объект.Ссылка+" добавлен в таблицу. Тек. дата/время: " + ТекущаяДата(), СтатусСообщения.Информация);
            КонецЕсли;
            
            НоваяСтрока.Документ    = Объект.Ссылка;
            НоваяСтрока.Контрагент    = Объект.Ссылка.Контрагент;
            Если мИзменениеСтатусаДоступно Тогда                
                
                Если ТоварОтгружен = 1 Тогда
                    НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ТоварОтгружен;
                ИначеЕсли ТоварОтгружен = 2 Тогда
                    НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа;
                ИначеЕсли ТоварОтгружен = 3 Тогда
                    НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ВозвратНаСклад;
                Иначе
                    НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.Покрытие;
                КонецЕсли;
                
            КонецЕсли;
            
            НоваяСтрока.Сумма = Объект.Ссылка.СуммаДокумента;
            НоваяСтрока.Изменен        = Объект.Ссылка.Изменен;
            НоваяСтрока.Обработать    = Истина;
            
            Прервать; // УИД может принадлежать только одному объекту в базе данных
            
        КонецЕсли;
        
    КонецЦикла;
    
    Если Объект = Неопределено Тогда
        Сообщить("Штрихкод не может быть обработан!!!");
    КонецЕсли;

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

Процедура ВнешнееСобытие(Источник, Событие, Данные)
    
    Если Не ВводДоступен() Тогда
        Возврат;
    КонецЕсли;

    //ПолучитьСерверТО().ОбработатьВнешнееСобытие(Событие, Данные, ЭтаФорма);
    
    ОбработатьСканирование(Данные);
    
КонецПроцедуры

Процедура ПриОткрытии()
    
    мИзменениеСтатусаДоступно = Истина;
    
    ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);
    
    ТекПользователь = глЗначениеПеременной("глТекущийПользователь");
    
    ДоступнаЭкспедиция = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ПопалВЭкспедицию");
    //ДоступнаКорректровкаРевизор = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ОтданНаКорректировкуРевизор");
    //ДоступнаКорректровкаБухгалтер = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ОтданНаКорректировкуБухгалтер");
    //ДоступнаКорректровкаПродажи = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ОткорректированОтделПродаж");
    ДоступнаПокрытие = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"Покрытие");    
    
    СостояниеПоУмолчанию = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ОсновноеСостояниеРеализации");
    Если СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ТоварОтгружен Тогда
        ТоварОтгружен = 1;
    ИначеЕсли СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа Тогда
        ТоварОтгружен = 2;
    ИначеЕсли СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ВозвратНаСклад Тогда
        ТоварОтгружен = 3;
    Иначе
        ТоварОтгружен = 4;
    КонецЕсли;
    
    ЭлементыФормы.ТоварОтгружен.Доступность     = ДоступнаЭкспедиция;
    ЭлементыФормы.ОжиданеДозаказа.Доступность     = ДоступнаЭкспедиция;
    ЭлементыФормы.ВозвратНаСклад.Доступность     = ДоступнаЭкспедиция;
    ЭлементыФормы.Покрытие.Доступность             = ДоступнаПокрытие;
    Если Не ДоступнаЭкспедиция И Не ДоступнаПокрытие Тогда
        Сообщить("У Вас нет прав устанавливать статус документа. Если Вам необходимы такие правта, то обратитесь к программисту!!!");
        ЭтаФорма.Закрыть();
    КонецЕсли;
КонецПроцедуры

Функция ПоддерживаетсяВидТО(Вид) Экспорт

    Результат = Ложь;

    Если Вид = Перечисления.ВидыТорговогоОборудования.СканерШтрихКода Тогда
        Результат = Истина;
    КонецЕсли;

    Возврат Результат;

КонецФункции // ПоддерживаетсяВидТО()

Функция СШКНеизвестныйКод(Штрихкод, ТипКода, СШК) Экспорт

    Возврат Ложь;

КонецФункции // СШКНеизвестныйКод()

// Процедура осуществляет обработку ошибки, произошедшей при работе со сканером
// штрихкода.
//
// Параметры:
//  Ошибка    - <ПеречислениеСсылка.ТООшибки*>
//            - Возникшая ошибка.
//
//  Штрихкод  - <Строка>
//            - Считанный штрихкод или пустая строка, если штрихкод не был
//              считан.
//
//  ТипШК     - <ПланыВидовХарактеристикСсылка.ТипыШтрихкодов>
//            - Тип штрихкода или пустая ссылка в случае, если тип не определён.
//
//  СШК       - <Строка>
//            - Идентификатор сканера штрихкода, с которым связано данное
//              событие.
//
Процедура СШКОшибка(Ошибка, Штрихкод, ТипШК, СШК) Экспорт

    Текст = ПолучитьСерверТО().ПолучитьТекстОшибкиСШКТО(Ошибка, Штрихкод, ТипШК);
    Предупреждение(Текст);

КонецПроцедуры // СШКОшибка()

Процедура ДобавитьНажатие(Элемент)    
    ОбработатьСканирование(Штрихкод);    
КонецПроцедуры

Процедура СканированныеДокументыПередНачаломДобавления(Элемент, Отказ, Копирование)
    //Отказ = Истина;
    
КонецПроцедуры

Процедура СканированныеДокументыДокументПриИзменении(Элемент)
    ТекСтрока = ЭлементыФормы.СканированныеДокументы.ТекущиеДанные;
    ТекСтрока.Контрагент = ТекСтрока.Документ.Контрагент;
    ТекСтрока.Сумма = ТекСтрока.Документ.СуммаДокумента;
    // Вставить содержимое обработчика.
КонецПроцедуры

Процедура ДействияФормыОчиститьТаблицу(Кнопка)
    СканированныеДокументы.Очистить();
КонецПроцедуры


при попытке запустить обработку выдает

Цитата
Обработка.СчитываниеШтрихкода.Форма.Форма(50)}: Ошибка при вызове метода контекста (Записать)
НаборЗаписейСостоянияРеализация.Записать(Истина);
по причине:
Запись не верна! Период не может быть пустым!: СостоянияРеализацийТоваровУслуг: 01.01.0001 00:00:00, , (Регистр сведений: Состояния реализаций товаров услуг; Номер строки: 1)


Как это вылечить ?

Обработку писал не я, досталась в наследство от програмера он уволился и контакта с ним нет.

(УТ 8,1)
Vofka
Что это за ересь

Запись = НаборЗаписейСостоянияРеализация.Добавить();
Запись = НаборЗаписейСостоянияАктРазногласия.Добавить();
Запись = НаборЗаписейСостоянияВозвратТоваровОтПокупателя.Добавить();
Запись.Период = Период;
Запись.Пользователь =глЗначениеПеременной("глТекущийПользователь");
Запись.Документ = Документ.Документ;
Запись.Состояние = Состояние;
            
НаборЗаписейСостоянияРеализация.Записать(Истина);
НаборЗаписейСостоянияАктРазногласия.Записать(Истина);
НаборЗаписейСостоянияВозвратТоваровОтПокупателя.Записать(Истина);


?
sia_1980
Цитата(Vofka @ 28.05.13, 13:31) необходимо зарегистрироваться для просмотра ссылки
Что это за ересь

Запись = НаборЗаписейСостоянияРеализация.Добавить();
Запись = НаборЗаписейСостоянияАктРазногласия.Добавить();
Запись = НаборЗаписейСостоянияВозвратТоваровОтПокупателя.Добавить();
Запись.Период = Период;
Запись.Пользователь =глЗначениеПеременной("глТекущийПользователь");
Запись.Документ = Документ.Документ;
Запись.Состояние = Состояние;
            
НаборЗаписейСостоянияРеализация.Записать(Истина);
НаборЗаписейСостоянияАктРазногласия.Записать(Истина);
НаборЗаписейСостоянияВозвратТоваровОтПокупателя.Записать(Истина);


?

не знаю что за ересь
в оригинале так
Запись = НаборЗаписейСостоянияРеализация.Добавить();

Запись.Период = Период;
Запись.Пользователь =глЗначениеПеременной("глТекущийПользователь");
Запись.Документ = Документ.Документ;
Запись.Состояние = Состояние;
            
НаборЗаписейСостоянияРеализация.Записать(Истина);
НаборЗаписейСостоянияАктРазногласия.Записать(Истина);
НаборЗаписейСостоянияВозвратТоваровОтПокупателя.Записать(Истина);
Vofka
Если некий оригинал отличается от кода, который вы привели в начальном посте, как вам можно помочь? Гадалки в отпусках...
sia_1980
Цитата(Vofka @ 28.05.13, 13:36) необходимо зарегистрироваться для просмотра ссылки
Если некий оригинал отличается от кода, который вы привели в начальном посте, как вам можно помочь? Гадалки в отпусках...

Оригинал кода
Перем мИзменениеСтатусаДоступно;

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    ОчиститьСообщения();
    
    // Прописать в регистр владельца документов
    НаборЗаписей = РегистрыСведений.ВладельцыДокументов.СоздатьНаборЗаписей();
    Период = ТекущаяДата();
    Для каждого Документ Из СканированныеДокументы Цикл                
        Если НЕ Документ.Обработать Тогда        
            Продолжить;        
        КонецЕсли;
        НоваяСтрока = НаборЗаписей.Добавить();
        НоваяСтрока.ДокументСсылка = Документ.Документ;
        НоваяСтрока.Пользователь =глЗначениеПеременной("глТекущийПользователь");
        НоваяСтрока.Период = Период;                    
        Если ТоварОтгружен = 1 Тогда
            Состояние = Перечисления.СостоянияРеализаций.ТоварОтгружен;
        ИначеЕсли ТоварОтгружен = 2 Тогда
            Состояние = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа;
        ИначеЕсли ТоварОтгружен = 3 Тогда
            Состояние = Перечисления.СостоянияРеализаций.ВозвратНаСклад;
        Иначе
            Состояние = Перечисления.СостоянияРеализаций.Покрытие;
        КонецЕсли;

        // меняем статус документа реализации
        Если мИзменениеСтатусаДоступно Тогда    
            НаборЗаписейСостоянияРеализация = РегистрыСведений.СостоянияРеализацийТоваровУслуг.СоздатьНаборЗаписей();
            Отбор = НаборЗаписейСостоянияРеализация.Отбор;
            Отбор.Документ.Установить(Документ.Документ);
            Отбор.Состояние.Установить(Состояние);
            Отбор.Период.Установить(Период);
            
            Запись = НаборЗаписейСостоянияРеализация.Добавить();
            Запись.Период = Период;
            Запись.Пользователь =глЗначениеПеременной("глТекущийПользователь");
            Запись.Документ = Документ.Документ;
            Запись.Состояние = Состояние;
            
            НаборЗаписейСостоянияРеализация.Записать(Истина);
            Если ОтменитьПокрытие = Истина Тогда
                Рег = РегистрыСведений.СостоянияРеализацийТоваровУслуг;
                Выборка = Рег.Выбрать();
                Пока Выборка.Следующий() Цикл
                    Если Выборка.Документ = Документ.Документ И Выборка.Состояние = Перечисления.СостоянияРеализаций.Покрытие Тогда
                        Выборка.ПолучитьМенеджерЗаписи().Удалить();
                    КонецЕсли;
                КонецЦикла;
                Сообщить("Покрытие снято! Документ:"+Документ.Документ ,СтатусСообщения.Внимание);
            Иначе
                Сообщить("Покрытие установлено! Документ:"+Документ.Документ ,СтатусСообщения.Внимание);
            КонецЕсли;
            
        КонецЕсли;        
    КонецЦикла;
    НаборЗаписей.Записать(Ложь);
    
КонецПроцедуры

Процедура ОбработатьСканирование(Данные)

    Сообщение = СокрЛП(Данные);
    
    Если НЕ ЗначениеЗаполнено(Сообщение) Тогда    
        Возврат;    
    КонецЕсли;
    
    Попытка    
        ИД = Новый УникальныйИдентификатор(Сообщение);    
    Исключение
        Предупреждение("Ошибка считывания штрихкода. Пересканируйте последний документ.");
        Возврат;
    КонецПопытки;
    
    Для Каждого ТекСтрока Из Метаданные.Документы Цикл
        
        СсылкаНаДокумент = Документы[ТекСтрока.Имя].ПолучитьСсылку(ИД);
        Объект = СсылкаНаДокумент.ПолучитьОбъект();
        
        Если Объект <> Неопределено Тогда
            
            РезПоиска = СканированныеДокументы.Найти(Объект.Ссылка,"Документ");            
            Если НЕ РезПоиска = Неопределено Тогда            
                НоваяСтрока = РезПоиска;
                Сообщить("Документ "+Объект.Ссылка+" уже присутствует в таблице. Запись обновлена. Тек. дата/время: " + ТекущаяДата(), СтатусСообщения.Информация);
            Иначе
                НоваяСтрока    = СканированныеДокументы.Добавить();
                Сообщить("Документ "+Объект.Ссылка+" добавлен в таблицу. Тек. дата/время: " + ТекущаяДата(), СтатусСообщения.Информация);
            КонецЕсли;
            
            НоваяСтрока.Документ    = Объект.Ссылка;
            НоваяСтрока.Контрагент    = Объект.Ссылка.Контрагент;
            Если мИзменениеСтатусаДоступно Тогда                
                
                Если ТоварОтгружен = 1 Тогда
                    НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ТоварОтгружен;
                ИначеЕсли ТоварОтгружен = 2 Тогда
                    НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа;
                ИначеЕсли ТоварОтгружен = 3 Тогда
                    НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ВозвратНаСклад;
                Иначе
                    НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.Покрытие;
                КонецЕсли;
                
            КонецЕсли;
            
            НоваяСтрока.Сумма = Объект.Ссылка.СуммаДокумента;
            НоваяСтрока.Изменен        = Объект.Ссылка.Изменен;
            НоваяСтрока.Обработать    = Истина;
            
            Прервать; // УИД может принадлежать только одному объекту в базе данных
            
        КонецЕсли;
        
    КонецЦикла;
    
    Если Объект = Неопределено Тогда
        Сообщить("Штрихкод не может быть обработан!!!");
    КонецЕсли;

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

Процедура ВнешнееСобытие(Источник, Событие, Данные)
    
    Если Не ВводДоступен() Тогда
        Возврат;
    КонецЕсли;

    //ПолучитьСерверТО().ОбработатьВнешнееСобытие(Событие, Данные, ЭтаФорма);
    
    ОбработатьСканирование(Данные);
    
КонецПроцедуры

Процедура ПриОткрытии()
    
    мИзменениеСтатусаДоступно = Истина;
    
    ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);
    
    ТекПользователь = глЗначениеПеременной("глТекущийПользователь");
    
    ДоступнаЭкспедиция = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ПопалВЭкспедицию");
    //ДоступнаКорректровкаРевизор = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ОтданНаКорректировкуРевизор");
    //ДоступнаКорректровкаБухгалтер = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ОтданНаКорректировкуБухгалтер");
    //ДоступнаКорректровкаПродажи = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ОткорректированОтделПродаж");
    ДоступнаПокрытие = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"Покрытие");    
    
    СостояниеПоУмолчанию = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ОсновноеСостояниеРеализации");
    Если СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ТоварОтгружен Тогда
        ТоварОтгружен = 1;
    ИначеЕсли СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа Тогда
        ТоварОтгружен = 2;
    ИначеЕсли СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ВозвратНаСклад Тогда
        ТоварОтгружен = 3;
    Иначе
        ТоварОтгружен = 4;
    КонецЕсли;
    
    ЭлементыФормы.ТоварОтгружен.Доступность     = ДоступнаЭкспедиция;
    ЭлементыФормы.ОжиданеДозаказа.Доступность     = ДоступнаЭкспедиция;
    ЭлементыФормы.ВозвратНаСклад.Доступность     = ДоступнаЭкспедиция;
    ЭлементыФормы.Покрытие.Доступность             = ДоступнаПокрытие;
    Если Не ДоступнаЭкспедиция И Не ДоступнаПокрытие Тогда
        Сообщить("У Вас нет прав устанавливать статус документа. Если Вам необходимы такие правта, то обратитесь к программисту!!!");
        ЭтаФорма.Закрыть();
    КонецЕсли;
КонецПроцедуры

Функция ПоддерживаетсяВидТО(Вид) Экспорт

    Результат = Ложь;

    Если Вид = Перечисления.ВидыТорговогоОборудования.СканерШтрихКода Тогда
        Результат = Истина;
    КонецЕсли;

    Возврат Результат;

КонецФункции // ПоддерживаетсяВидТО()

Функция СШКНеизвестныйКод(Штрихкод, ТипКода, СШК) Экспорт

    Возврат Ложь;

КонецФункции // СШКНеизвестныйКод()

// Процедура осуществляет обработку ошибки, произошедшей при работе со сканером
// штрихкода.
//
// Параметры:
//  Ошибка    - <ПеречислениеСсылка.ТООшибки*>
//            - Возникшая ошибка.
//
//  Штрихкод  - <Строка>
//            - Считанный штрихкод или пустая строка, если штрихкод не был
//              считан.
//
//  ТипШК     - <ПланыВидовХарактеристикСсылка.ТипыШтрихкодов>
//            - Тип штрихкода или пустая ссылка в случае, если тип не определён.
//
//  СШК       - <Строка>
//            - Идентификатор сканера штрихкода, с которым связано данное
//              событие.
//
Процедура СШКОшибка(Ошибка, Штрихкод, ТипШК, СШК) Экспорт

    Текст = ПолучитьСерверТО().ПолучитьТекстОшибкиСШКТО(Ошибка, Штрихкод, ТипШК);
    Предупреждение(Текст);

КонецПроцедуры // СШКОшибка()

Процедура ДобавитьНажатие(Элемент)    
    ОбработатьСканирование(Штрихкод);    
КонецПроцедуры

Процедура СканированныеДокументыПередНачаломДобавления(Элемент, Отказ, Копирование)
    //Отказ = Истина;
    
КонецПроцедуры

Процедура СканированныеДокументыДокументПриИзменении(Элемент)
    ТекСтрока = ЭлементыФормы.СканированныеДокументы.ТекущиеДанные;
    ТекСтрока.Контрагент = ТекСтрока.Документ.Контрагент;
    ТекСтрока.Сумма = ТекСтрока.Документ.СуммаДокумента;
    // Вставить содержимое обработчика.
КонецПроцедуры

Процедура ДействияФормыОчиститьТаблицу(Кнопка)
    СканированныеДокументы.Очистить();
КонецПроцедуры

Vofka
sia_1980, у меня такое впечатление, что в последнем коде не ругается.
sia_1980
Цитата(Vofka @ 28.05.13, 13:52) необходимо зарегистрироваться для просмотра ссылки
sia_1980, у меня такое впечатление, что в последнем коде не ругается.

в оригинале не ругается, но кроме ссылок на два новых документа больше нечего не добавлял.
не могу понять почему ругается ?
Vofka
Цитата(sia_1980 @ 28.05.13, 14:55) необходимо зарегистрироваться для просмотра ссылки
в оригинале не ругается

Цитата(sia_1980 @ 28.05.13, 14:55) необходимо зарегистрироваться для просмотра ссылки
не могу понять почему ругается ?

Вы издеваетесь?
sia_1980
Цитата(Vofka @ 28.05.13, 14:08) необходимо зарегистрироваться для просмотра ссылки
Вы издеваетесь?

нет не издеваюсь.
я админ, програмера нет и задачу нарезали мне, открестится не удалось. 09000000.gif
Vofka
sia_1980, так можно в конце то концов описать проблему внятно? Проблема в том, что ругается где-то или в том, что не работает как вы хотите или сейчас выяснится что проблема вообще в чем-то другом?
sia_1980
Цитата(Vofka @ 28.05.13, 14:22) необходимо зарегистрироваться для просмотра ссылки
sia_1980, так можно в конце то концов описать проблему внятно? Проблема в том, что ругается где-то или в том, что не работает как вы хотите или сейчас выяснится что проблема вообще в чем-то другом?


обработка ставит флаг Покрытие на документ Реализация товаров что отображается в форме списка в виде флажка,
нужно добавить флаг Покрытия в Документы Акт Разногласия и Возврат товаров от покупателя, чтоб тоже отображался в форме списка флажок.
при добавлении в эту обработку Ссылок на данные документы она не работает.
Vofka
sia_1980, а теперь расскажите что вы сделали для того, чтобы флажок там появился? Если вы вообще не знаете даже с какой стороны подходить - то тут могу посоветовать только обратиться к специалистам. Если знаете - задавайте более конкретные вопросы, а то, как я уже говорил, гадалки в отпусках.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.