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

Хранилище

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

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




>  Сканер в 1с 7.7 и 1-3 копии программы на одной раб станции.
Козаностра
Отправлено: 25.05.15, 10:03


Молчаливый
*

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


Нет, пользователи 1с

Цитата(sava1 @ 25.05.15, 9:56) *
Т.е. продавцы сидят за одним монитором и переключают окна ?


Они меняются, да за одной раб станцией, с запущенными 3 копиями 1с под своими учетками в 1с.
  Форум: Работа с торговым оборудованием · Просмотр сообщения: #99254 · Ответов: 16 · Просмотров: 3812
 

>  Сканер в 1с 7.7 и 1-3 копии программы на одной раб станции.
Козаностра
Отправлено: 25.05.15, 9:45


Молчаливый
*

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


Нет, не за раз, открыто 3 копии, продавцы меняются и выбивают товар через сканер в своих копиях, а сканер может работать только в одной копии ( которую открыли первой ) так-как копия висит монопольно на порте, на сколько я понимаю.
  Форум: Работа с торговым оборудованием · Просмотр сообщения: #99247 · Ответов: 16 · Просмотров: 3812
 

>  Сканер в 1с 7.7 и 1-3 копии программы на одной раб станции.
Козаностра
Отправлено: 25.05.15, 9:37


Молчаливый
*

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


sava1 Есть ли еще *решения* данной ситуации?
  Форум: Работа с торговым оборудованием · Просмотр сообщения: #99242 · Ответов: 16 · Просмотров: 3812
 

>  Сканер в 1с 7.7 и 1-3 копии программы на одной раб станции.
Козаностра
Отправлено: 25.05.15, 9:05


Молчаливый
*

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


Цитата(logist @ 25.05.15, 8:37) *
А что Вас удивляет? Это вообще-то нормально, вы когда берете три ведра набрать воды, а кран у вас один, в три ведра сразу же не получится набрать.


Я полагаю подключение в разрыв клавы, проблему решит?
либо же нужно дописывать
  Форум: Работа с торговым оборудованием · Просмотр сообщения: #99231 · Ответов: 16 · Просмотров: 3812
 

>  Сканер в 1с 7.7 и 1-3 копии программы на одной раб станции.
Козаностра
Отправлено: 25.05.15, 8:12


Молчаливый
*

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


Доброго дня такая проблема, имеем сканер на удаленной машине (РДП) который висит на ком порте, продавцы запускают на этой машине до 3 копий 1с под разными пользователями, соответственно сканер не работает в последующих копиях после первой, так-как не открывает порт, кто с таким сталкивался?
Буду признателен за посильную помощь.


 ! 

Правила, п.3
 
  Форум: Работа с торговым оборудованием · Просмотр сообщения: #99225 · Ответов: 16 · Просмотров: 3812
 

>  Сканер штрих-кодов LS1203 Motorolla
Козаностра
Отправлено: 09.03.15, 14:16


Молчаливый
*

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


Добрый день товарищи, подключил данный сканер к 1с 7.7 Украина, комплексная.
Забиваю в карточку товара штрих-код, сканирует, в накладной появляется товар, но цвета и размер не подхватывает, подскажите куда копать (как настроить ) это мой первый сканер faceoff.gif 64000000.gif
Или что почитать по теме, заранее благодарю всех кто выскажется по теме.

Сканер штрих-кодов LS1203 Motorolla
  Форум: Работа с торговым оборудованием · Просмотр сообщения: #96997 · Ответов: 0 · Просмотров: 1931
 

>  Прайс, Артикул + остатки + оптовая цена + розница
Козаностра
Отправлено: 23.02.15, 16:05


Молчаливый
*

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


Код
// ===============================
// ОПИСАНИЕ МОДУЛЬНЫХ ПЕРЕМЕННЫХ

