Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )



3 страниц V   1 2 3 >

>  Установка флага покрытие
sia_1980
Отправлено: 28.05.13, 14:30


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


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


обработка ставит флаг Покрытие на документ Реализация товаров что отображается в форме списка в виде флажка,
нужно добавить флаг Покрытия в Документы Акт Разногласия и Возврат товаров от покупателя, чтоб тоже отображался в форме списка флажок.
при добавлении в эту обработку Ссылок на данные документы она не работает.
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #69702 · Ответов: 11 · Просмотров: 5733
 

>  Установка флага покрытие
sia_1980
Отправлено: 28.05.13, 14:11


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Цитата(Vofka @ 28.05.13, 14:08) *
Вы издеваетесь?

нет не издеваюсь.
я админ, програмера нет и задачу нарезали мне, открестится не удалось. 09000000.gif
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #69699 · Ответов: 11 · Просмотров: 5733
 

>  Установка флага покрытие
sia_1980
Отправлено: 28.05.13, 13:55


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


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

в оригинале не ругается, но кроме ссылок на два новых документа больше нечего не добавлял.
не могу понять почему ругается ?
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #69695 · Ответов: 11 · Просмотров: 5733
 

>  Установка флага покрытие
sia_1980
Отправлено: 28.05.13, 13:46


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Цитата(Vofka @ 28.05.13, 13:36) *
Если некий оригинал отличается от кода, который вы привели в начальном посте, как вам можно помочь? Гадалки в отпусках...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #69693 · Ответов: 11 · Просмотров: 5733
 

>  Установка флага покрытие
sia_1980
Отправлено: 28.05.13, 13:35


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Цитата(Vofka @ 28.05.13, 13:31) *
Что это за ересь

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


?

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

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

>  Установка флага покрытие
sia_1980
Отправлено: 28.05.13, 13:23


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Доброго времени суток.
есть задача в список выбора документов Акт разногласия и Возврат от покупателя вставить колонку с флагом покрытие.
есть обработка которая ставит єтот флаг для Реализации.

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

(УТ 8,1)
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #69686 · Ответов: 11 · Просмотров: 5733
 

>  Выгрузка НН в xml
sia_1980
Отправлено: 10.10.12, 11:40


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Добрый день
возникла проблема в НН при выгрузке в xml формате вид договора оставляет пустым.
в печатной форме вид договора присутствует.
Сверял модули формирования НН и набора данных для выгрузки с базовой конфой никаких отличий не нашол.

1с - УТ 1С:Предприятие 8.1 (8.1.15.14)
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #58051 · Ответов: 0 · Просмотров: 1949
 

>  Неправильная нумерация
sia_1980
Отправлено: 06.07.12, 10:58


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Всем Спасибо разобрался !!!
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #52747 · Ответов: 10 · Просмотров: 6637
 

>  Неправильная нумерация
sia_1980
Отправлено: 06.07.12, 8:55


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Цитата(logist @ 06.07.12, 9:53) *
Дописывайте. Только не так как в первом сообщении, а используя "ПриУстановкеНовогоНомера".


А можно по подробней с этого момента?
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #52734 · Ответов: 10 · Просмотров: 6637
 

>  Неправильная нумерация
sia_1980
Отправлено: 06.07.12, 8:24


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


А дописать нумератор?
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #52732 · Ответов: 10 · Просмотров: 6637
 

>  Неправильная нумерация
sia_1980
Отправлено: 06.07.12, 8:15


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Испаравить не получится поскольку документы уже ушли под неправильной нумерацией и переделать их нет никакой возможности.
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #52730 · Ответов: 10 · Просмотров: 6637
 

>  Неправильная нумерация
sia_1980
Отправлено: 05.07.12, 17:03


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Больше не буду нарушать сори.
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #52703 · Ответов: 10 · Просмотров: 6637
 

>  Неправильная нумерация
sia_1980
Отправлено: 05.07.12, 14:45


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Как исправить нумерацию документа
товарищи поломали нумерацию П2 к налоговым
попробовал исправить через стандартные настройки документа не получилось

дописал в документ код для нумерации но всё равно нумерует не правильно