Перем СписокПодбора,СправочникПодбора;
// СписокПодбора - список, в который отбираются элементы
//                            (используется для множественных фильтров)
// СправочникПодбора - строка - идентификатор справочника, из которого осуществляется отбор
//                            (используется для множественных фильтров)            

Перем СписокТоваров;    // список товаров для фильтрации

Перем ВидСправочника;   // Вид печатаемого справочника (Номенклатура или прайс-лист)
                        // Определяется параметром. По умолчанию - прайс  
Перем ЗаголовокТаблицы; // Заголовок печатной формы

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

// ===============================
// ПРОЦЕДУРЫ И ФУНКЦИИ, ВЫЗЫВАЕМЫЕ ИЗ ФОРМУЛ ЭЛЕМЕНТОВ ДИАЛОГА

// ===============================
// Название: Сдвиг
// Параметры:
//  Режим - строка: "Вверх" или "Вниз",- определяющая направление сдвига
//     Список - список, в котором происходит сдвиг     
// Возвращаемое значение:
// НЕТ
// Вызывается из формул элементов диалога:
//   кнопки со стрелками вверх и вниз
// Наименование,.
// Описание:
//    сдвигает текущую позицию в списке на 1 элемент вниз или вверх
//
Процедура Сдвиг(Режим,Список)
    Перем ТекущПредставление;
    Перем СледующПредставление;
    
    ТекущаяСтрока=Список.ТекущаяСтрока();
    Если ТекущаяСтрока<=0 Тогда
        Возврат;
    КонецЕсли;    
    
    Если Режим="Вверх" Тогда
        Если ТекущаяСтрока=1 Тогда
            СледующСтрока=Список.РазмерСписка();
        Иначе
            СледующСтрока=ТекущаяСтрока-1;
        КонецЕсли;
    ИначеЕсли Режим="Вниз" Тогда
        Если ТекущаяСтрока=Список.РазмерСписка() Тогда
            СледующСтрока=1;
        Иначе
            СледующСтрока=ТекущаяСтрока+1;
        КонецЕсли;
    Иначе
        Возврат;
    КонецЕсли;
    
    ТекущЗначение=Список.ПолучитьЗначение(ТекущаяСтрока,ТекущПредставление);
    СледующЗначение=Список.ПолучитьЗначение(СледующСтрока,СледующПредставление);
    
    Список.УстановитьЗначение(СледующСтрока,ТекущЗначение,ТекущПредставление,1);
    Список.УстановитьЗначение(ТекущаяСтрока,СледующЗначение,СледующПредставление,1);
    
    Список.ТекущаяСтрока(СледующСтрока);

КонецПроцедуры   // Сдвиг


// ===============================
// Название: РаботаСоСписком
// Параметры:
//     Режим - строка, принимающая 4 значения:
//        "Добавить"
//        "ДобавитьНесколько"
//         "Удалить"
//         "УдалитьВсе"
//    Список - список значений, в котором задается множественный фильтр
//    ТипСправочника - строка, содержащая идентификатор справочнника, по
//                        которому осуществляется мноджественный фильтр
// Возвращаемое значение:
// НЕТ
// Вызывается из формул элементов диалога:
//   кнопок работы с множественными фильтрами ("...",".....","X","XX")
// Наименование,.
// Описание:
// процедура предназначена для добавления и удаления элементов
// из множественных фильтров
Процедура РаботаСоСписком(Режим,Список,ТипСправочника)
    Перем ТекПоз;
    Перем ТекЭлемент;
    Перем Фрм;
                                    
    Если ТипСправочника = "Категории" Тогда
        ТипСправочника = "ВидыКатегории";
    КонецЕсли;    
    
    ТекПоз = Список.ТекущаяСтрока();
    Если ТекПоз>0 Тогда
        ТекЭлемент=Список.ПолучитьЗначение(ТекПоз);
    КонецЕсли;

    Если Режим="Добавить" Тогда        // добавляем в список один элемент
        СписокПодбора = Список;
        СправочникПодбора = ВРег(ТипСправочника);
        // открываем окно подбора
        ОткрытьПодбор("Справочник."+ТипСправочника,,Фрм,0,ТекЭлемент);
        Фрм.ВыборГруппы(1);

    ИначеЕсли Режим="ДобавитьНесколько" Тогда  // добавляем в список несколько элементов
        СписокПодбора = Список;
        СправочникПодбора = ВРег(ТипСправочника);
        // открываем окно подбора
        ОткрытьПодбор("Справочник."+ТипСправочника,,Фрм,1,ТекЭлемент);
        Фрм.ВыборГруппы(1);

    ИначеЕсли Режим="УдалитьВсе" Тогда    // удаляем все элементы из списка
        Список.УдалитьВсе();

    ИначеЕсли Режим="Удалить" Тогда    // удаляем из списка один элемент
        Если ТекПоз>0 Тогда
            Список.УдалитьЗначение(ТекПоз);
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры        // работа со списком
                          


// ===============================
// Название: Выполнить
// Параметры:                                            
// НЕТ
// Возвращаемое значение:
// НЕТ
// Вызывается из формул элементов диалога:
//  Кнопки "Печать"
// Описание:
//    выполняет печать прайс-листа
//
Процедура Печать()
    Перем СписокПозиций, СписокТоваров;
    
    СписокТоваров = СоздатьОбъект("СписокЗначений");
    СписокПозиций = СоздатьОбъект("СписокЗначений");
        
    НаложенФильтрПоТоварам=0;
    
        // накладываем множественный фильтр по товарам
    Если МФНоменклатура.РазмерСписка()<>0 Тогда
            
        Для Индекс=1 По МФНоменклатура.РазмерСписка() Цикл
            Позиция = МФНоменклатура.ПолучитьЗначение(Индекс);
            
            НоменкВложенаВДругую=0;
            Для Индекс2=1 По МФНоменклатура.РазмерСписка() Цикл
                Если Индекс2<>Индекс Тогда      
                    Позиция2 = МФНоменклатура.ПолучитьЗначение(Индекс2);
                    Если Позиция2.ЭтоГруппа()>0 Тогда
                        Если Позиция.ПринадлежитГруппе(Позиция2)>0 Тогда
                            НоменкВложенаВДругую=1;
                            Прервать;
                        КонецЕсли;    
                    КонецЕсли;    
                КонецЕсли;    
            КонецЦикла;    
            
            Если НоменкВложенаВДругую=1 Тогда
                Продолжить;
            КонецЕсли;        
            
            Если Позиция.ЭтоГруппа()>0 Тогда
                СпрПозиций = СоздатьОбъект("Справочник."+ВидСправочника);
                СпрПозиций.ИспользоватьРодителя(Позиция.ТекущийЭлемент());
                СпрПозиций.ВыбратьЭлементы(1);
                Пока СпрПозиций.ПолучитьЭлемент()>0 Цикл
                    Если СпрПозиций.ЭтоГруппа()=0 Тогда    
                        СписокПозиций.ДобавитьЗначение(СпрПозиций.ТекущийЭлемент());
                        Если Нрег(ВидСправочника) = "прайс_лист" Тогда
                            СписокТоваров.ДобавитьЗначение(СпрПозиций.Товар.ТекущийЭлемент());
                        Иначе
                            СписокТоваров.ДобавитьЗначение(СпрПозиций.ТекущийЭлемент());
                        КонецЕсли;                                                    
                    КонецЕсли;
                КонецЦикла;    
            Иначе
                СписокПозиций.ДобавитьЗначение(Позиция.ТекущийЭлемент());
                Если Нрег(ВидСправочника) = "прайс_лист" Тогда
                    СписокТоваров.ДобавитьЗначение(Позиция.Товар.ТекущийЭлемент());
                Иначе
                    СписокТоваров.ДобавитьЗначение(Позиция.ТекущийЭлемент());
                КонецЕсли;    
            КонецЕсли;                                                          
            
        КонецЦикла;    
        
        Если СписокПозиций.РазмерСписка()=0 Тогда
            Предупреждение("Список позиций пуст");
            Возврат;
        КонецЕсли;    
        
        НаложенФильтрПоТоварам=1;
    КонецЕсли;    
        
    
    // не включать отсутствующие
    Если ТолькоПрисутствующие<>0 Тогда
        
        ВремРегистры=СоздатьОбъект("Регистры");
        Рег=ВремРегистры.ОстаткиТоваров;
        Если РабочаяДата()<ПолучитьДатуТА() Тогда
            Рег.ВременныйРасчет();                            
            Если НаложенФильтрПоТоварам=1 Тогда
                Рег.УстановитьЗначениеФильтра("Товар",СписокТоваров,2);
            КонецЕсли;    
            Рег.УстановитьЗначениеФильтра("Фирма",ВыбФирма);
            ВремРегистры.РассчитатьРегистрыПО(РабочаяДата());
        КонецЕсли;
        
        Если НаложенФильтрПоТоварам=1 Тогда
            
            ЧислоТов = СписокПозиций.РазмерСписка();
            Для Индекс = 1 По ЧислоТов Цикл
                
                НеУдовлетвФильтру=0;
                Номенк = СписокТоваров.ПолучитьЗначение(ЧислоТов+1-Индекс);
                
                // накладываем фильтр по присутствию/отсутствию
                Если Номенк.ВидТМЦ<>Перечисление.ВидыТМЦ.Товар Тогда
                    НеУдовлетвФильтру=1;
                Иначе
                    Кол = ВремРегистры.ОстаткиТоваров.СводныйОстаток(ВыбФирма,Номенк,,,,"ОстатокТовара");
                    Если Кол<=0 Тогда
                        НеУдовлетвФильтру=1;
                    КонецЕсли;
                КонецЕсли;              
                
                Если НеУдовлетвФильтру=1 Тогда                    
                    СписокПозиций.УдалитьЗначение(ЧислоТов+1-Индекс);
                КонецЕсли;
            КонецЦикла;
            
        Иначе  
            
            СпрПозиций = СоздатьОбъект("Справочник."+ВидСправочника);
            СпрПозиций.ВыбратьЭлементы();
            Пока СпрПозиций.ПолучитьЭлемент()>0 Цикл
                Если СпрПозиций.ЭтоГруппа()=0 Тогда    
                    Если Нрег(ВидСправочника) = "прайс_лист" Тогда
                        Номенк = СпрПозиций.Товар.ТекущийЭлемент();
                    Иначе
                        Номенк = СпрПозиций.ТекущийЭлемент();
                    КонецЕсли;    
                
                    Если Номенк.ВидТМЦ=Перечисление.ВидыТМЦ.Товар Тогда
                        Кол = ВремРегистры.ОстаткиТоваров.СводныйОстаток(ВыбФирма,Номенк.ТекущийЭлемент(),,,,,"ОстатокТовара");
                        Если Кол>0 Тогда
                            СписокПозиций.ДобавитьЗначение(СпрПозиций.ТекущийЭлемент());
                        КонецЕсли;    
                    КонецЕсли;    
                КонецЕсли;
            КонецЦикла;    
            
        КонецЕсли;
        
        Если СписокПозиций.РазмерСписка()=0 Тогда
            Предупреждение("Список позиций пуст");
            Возврат;
        КонецЕсли;    
        
        НаложенФильтрПоТоварам=1;

    КонецЕсли;    
    
    Если МФКатНоменклатуры.РазмерСписка() > 0 Тогда
        
        ТекстЗапроса = "                    
            |Обрабатывать НеПомеченныеНаУдаление;
            |КатегорияПозиции = Справочник.КатегорииТоваров.ТекущийЭлемент;
            |Товар = Справочник.КатегорииТоваров.Владелец;
            |КатегорияТов = Справочник.КатегорииТоваров.Категория;                
            |Группировка Товар Без Групп;
            |Группировка КатегорияТов Без Групп;
            |Условие (КатегорияТов В МФКатНоменклатуры);
            |Условие (Товар В СписокТоваров);";
            
        // выполняем запрос
        Запрос = СоздатьОбъект("Запрос");
        Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
            Возврат;
        КонецЕсли;
                      
        СписокТоваров.УдалитьВсе();
        ЧислоКатегорийВСписке = МФКатНоменклатуры.РазмерСписка();
        
        // выгружаем все отобранные товары в список
        Запрос.ВНачалоВыборки();
        Пока Запрос.Группировка("Товар") = 1 Цикл
            Если Запрос.Товар.Выбран() = 1 Тогда                                  
                Если ТипМФКатНоменклатуры.ТекущаяСтрока() = 2 Тогда
                    // одновременно все категории должны быть в списке МФКатегории
                    
                    ПозицияСправочника = Запрос.Товар.ТекущийЭлемент();
                    
                    // ячитаем число категорий
                    ЧислоКатегорий = 0;
                    Пока Запрос.Группировка("КатегорияТов") = 1 Цикл
                        Если Запрос.КатегорияТов.Выбран() = 1 Тогда                                  
                            ЧислоКатегорий = ЧислоКатегорий + 1;
                        КонецЕсли;
                    КонецЦикла;
                    
                    // все категории будут тогда и только тогда, когда число отобранных
                    // категорий будет не меньше размера списка МФКатегории
                    Если ЧислоКатегорий >= ЧислоКатегорийВСписке Тогда
                        СписокТоваров.ДобавитьЗначение(ПозицияСправочника.ТекущийЭлемент());
                    КонецЕсли;    
                Иначе
                    СписокТоваров.ДобавитьЗначение(Запрос.Товар.ТекущийЭлемент());
                КонецЕсли;    
            КонецЕсли;
        КонецЦикла;
            
        Если НаложенФильтрПоТоварам = 1 Тогда
            
            РазмерСпискаПозиций = СписокПозиций.РазмерСписка();
            Для Индекс = 1 по РазмерСпискаПозиций Цикл
                Если СписокТоваров.Принадлежит(?(НРег(ВидСправочника) = "прайс_лист",
                                                СписокПозиций.ПолучитьЗначение(РазмерСпискаПозиций - Индекс + 1).Товар,
                                                СписокПозиций.ПолучитьЗначение(РазмерСпискаПозиций - Индекс + 1))) = 0 Тогда
                    СписокПозиций.УдалитьЗначение(РазмерСпискаПозиций - Индекс + 1);
                КонецЕсли;
            КонецЦикла;
            
        Иначе
            
            СпрПозиций = СоздатьОбъект("Справочник." + ВидСправочника);
            СпрПозиций.ВыбратьЭлементы();
            Пока СпрПозиций.ПолучитьЭлемент() = 1 Цикл
                Если СпрПозиций.ЭтоГруппа() = 0 Тогда    
                    Если СписокТоваров.Принадлежит(?(НРег(ВидСправочника) = "прайс_лист",
                                                    СпрПозиций.ТекущийЭлемент().Товар,
                                                    СпрПозиций.ТекущийЭлемент())) = 1 Тогда
                        СписокПозиций.ДобавитьЗначение(?(НРег(ВидСправочника) = "прайс_лист", СпрПозиций.ТекущийЭлемент(), СпрПозиций.Товар.ТекущийЭлемент()));
                    КонецЕсли;
                КонецЕсли;
            КонецЦикла;    
            
        КонецЕсли;
            
        Если СписокПозиций.РазмерСписка() = 0 Тогда
            Предупреждение("Список позиций пуст");
            Возврат;
        КонецЕсли;    
        
    КонецЕсли;
    
    // теперь отбираем позиции справочника
    Если Нрег(ВидСправочника) = "прайс_лист" Тогда
        ТекстЗапроса = "                    
            |Период С '"+Строка(Мин(РабочаяДата(),ПолучитьДатуТА()))+"' По '"+Строка(Мин(РабочаяДата(),ПолучитьДатуТА()))+"';
            |Позиция = Справочник.Прайс_лист.ТекущийЭлемент;
            |Товар = Справочник.Прайс_лист.Товар;
            |Группировка Позиция;
            |Условие (Позиция В СписокПозиций);
            |";
    ИначеЕсли Нрег(ВидСправочника) = "тмц" Тогда
        ТекстЗапроса = "                    
            |Период С '"+Строка(Мин(РабочаяДата(),ПолучитьДатуТА()))+"' По '"+Строка(Мин(РабочаяДата(),ПолучитьДатуТА()))+"';
            |Позиция = Справочник.ТМЦ.ТекущийЭлемент;
            |Товар = Справочник.ТМЦ.ТекущийЭлемент;
            |Группировка Позиция;
            |Условие (Позиция В СписокПозиций);
            |";
    КонецЕсли;
        
    // выполняем запрос
    Запрос = СоздатьОбъект("Запрос");
    Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
        Возврат;
    КонецЕсли;
              
    //  Создание Таблицы для выходного отчета
    Таб=СоздатьОбъект("Таблица");
    
    Ном=0;
    
    Если (ЕдиницаПечати.ТекущаяСтрока()<>1)И(ЕдиницаПечати.ТекущаяСтрока()<>2) Тогда
        ПечатьВФиксЕдиницах = 0;
    Иначе
        ПечатьВФиксЕдиницах = 1;
    КонецЕсли;              
    
    Если ВалютаПечати.Выбран()=0 Тогда
        ПечатьВФиксВалюте = 0;
        Заг="";
    Иначе                      
        ПечатьВФиксВалюте = 1;
        Валюта = ВалютаПечати;
        Заг="Цены указаны в "+СокрЛП(Валюта.Кратко);
    КонецЕсли;    
    
    Таб.ВывестиСекцию("Отчет");
    Таб.ВывестиСекцию("Шапка|НазваниеПозиции");
    Для Индекс = 1 По МФКатЦены.РазмерСписка() Цикл
        ТипЦены = МФКатЦены.ПолучитьЗначение(Индекс);
        Таб.ПрисоединитьСекцию("Шапка|Цена");
    КонецЦикла;    
            
    СписокГрупп = СоздатьОбъект("СписокЗначений");
    
    Цена = СоздатьОбъект("Справочник.Цены");
    Цена.ИспользоватьДату(РабочаяДата());
    
    Пока Запрос.Группировка("Позиция")>0 Цикл
        Если Запрос.Позиция.Выбран()=0 Тогда
            Продолжить;
        КонецЕсли;      
            
        глОживить(1);
        
        Если Запрос.Позиция.ЭтоГруппа()=1 тогда
            СписокГрупп.ДобавитьЗначение(Запрос.Позиция.ТекущийЭлемент());            
            Продолжить;
        КонецЕсли;    
        
        Цена.ИспользоватьВладельца(Запрос.Товар.ТекущийЭлемент());
        
        Если Нрег(ВидСправочника) = "прайс_лист" Тогда
            НашлиНенулевуюЦену=0;
            
            Для Индекс = 1 По МФКатЦены.РазмерСписка() Цикл  
                ТипЦены = МФКатЦены.ПолучитьЗначение(Индекс).ТекущийЭлемент();
                Если Цена.НайтиПоРеквизиту("КатегорияЦены",ТипЦены,0)<=0 Тогда
                    Продолжить;
                КонецЕсли;    
                Если Цена.Цена=0 Тогда
                    Продолжить;
                КонецЕсли;      
                НашлиНенулевуюЦену=1;
                Прервать;
            КонецЦикла;        
            
            Если НашлиНенулевуюЦену=0 Тогда
                Продолжить;
            КонецЕсли;    
        КонецЕсли;    
            
        Пока СписокГрупп.РазмерСписка()>0 Цикл
            Гр = СписокГрупп.ПолучитьЗначение(1);
            Если Запрос.Позиция.ПринадлежитГруппе(Гр)>0 Тогда
                Если Гр.Уровень()=1 Тогда
                    Таб.ВывестиСекцию("Группа1|НазваниеПозиции");
                ИначеЕсли Гр.Уровень()=2 Тогда
                    Таб.ВывестиСекцию("Группа2|НазваниеПозиции");
                Иначе
                    Таб.ВывестиСекцию("Группа3|НазваниеПозиции");
                КонецЕсли;  
            КонецЕсли;    
            СписокГрупп.УдалитьЗначение(1);
        КонецЦикла;
                          
        Если ПечатьВФиксЕдиницах=1 Тогда
            Если ЕдиницаПечати.ТекущаяСтрока()=1 Тогда    
                Единица = Запрос.Товар.ЕдиницаПоУмолчанию;
            ИначеЕсли ЕдиницаПечати.ТекущаяСтрока()=2 Тогда    
                Единица = глВернутьБазовуюЕдиницуТовара(Запрос.Товар.ТекущийЭлемент());
            КонецЕсли;
        КонецЕсли;
            
        Ном=Ном+1;
        Таб.ВывестиСекцию("Товар|НазваниеПозиции");
        
        Для Индекс = 1 По МФКатЦены.РазмерСписка() Цикл  
            ТипЦены = МФКатЦены.ПолучитьЗначение(Индекс).ТекущийЭлемент();
            Если Цена.НайтиПоРеквизиту("КатегорияЦены",ТипЦены,0)<=0 Тогда
                ПечЦена = "";
            Иначе
                
                Если ПечатьВФиксВалюте=0 Тогда
                    Валюта = Цена.Валюта;
                КонецЕсли;
                
                Если ПечатьВФиксЕдиницах=0 Тогда
                    Единица = Цена.Единица;
                КонецЕсли;    
                
                ЧЦена = Цена.Цена;
                Если Единица<>Цена.Единица Тогда
                    ЧЦена = ?(Цена.Единица.Коэффициент = 0,ЧЦена * Единица.Коэффициент / 1,ЧЦена * Единица.Коэффициент / Цена.Единица.Коэффициент);
                КонецЕсли;    
                ЧЦена = глПересчет(ЧЦена,Цена.Валюта,РабочаяДата(),Валюта,РабочаяДата(),);
                ПечЦена = СокрЛП(глФРМ(ЧЦена,Валюта,?(ПечатьВФиксВалюте=0,1,0)))+?(ПечатьВФиксЕдиницах=0," / "+СокрЛП(Строка(Единица)),"");
            КонецЕсли;    
            
            Таб.ПрисоединитьСекцию("Товар|Цена");
                    
        КонецЦикла;    
        
    КонецЦикла;    
    
    //Вызов выходного отчета в окно просмотра и редактирования.
    Таб.ПовторятьПриПечатиСтроки(1,5);
    Таб.Опции(0,0,5,0,ПарСтрСпр);
    Таб.Защита(Константа.ФлагЗащитыТаблиц);
    Таб.ТолькоПросмотр(1);
    Таб.Показать(ВидСправочника,"");
        