номер следующий номер должен начинаться УТР1250 а тянет УТР966 авто нумерацию отключил.
Процедура ПриОткрытии()

    //МеханизмНумерацииОбъектов.УстановитьДоступностьПоляВводаНомера(Метаданные(), ЭтаФорма, ЭлементыФормы.ДействияФормы.Кнопки.Подменю1,ЭлементыФормы.Номер = "УТрей" + "д");
    МеханизмНумерацииОбъектов.УстановитьДоступностьПоляВводаНомера(Метаданные(), ЭтаФорма, ЭлементыФормы.ДействияФормы.Кнопки.Подменю1,ЭлементыФормы.Номер);
    //Константа =
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |   МАКСИМУМ(Приложение2КНалоговойНакладной.Номер) КАК Номер
    |ИЗ
    |   Документ.Приложение2КНалоговойНакладной КАК Приложение2КНалоговойНакладной
    |ГДЕ
    |   Приложение2КНалоговойНакладной.Дата МЕЖДУ &НачГода И &КонГода
    |   И Приложение2КНалоговойНакладной.Ссылка <> &Ссылка";
    
    Запрос.УстановитьПараметр("КонГода", КонецГода(Дата));
    Запрос.УстановитьПараметр("НачГода", НачалоГода(Дата));
    Запрос.УстановитьПараметр("Ссылка",Ссылка);
    Результат = Запрос.Выполнить();  
    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    ВыборкаДетальныеЗаписи.Следующий();
    Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.Номер) тогда
        Номер=ВыборкаДетальныеЗаписи.Номер+2222;
    Иначе  
        Номер=1;
    КонецЕсли;
        
    //Номер = "УТРей1250";
//номер = Номер +1;


подскажите как правильно сделать этот нумератор


 ! 

Правила, п.5.
И пожалуйста ознакомьтесь с правилами форума, это уже третье подряд предупреждение. Больше предупреждений не будет, темы будут сразу удалятся!
 
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #52689 · Ответов: 10 · Просмотров: 6637
 

>  Нумерация документа
sia_1980
Отправлено: 04.07.12, 15:14


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130



 ! 

Правила, п.13
 


Спасибо уже разобрался.
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #52650 · Ответов: 2 · Просмотров: 2259
 

>  Нумерация документа
sia_1980
Отправлено: 04.07.12, 14:04


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Подскажите как в документе сделать обработчик нумерации документа чтоб брал предыдущий номер +1


 ! 

Правила, п.5
 
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #52643 · Ответов: 2 · Просмотров: 2259
 

>  8.1 Бух. Док Закрытие месяца
sia_1980
Отправлено: 03.04.12, 12:33


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Цитата(Vofka @ 03.04.12, 13:06) *
Идите по строчкам документа отладчиком и смотрите на какой строке виснет.

Ну и стандартная рекомендация в непонятных ситуациях: попробуйте сделать тестирование и исправление, может поможет.


Спасибо буду проверять
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #47981 · Ответов: 2 · Просмотров: 2508
 

>  8.1 Бух. Док Закрытие месяца
sia_1980
Отправлено: 03.04.12, 10:47


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Доброго времени суток.
Подскажите как разобратся/исправить
в 8.1 бух есть документ "Закрытие месяца" при попытке провести документ он просто зависает,
нет ни сообщений об ошибке ни выброса из базы.
База на SQL стандарт, свободного места валом, опера 3 гига.
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #47968 · Ответов: 2 · Просмотров: 2508
 

>  Помогите разобратся с ошибкой
sia_1980
Отправлено: 18.01.12, 1:40


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Цитата(Ardi @ 18.01.12, 1:36) *
В Бобруйск можно полететь, поплыть, попрыгать. Можно до Бобруйска скользить.
http://www.youtube.com/embed/3mZW48rLO4g


оно то да но хочется сделать обработку
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #41567 · Ответов: 12 · Просмотров: 6046
 

>  Помогите разобратся с ошибкой
sia_1980
Отправлено: 18.01.12, 1:26


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Цитата(logist @ 18.01.12, 1:22) *
А сразу об этом сказать самоуверенность не позволяет?
Код от 7.7 так просто не подходит для 8.1, то шо вы делаете - это занятие фигней, надо переписывать код под 8-ку, а не исправлять ошибки