КонецПроцедуры


// ===============================
// ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ

// ===============================
Процедура ПриОткрытии() // Предопределенная процедура
    // Определяем какой спрвочник печатается
    Если ПустоеЗначение(Форма.Параметр) = 1 Тогда
        ВидСправочника = "Прайс_лист";
    Иначе
        ВидСправочника = СокрЛП(Форма.Параметр);
    КонецЕсли;                          

    ВыбФирма = глВосстановитьЗначение(,"БазФирма");
    
    Если Нрег(ВидСправочника) = "прайс_лист" Тогда
        Форма.ПозицииТекст.Заголовок("Позиции и группы прайс-листа:");
        ЗаголовокТаблицы = "Прайс-лист";
        Форма.Заголовок("Печать прайс-листа");
    ИначеЕсли Нрег(ВидСправочника) = "тмц" Тогда
        Форма.ПозицииТекст.Заголовок("Позиции и группы номенклатуры:");
        ЗаголовокТаблицы = "Каталог товаров";
        Форма.Заголовок("Печать каталога товаров");
    Иначе
        Предупреждение("Обработка вызвана с неверным параметром.");
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
        
КонецПроцедуры
    
Процедура ОбработкаПодбора(Значение)  // Предопределенная процедура
    Перем ПредставлениеЗначения;
    
    Если (ВРег(Значение.Вид())=СправочникПодбора)И(СписокПодбора.НайтиЗначение(Значение)=0) Тогда
        ПредставлениеЗначения = Строка(Значение);
        Если СправочникПодбора="ПРАЙС_ЛИСТ" Тогда
            Если (Значение.ЭтоГруппа()=0)И(Значение.Товар.Выбран()>0) Тогда
                ПредставлениеЗначения = Строка(Значение.Товар);
            КонецЕсли;    
        КонецЕсли;    
        СписокПодбора.ДобавитьЗначение(Значение,ПредставлениеЗначения);
        СписокПодбора.ТекущаяСтрока(СписокПодбора.РазмерСписка());
    КонецЕсли;
КонецПроцедуры  // ОбработкаПодбора
              

// ===============================
// ТЕЛО МОДУЛЯ

ЕдиницаПечати.УдалитьВсе();
ЕдиницаПечати.ДобавитьЗначение("по умолчанию");        //    1
ЕдиницаПечати.ДобавитьЗначение("базовая");            //    2    
ЕдиницаПечати.ДобавитьЗначение("задания цен");      //    3
ЕдиницаПечати.ТекущаяСтрока(1);
                          
ТипМФКатНоменклатуры.УдалитьВсе();
ТипМФКатНоменклатуры.ДобавитьЗначение("одна из");
ТипМФКатНоменклатуры.ДобавитьЗначение("одновременно все");
ТипМФКатНоменклатуры.ТекущаяСтрока(1);

МФКатЦены.УдалитьВсе();
ВсеЦены = СоздатьОбъект("Справочник.КатегорииЦен");
ВсеЦены.ВыбратьЭлементы();
Пока ВсеЦены.ПолучитьЭлемент()>0 Цикл
    МФКатЦены.ДобавитьЗначение(ВсеЦены.ТекущийЭлемент());      
КонецЦикла;


Я вообще нуб в 1с знаком неделю, выше код формы печать прайса, мне нужно добавить остатки в колонку.
и возможность его экспорта в формате csv.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #96505 · Ответов: 3 · Просмотров: 2509
 

>  Прайс, Артикул + остатки + оптовая цена + розница
Козаностра
Отправлено: 23.02.15, 13:58


Молчаливый
*

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


Извиняюсь я ищу готовое решение, если писать сколько будет стоить?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #96500 · Ответов: 3 · Просмотров: 2509
 

>  Прайс, Артикул + остатки + оптовая цена + розница
Козаностра
Отправлено: 23.02.15, 12:17


Молчаливый
*

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


Ребят выручайте, нужно генерировать прайс в таком виде

Артикул + остатки + оптовая цена + розница
с возможностью экспорта

1С 7.7

"Бухгалтерия+Торговля+Склад+Зарплата+Кадры для Украины" (7.70.009)
Разработка конфигурации: "ABBYY Ukraine", 2001"
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #96496 · Ответов: 3 · Просмотров: 2509
 


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

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