Значит я попал и прийдется ехать 32542270.gif

но что можно сделать ?
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #41564 · Ответов: 12 · Просмотров: 6046
 

>  Помогите разобратся с ошибкой
sia_1980
Отправлено: 18.01.12, 1:16


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Цитата(logist @ 18.01.12, 1:04) *
А что такое "Перем Ст[12]; "? Почему не Ст = Новый Массив(12);
Это вообще код от восьмерки??


код от внешней обработки 77 для выгрузки НН в медок пробую перевести для УТ8,1 и завтра крайний срок
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #41562 · Ответов: 12 · Просмотров: 6046
 

>  Помогите разобратся с ошибкой
sia_1980
Отправлено: 18.01.12, 0:09


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


в результате выдало

{ВнешняяОбработка.ВнешняяОбработка1(3477,10)}: Ожидается символ ';'
Перем Ст<<?>>[12];
{ВнешняяОбработка.ВнешняяОбработка1(3477,11)}: Неопознанный оператор
Перем Ст[<<?>>12];
{ВнешняяОбработка.ВнешняяОбработка1(3477,11)}: Неопознанный оператор
Перем Ст[<<?>>12];


роцедура СформироватьПриложение2011(спДанные = "")
    Перем Ст[12];  
    

    ТаблТМЦ = СоздатьОбъект("ТаблицаЗначений");
    стрДокумент.ВыгрузитьТабличнуюЧасть(ТаблТМЦ);
    КодНДС = СокрЛП(стрДокумент.ВидНДС.Код);
    ТаблТМЦ.ВыбратьСтроки();      
    Ном = 1;  
    
    Итог9 = 0; Итог10 = 0; Итог11 = 0;
    
    Пока ТаблТМЦ.ПолучитьСтроку() > 0 Цикл
        Ст[1] = ДатаОтчета;
        Ст[2] = ТаблТМЦ.Причина;
        Ст[3] = ТаблТМЦ.ТМЦ.ПолнНаименование;
        Ст[12] = СокрЛП(СтрЗаменить(ТаблТМЦ.КодУКТВЭД,".",""));
        Ст[4] = ?(ТаблТМЦ.ТМЦ.Вид()="ТМЦ",ТаблТМЦ.Ед,ТаблТМЦ.ТМЦ.БазЕдиница);
        Для Н = 5 По 11 Цикл
            Ст[Н] = 0;
        КонецЦикла;                    
        
        Если ТаблТМЦ.ИзмКво<>0 Тогда
            Ст[5] = ТаблТМЦ.ИзмКво;
            Ст[6] = ТаблТМЦ.ЦенаБезНДС*ТаблТМЦ.Коэффициент;
        Иначе
            Ст[7] = ТаблТМЦ.ИзмЦеныБезНДС*ТаблТМЦ.Коэффициент;
            Ст[8] = ТаблТМЦ.Кво;
        КонецЕсли;  
        ИзмСуммыБезНДС = ТаблТМЦ.ИзмСуммыБезНДС;
        Если КодНДС = "НДС20" Тогда
            Ст[9]  = ИзмСуммыБезНДС;
            Итог9 = Итог9 + ИзмСуммыБезНДС;
        ИначеЕсли КодНДС = "НДС0" Тогда
            Ст[10] = ИзмСуммыБезНДС;
            Итог10 = Итог10 + ИзмСуммыБезНДС;
        ИначеЕсли КодНДС = "БезНДС" Тогда
            Ст[11] = ИзмСуммыБезНДС;
            Итог11 = Итог11 + ИзмСуммыБезНДС;
        КонецЕсли;
        
        ЗаполнитьСтрокуПриложения(спДанные, Ст, Ном, 1, 12);
        Ном = Ном + 1;
    КонецЦикла;
    
    Ст[9] = Итог9;
    Ст[10] = Итог10;
    Ст[11] = Итог11;
    
    ЗаполнитьСтрокуПриложения(спДанные, Ст, 1, 9, 12, "Ч(0)2");      
    
    Итог12 = стрДокумент.Итог("ИзмНДС");
    
    Ст[9] = Итог12;
    
    ЗаполнитьСтрокуПриложения(спДанные, Ст, 2, 9, 9, "Ч(0)2");      

КонецПроцедуры
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #41555 · Ответов: 12 · Просмотров: 6046
 

>  Помогите разобратся с ошибкой
sia_1980
Отправлено: 18.01.12, 0:01


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


{ВнешняяОбработка.ВнешняяОбработка1(2944,47)}: Ожидается символ ')'
Процедура ЗаполнитьРеквизитыСтроки(спДанные,Ст<<?>> ')'[], НомСтр, НомНачКол, ФорматНомСтр = "Ч(0)4")

Процедура ЗаполнитьРеквизитыСтроки(спДанные,Ст[], НомСтр, НомНачКол, ФорматНомСтр = "Ч(0)4")
    
    
    Для Н=НомНачКол По 12 Цикл
        
        Если Н = 1 Тогда
            Окончание = "D";  
            Н1 = 2;
        ИначеЕсли (Н =2) или (Н = 3) или (Н = 5) Тогда
            Окончание = "S";    
            Н1 = Н + 1;
            Если Н = 5 Тогда
                Н1 = 5;
            КонецЕсли;
        ИначеЕсли (Н =12) Тогда
            Окончание = "";    
            Н1 = 4;
        Иначе
            Окончание = "";
            Если Н = 4 Тогда
                Н1 = 5
            Иначе
                Н1 = Н;
            КонецЕсли;
        КонецЕсли;
        
        Значение = Ст[Н];
        
        спДанные.ДобавитьЗначение(Значение,  "R" + Формат(НомСтр, ФорматНомСтр) + "G" + Н1 + Окончание);
    
    КонецЦикла;
    
КонецПроцедуры


что надо исправить ?
  Форум: Программирование в 1С Предприятие 8.1 (8.0) · Просмотр сообщения: #41551 · Ответов: 12 · Просмотров: 6046
 

>  Экспорт НН из 1с в формате xml для последующего импорта в M.E.DOC
sia_1980
Отправлено: 16.01.12, 17:11


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


х
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #41389 · Ответов: 145 · Просмотров: 119403
 

>  Не работает автообмен РИБ
sia_1980
Отправлено: 26.12.11, 16:29


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Проблема с авто обменом (умер старый сервер переключил на новый; обмен между РИБ через файловый ресурс) на главном сервере перестал работать обмен в режиме автомата не помогает ни расписание ни создание задачи по новой. При просмотре лога регламентных задач показывает что задача выполняется но обмена сообщениями между базами нет. в сервере 1с не стоит блокировка регламентных задач. В ручном режиме обмен проходит нормально.

ПОДСКАЖИТЕ что за трабла

1С Управление торговлей 8.1 (8.1.15.14)

Просьба не удалять в амин ветке не помогли help.gif может здесь помогут !
  Форум: Корзина · Просмотр сообщения: #39670 · Ответов: 1 · Просмотров: 2075
 

>  не работает автоОбмен РИБ
sia_1980
Отправлено: 23.12.11, 13:20


Говорящий
***

Группа: Пользователи
Сообщений: 59
Регистрация: 08.02.11
Пользователь №: 7130


Проблема с авто обменом (умер старый сервер переключил на новый; обмен между РИБ через файловый ресурс) на главном сервере перестал работать обмен в режиме автомата не помогает ни расписание ни создание задачи по новой. При просмотре лога регламентных задач показывает что задача выполняется но обмена сообщениями между базами нет. в сервере 1с не стоит блокировка регламентных задач. В ручном режиме обмен проходит нормально.

ПОДСКАЖИТЕ что за трабла

1С Управление торговлей 8.1 (8.1.15.14)
  Форум: Администрирование и настройка 1С · Просмотр сообщения: #39487 · Ответов: 2 · Просмотров: 6666
 

3 страниц V   1 2 3 >

Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

RSS Текстовая версия Сейчас: 11.06.24, 4:24
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!