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

Хранилище

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

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




>  Загрузить номенклатуру с каталогами из XLS
yoj
Отправлено: 27.08.20, 10:03


Общительный
**

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


1С:Предприятие 8.3 (8.3.15.1489)
"Управление торговым предприятием для Украины", редакция 1.2. (1.2.53.1)
Есть каталог товаров выгружен из Номенклатура-Действие- Вывести список...
Структура у некоторых товаров достигает 5-8 подпапок.
Вот такого плана.

Как из такого файла корректно загрузить обратно в другую базу, что бы все товары были по своим каталогам.
  Форум: 1С Управление Торговым Предприятием 8 · Просмотр сообщения: #165954 · Ответов: 1 · Просмотров: 1178
 

>  Код Банку "0" в счете на оплату покупателю
yoj
Отправлено: 07.11.19, 15:15


Общительный
**

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


sava1 @ Сегодня, 15:14 * ,
То есть не особо напрягаться на счет этого? правильно?
  Форум: 1С Управление Торговым Предприятием 8 · Просмотр сообщения: #157320 · Ответов: 5 · Просмотров: 3666
 

>  Код Банку "0" в счете на оплату покупателю
yoj
Отправлено: 07.11.19, 15:07


Общительный
**

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


sava1 @ Сегодня, 15:04 * ,
1C-ке около 1,5 месяца. Сразу было вписано счет IBAN
  Форум: 1С Управление Торговым Предприятием 8 · Просмотр сообщения: #157316 · Ответов: 5 · Просмотров: 3666
 

>  Код Банку "0" в счете на оплату покупателю
yoj
Отправлено: 07.11.19, 14:33


Общительный
**

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


1С предприятие 8.3 (8.3.15.1489)
УТП для Украины 1.2
При выставлении счета на оплату покупателю в печатной форме Код Банку стоит "0". (фото)

В реквизитах банка все поля заполнены. В Элемент Банковские счета возле банка синим есть Код банка:******
  Форум: 1С Управление Торговым Предприятием 8 · Просмотр сообщения: #157313 · Ответов: 5 · Просмотров: 3666
 

>  Периодически вылазит ошибка при взвешивании на весах с Keli
yoj
Отправлено: 25.10.19, 15:21


Общительный
**

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


1С 8.3 (8.3.11.2867)
УПП 1.3
Весовой модуль Keli XK3118T1
На одной весовой при нажатии на кнопку взвешивания периодически выскакивает ошибка: (общийМодуль.ИНАГРО_ДирективыПрепроцессору.Модуль(933)): Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
Вес = ?(Вес<0, 0, Вес);
Есть 5 весовых с одинаковыми весами и с одной и той же терминальной 1С.
Поменяли ПК, индикатор весовой, кабель. Пробовали менять скорость обмена.
Подскажите куда еще можно порыть?

Код
Функция ПоказательЭлектронныхВесов(НомерВесов=1, документ = Неопределено, Организация = Неопределено, ВидСобытия = Неопределено) Экспорт    
    Перем Вес, ВО;

    Вес = Неопределено;
    МаксимальныйВес = 999999999;

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

            
            Выборка = Запрос.Выполнить().Выбрать();            
            Если Выборка.Количество()=0 тогда

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


Если кинул не в ту ветку, исправьте пожалуйста)
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #156908 · Ответов: 3 · Просмотров: 1598
 

>  Не печатает один отредактированный(печатная форма) документ
yoj
Отправлено: 10.04.19, 14:47


Общительный
**

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


Не печатает один отредактированный(печатная форма) документ.
Выводим на Печать документ ТТН (товаро-транспортная накладная), выбираем Таблица-Вид-Редактировать. Вписываем строку и нажимаем печатать. Печатает исходный вид документа.
В счетах, накладных печатает именно отредактированный документ.
Где можно убрать этот запрет?

1С Предприятие 8,3 (8.3.11.2867)
Конфигурация: Управление производственным предприятием, редакция 1.3 БИТ.ФИНАНС 3.0
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #151412 · Ответов: 0 · Просмотров: 896
 

>  Округление цены в печати ценников
yoj
Отправлено: 01.04.19, 15:04


Общительный
**

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


Vidocq05 @ Сегодня, 15:12 * ,
Оставить без "ОкруглятьВБольшуюСторону" то ругается.
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #151128 · Ответов: 4 · Просмотров: 1931
 

>  Округление цены в печати ценников
yoj
Отправлено: 01.04.19, 13:21


Общительный
**

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


1с 8.2.19.130 УПП для Украины 1.3
Есть обработка Печать ценников.
В ней есть строка
Цена = Ценообразование.ОкруглитьЦену(Цена, ТипЦен.ПорядокОкругления, ТипЦен.ОкруглятьВБольшуюСторону);
Как сделать что бы округления не было?
И еще вопрос посложнее.
ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
    Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
        ТоварКод = "Артикул";
    ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
        ТоварКод = "Код";
    Иначе
        ТоварКод = "";
    КонецЕсли;

Под названием печатает Код товара. Как заставить печатать код стыковки (Свойства номенклатуры-Свойство-СтыковкаТоваровТЦУ)


Вся обработка:
#Если Клиент Тогда
// Процедура заполняет построитель отчета.
//
Процедура ЗаполнитьПостроительОтчета() Экспорт

    ПостроительОтчета.Параметры.Вставить("ПустаяХарактеристика", Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка());

    ТекстЗапроса = "
    |ВЫБРАТЬ
    |    ИСТИНА КАК Печать,
    |    СпрНоменклатура.Номенклатура КАК Номенклатура,
    |    СпрНоменклатура.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |    СпрНоменклатура.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
    |    0 КАК Цена,
    |    1 КАК Количество
    |ИЗ
    |    (ВЫБРАТЬ
    |        СпрНоменклатура.Ссылка КАК Номенклатура,
    |        &ПустаяХарактеристика КАК ХарактеристикаНоменклатуры
    |    ИЗ
    |        Справочник.Номенклатура КАК СпрНоменклатура
    |    ГДЕ НЕ СпрНоменклатура.ЭтоГруппа
    |    {ГДЕ
    |        СпрНоменклатура.Ссылка.* КАК Номенклатура}
    |    ОБЪЕДИНИТЬ ВСЕ
    |    ВЫБРАТЬ
    |        СпрХарактеристики.Владелец,
    |        СпрХарактеристики.Ссылка
    |    ИЗ
    |        Справочник.ХарактеристикиНоменклатуры КАК СпрХарактеристики
    |    {ГДЕ
    |        СпрХарактеристики.Владелец.* КАК Номенклатура,
    |        СпрХарактеристики.Ссылка.* КАК ХарактеристикаНоменклатуры}
    |    ) КАК СпрНоменклатура
    |";
    
    Если ТолькоИмеющиесяВНаличии Тогда
        ТекстЗапроса = ТекстЗапроса + "
        |ЛЕВОЕ СОЕДИНЕНИЕ
        |    (ВЫБРАТЬ
        |        НаСкладе.Номенклатура,
        |        НаСкладе.ХарактеристикаНоменклатуры,
        |        СУММА(НаСкладе.Количество) КАК Количество
        |    ИЗ
        |        (ВЫБРАТЬ
        |            НаСкладе.Номенклатура,
        |            НаСкладе.ХарактеристикаНоменклатуры,
        |            НаСкладе.КоличествоОстаток КАК Количество
        |        ИЗ
        |            РегистрНакопления.ТоварыНаСкладах.Остатки(, {Номенклатура.* КАК Номенклатура,
        |               ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
        |               Склад.* КАК Склад}) КАК НаСкладе
        |        ОБЪЕДИНИТЬ ВСЕ
        |        ВЫБРАТЬ
        |            ВРознице.Номенклатура,
        |            ВРознице.ХарактеристикаНоменклатуры,
        |            ВРознице.КоличествоОстаток КАК Количество
        |        ИЗ
        |            РегистрНакопления.ТоварыВРознице.Остатки(, {Номенклатура.* КАК Номенклатура,
        |               ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
        |               Склад.* КАК Склад}) КАК ВРознице
        |        ОБЪЕДИНИТЬ ВСЕ
        |        ВЫБРАТЬ
        |            ВНТТ.Номенклатура,
        |            ВНТТ.ХарактеристикаНоменклатуры,
        |            ВНТТ.КоличествоОстаток КАК Количество
        |        ИЗ
        |            РегистрНакопления.ТоварыВНТТ.Остатки(, {Номенклатура.* КАК Номенклатура,
        |               ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
        |               Склад.* КАК Склад}) КАК ВНТТ
        |        ) КАК НаСкладе
        |    СГРУППИРОВАТЬ ПО
        |        НаСкладе.Номенклатура,
        |        НаСкладе.ХарактеристикаНоменклатуры
        |    ) КАК НаСкладе
        |ПО
        |    СпрНоменклатура.Номенклатура = НаСкладе.Номенклатура
        |    И СпрНоменклатура.ХарактеристикаНоменклатуры = НаСкладе.ХарактеристикаНоменклатуры
        |ГДЕ
        |    ЕСТЬNULL(НаСкладе.Количество, 0) > 0
        |";
    КонецЕсли;

    ТекстЗапроса = ТекстЗапроса + "
    |УПОРЯДОЧИТЬ ПО
    |    СпрНоменклатура.Номенклатура.Наименование,
    |    СпрНоменклатура.ХарактеристикаНоменклатуры.Наименование
    |";

    // Соответствие имен полей в запросе и их представлений в отчете.
    СтруктураПредставлениеПолей = Новый Структура(
    "Номенклатура,   ХарактеристикаНоменклатуры,    Склад",
    "Номенклатура", "Характеристика номенклатуры", "Склад");

    ПостроительОтчета.Текст = ТекстЗапроса;

    ПостроительОтчета.ЗаполнитьНастройки();

    // Создадим список доступных отборов.
    СоответствиеДоступныхОтборов = Новый Соответствие;
    СоответствиеДоступныхОтборов.Вставить("Номенклатура", 0);
    СоответствиеДоступныхОтборов.Вставить("ХарактеристикаНоменклатуры", 0);
    СоответствиеДоступныхОтборов.Вставить("Склад", 0);

    Для Каждого ДоступноеПоле Из ПостроительОтчета.ДоступныеПоля Цикл
        Если СоответствиеДоступныхОтборов[ДоступноеПоле.Имя] =Неопределено Тогда
            ДоступноеПоле.Отбор = Ложь;
        Иначе
            ДоступноеПоле.Отбор = Истина;
        КонецЕсли;
    КонецЦикла;

    // Создадим массив отборов.
    МассивОтбора = Новый Массив;
    МассивОтбора.Добавить("Номенклатура");
    МассивОтбора.Добавить("ХарактеристикаНоменклатуры");

    Если ТолькоИмеющиесяВНаличии Тогда
        МассивОтбора.Добавить("Склад");
    КонецЕсли;

    Для Каждого ЭлементОтбора Из МассивОтбора Цикл
        Если ПостроительОтчета.Отбор.Найти(ЭлементОтбора) = Неопределено Тогда
            ПостроительОтчета.Отбор.Добавить(ЭлементОтбора);
        КонецЕсли;
    КонецЦикла;

    // Вызовем стандартную процедуру заполнения представлений.
    УправлениеОтчетами.ЗаполнитьПредставленияПолей(СтруктураПредставлениеПолей, ПостроительОтчета);

КонецПроцедуры // ЗаполнитьПостроительОтчета()

// Процедура перезаполняет цены в табличной части.
//
Процедура ПерезаполнитьЦены() Экспорт

    СтруктураЗначений = Новый Структура;
    СтруктураЗначений.Вставить("НовыйТипЦен", ТипЦен);

    ЗапросПоЦенам = Ценообразование.СформироватьЗапросПоЦенам(СтруктураЗначений,
       Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры,
       Товары.ВыгрузитьКолонку("Номенклатура"),
       РабочаяДата,
       Неопределено).Выгрузить();

    ПустаяХарактеристика = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();
    ТипЦенРассчитывается = ТипЦен.Рассчитывается;

    СтруктураКурса = МодульВалютногоУчета.ПолучитьКурсВалюты(Валюта, РабочаяДата);
    Курс = СтруктураКурса.Курс;
    Кратность = СтруктураКурса.Кратность;

    Для Каждого СтрокаТовара Из Товары Цикл
        ХарактеристикаНоменклатуры = СтрокаТовара.ХарактеристикаНоменклатуры;

        СтруктураПоиска = Новый Структура("Номенклатура", СтрокаТовара.Номенклатура);

        СтрокиЦен = ЗапросПоЦенам.НайтиСтроки(СтруктураПоиска);

        СтрокаБезХарактеристики = Неопределено;
        СтрокаСХарактеристикой = Неопределено;

        Для Каждого СтрокаЦен Из СтрокиЦен Цикл
            Если СтрокаЦен.ХарактеристикаНоменклатуры = ПустаяХарактеристика Тогда
                СтрокаБезХарактеристики = СтрокаЦен;
            ИначеЕсли СтрокаЦен.ХарактеристикаНоменклатуры = ХарактеристикаНоменклатуры Тогда
                СтрокаСХарактеристикой = СтрокаЦен;
            КонецЕсли;
        КонецЦикла;

        Если СтрокаСХарактеристикой <> Неопределено Тогда
            НайденнаяСтрока = СтрокаСХарактеристикой;
        ИначеЕсли СтрокаБезХарактеристики <> Неопределено Тогда
            НайденнаяСтрока = СтрокаБезХарактеристики;
        Иначе
            НайденнаяСтрока = Неопределено;
        КонецЕсли;

        Если (НайденнаяСтрока <> Неопределено) И (НайденнаяСтрока.Цена <> 0) Тогда
            Цена = НайденнаяСтрока.Цена * (1 + ?(ТипЦенРассчитывается, НайденнаяСтрока.ПроцентСкидкиНаценки / 100, 0));
            Цена = Ценообразование.ОкруглитьЦену(Цена, ТипЦен.ПорядокОкругления, ТипЦен.ОкруглятьВБольшуюСторону);
            Цена = Ценообразование.ПересчитатьЦенуПриИзмененииВалюты(Цена, НайденнаяСтрока.ВалютаЦены, Валюта, Курс, Кратность);

            СтрокаТовара.ЕдиницаИзмерения = НайденнаяСтрока.ЕдиницаИзмеренияЦены;
        Иначе
            Цена = 0;
        КонецЕсли;

        СтрокаТовара.Цена = Цена;
    КонецЦикла;

КонецПроцедуры // ПерезаполнитьЦены()

// Функция формирует табличный документ - печатная форма ценника.
//
// Возвращаемое значение:
//  ТабличныйДокумент - сформированный табличный документ или Неопределено, если есть ошибки.
//
Функция ПечатьЦенника() Экспорт

    Если НЕ ЗначениеЗаполнено(Организация) Тогда
        Предупреждение("Не выбрана организация!");
        Возврат Неопределено;
    КонецЕсли;

    ТабДокумент                     = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Ценник";
    Макет                           = ПолучитьМакет("Ценник");
    КодЯзыкаПечать = ЛокализацияПовтИсп.ПолучитьЯзыкФормированияПечатныхФормДокументов();
    Макет.КодЯзыкаМакета = КодЯзыкаПечать;
    ОбластьЦенника                  = Макет.ПолучитьОбласть("Строка|Столбец");

    ДатаПечати = РабочаяДата;

    ТекСтолбец = 0;
    ТекСтрока  = 0;
    
    ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
    Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
        ТоварКод = "Артикул";
    ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
        ТоварКод = "Код";
    Иначе
        ТоварКод = "";
    КонецЕсли;
    
    Для Каждого СтрокаТаблицы Из Товары Цикл
        Если СтрокаТаблицы.Печать Тогда
            Для Тмп = 1 По СтрокаТаблицы.Количество Цикл
                ОбластьЦенника.Параметры.Заполнить(СтрокаТаблицы);
                ОбластьЦенника.Параметры.НоменклатураНаименование        = СтрокаТаблицы.Номенклатура.НаименованиеПолное + ?(ТоварКод <> "", " " + СокрЛП(СтрокаТаблицы.Номенклатура[ТоварКод]), "");
                ОбластьЦенника.Параметры.ХарактеристикаНаименование      = СтрокаТаблицы.ХарактеристикаНоменклатуры;
                ОбластьЦенника.Параметры.ЕдиницаНаименование             = СтрокаТаблицы.ЕдиницаИзмерения;
                ОбластьЦенника.Параметры.Цена                            = ОбщегоНазначения.ФорматСумм(СтрокаТаблицы.Цена, Валюта, "00");
                ОбластьЦенника.Параметры.ДатаПечати                      = ДатаПечати;
                ОбластьЦенника.Параметры.Организация                     = Организация;
                ОбластьЦенника.Параметры.ОрганизацияНаименование         = Организация;

                Если ТекСтолбец = 0 Тогда
                    ТабДокумент.Вывести(ОбластьЦенника);
                Иначе
                    ТабДокумент.Присоединить(ОбластьЦенника);
                КонецЕсли;

                ТекСтолбец = ТекСтолбец + 1;

                Если ТекСтолбец = 5 Тогда
                    ТекСтрока  = ТекСтрока + 1;
                    ТекСтолбец = 0;
                КонецЕсли;

                Если ТекСтрока = 3 Тогда
                    ТекСтрока = 0;
                    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;

    ТабДокумент.ТолькоПросмотр = Истина;

    Возврат ТабДокумент;

КонецФункции // ПечатьЦенника()

// Функция выполняет проверку параметров для заполнения цен.
//
// Возвращаемое значение:
//  Булево - Истина, если все параметры заданы.
//
Функция ПроверитьПараметрыЗаполненияЦен() Экспорт

    Если НЕ ЗначениеЗаполнено(ТипЦен) Тогда
        ОбщегоНазначения.СообщитьОбОшибке("Не выбран тип цен! Укажите тип цен и повторите перезаполнение цен.");
        Возврат Ложь;
    КонецЕсли;

    Если НЕ ЗначениеЗаполнено(Валюта) Тогда
        ОбщегоНазначения.СообщитьОбОшибке("Не выбрана валюта! Укажите валюту и повторите перезаполнение цен.");
        Возврат Ложь;
    КонецЕсли;

    Возврат Истина;

КонецФункции // ПроверитьПараметрыЗаполненияЦен()
#КонецЕсли
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #151126 · Ответов: 4 · Просмотров: 1931
 

>  Фоновое задание не дает выгрузить базу
yoj
Отправлено: 20.02.18, 12:50


Общительный
**

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


sava1 @ Сегодня, 11:46 * ,
Агент сервера 1С предприятие 8.2 останавливал и запускал.
а в Консоли этого задания не наблюдаю.
  Форум: Администрирование и настройка 1С · Просмотр сообщения: #138777 · Ответов: 5 · Просмотров: 4591
 

>  Фоновое задание не дает выгрузить базу
yoj
Отправлено: 20.02.18, 11:42


Общительный
**

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


sava1 @ Сегодня, 11:42 * ,
Да.
Месяц назад через конфигуратор базу после рабочего дня выгружал нормально.
  Форум: Администрирование и настройка 1С · Просмотр сообщения: #138775 · Ответов: 5 · Просмотров: 4591
 

>  Фоновое задание не дает выгрузить базу
yoj
Отправлено: 20.02.18, 11:19


Общительный
**

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


1с Предприятие 8.2 УПП
Перестало работать регламентное задание запускающее модуль загрузки из папки в 1с документов выгруженных с другой программы на магазине.
Хотел выгрузить базу себе на ПК и посмотреть локально, но фоновое задание не дает этого сделать. Все процессы и пользователи позакрывал, а оно висит( на скриншоте видно Обмен с ТТ).
Каким образом его можно закрыть?
  Форум: Администрирование и настройка 1С · Просмотр сообщения: #138773 · Ответов: 5 · Просмотров: 4591
 

>  Загрузка справочника физ.лица и сотрудники из Excel
yoj
Отправлено: 23.01.18, 13:49


Общительный
**

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


1С:Предприятие 8.2 (8.2.19.130)
"Управление производственным предприятием для Украины", редакция 1.3
Есть старая база. Из нее в новую УПП нужно выгрузить сотрудников.
Сохраняю отчет сотрудники.
Есть обработка ЗагрузкаДанныхИзТабличногоДокумента.epf, ней добавляю физ лица. Добавляются нормально.
А после добавляю сотрудников. Пишет что добавлены все, а по факту справочник Сотрудники организаций остается пустым.


 ! 

Правила: 4
 
  Форум: 1С Управление производственным предприятием 8 · Просмотр сообщения: #137578 · Ответов: 1 · Просмотров: 2080
 

>  Загрузка данных из ShopDesk (*.TCUDOC)
yoj
Отправлено: 26.12.17, 14:24


Общительный
**

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


Petre @ Сегодня, 11:03 * ,
Спасибо) Ошибка ушла.
А тут осталась. При попытке оставить Исключение зависает.
 Попытка    
                ДокInventory.Записать(РежимЗаписиДокумента.Проведение);  [i](970 строка)[/i]
                ЧтениеXML.Закрыть();
                ПереносФайлов(ОснПараметры,0);
            Исключение
                ПолучОшибки(ОписаниеОшибки(),ОснПараметры);
                ДокInventory.Записать(РежимЗаписиДокумента.Запись);
                ЧтениеXML.Закрыть();
                ПереносФайлов(ОснПараметры,1);
            КонецПопытки;
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #136689 · Ответов: 11 · Просмотров: 3257
 

>  Загрузка данных из ShopDesk (*.TCUDOC)
yoj
Отправлено: 26.12.17, 10:23


Общительный
**

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


yoj @ Сегодня, 9:03 * ,
И стало выбивать ошибку Фоновое задание. Ошибка выполнения.
{ОбщийМодуль.ТЦУ_ЗагрузкаПродаж.Модуль(409)}: Ошибка при вызове метода контекста (Вставить)
по причине:
Задано неправильное имя атрибута структуры

Функция ПолучитьРеквизитыXMLДокумента(ЧтениеXML)
    ДокументыXML = Новый Структура();
    
    мДОМ=новый ПостроительDOM;
    
    мДокументДОМ=мДОМ.Прочитать(ЧтениеXML);
    мРазыменовательПИ=мДокументДОМ.СоздатьРазыменовательПИ(мДокументДОМ);
    
    мЗапрос="/ArrayOfDocument/Document";
    мХПуть=мДокументДОМ.СоздатьВыражениеXPath(мЗапрос,мРазыменовательПИ);
    мРезультат=мХПуть.Вычислить(мДокументДОМ);
    мДокумент=мРезультат.ПолучитьСледующий();
    нДок=1;
    Пока мДокумент<>неопределено цикл
        мЗапрос="./*";
        мХПуть2=мДокументДОМ.СоздатьВыражениеXPath(мЗапрос,мРазыменовательПИ);
        мДанные=новый Структура;
        мРезультатЗапроса=мХПуть2.Вычислить(мДокумент);
        мОбход=мРезультатЗапроса.ПолучитьСледующий();
        Пока мОбход <>неопределено цикл
            Если  мОбход.ИмяЭлемента ="Detail" Тогда
                мЗапрос="./*";
                мХПуть3=мДокументДОМ.СоздатьВыражениеXPath(мЗапрос,мРазыменовательПИ);
                мТЧ=новый Структура;
                мРезультатЗапросаТЧ=мХПуть3.Вычислить(мОбход);
                мОбходТЧ=мРезультатЗапросаТЧ.ПолучитьСледующий();
                нСтр=1;
                Пока мОбходТЧ <>неопределено цикл                
                    мЗапрос="./*";
                    мХПуть4=мДокументДОМ.СоздатьВыражениеXPath(мЗапрос,мРазыменовательПИ);
                    мТЧСтр=новый Структура;
                    мРезультатЗапросаТЧСтр=мХПуть4.Вычислить(мОбходТЧ);
                    мОбходТЧСтр=мРезультатЗапросаТЧСтр.ПолучитьСледующий();
                    Пока мОбходТЧСтр <>неопределено цикл                
                        мТЧСтр.Вставить(мОбходТЧСтр.ИмяЭлемента,мОбходТЧСтр.ТекстовоеСодержимое);
                        мОбходТЧСтр=мРезультатЗапросаТЧСтр.ПолучитьСледующий();
                    конеццикла;
[i]409 строка[/i]        мТЧ.Вставить("DocumentDetail"+нСтр,мТЧСтр);
                    нСтр=нСтр+1;
                    мОбходТЧ=мРезультатЗапросаТЧ.ПолучитьСледующий();
                конеццикла;
                мДанные.Вставить("Detail",мТЧ);
                мОбход=мРезультатЗапроса.ПолучитьСледующий();
            Иначе
                мДанные.Вставить(мОбход.ИмяЭлемента,мОбход.ТекстовоеСодержимое);
                мОбход=мРезультатЗапроса.ПолучитьСледующий();
            КонецЕсли;
        конеццикла;
        ДокументыXML.Вставить("Document"+нДок,мДанные);
        нДок=нДок+1;
        мДокумент=мРезультат.ПолучитьСледующий();
    конеццикла;
        
    Возврат ДокументыXML;

КонецФункции
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #136679 · Ответов: 11 · Просмотров: 3257
 

>  Загрузка данных из ShopDesk (*.TCUDOC)
yoj
Отправлено: 26.12.17, 9:03


Общительный
**

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


Batchir @ Вчера, 22:49 * ,
Так? (По крайней мере так не ругается ни на что)
Попытка    
//                ДокInventory.Записать(РежимЗаписиДокумента.Проведение);
//                ЧтениеXML.Закрыть();
//                ПереносФайлов(ОснПараметры,0);
            Исключение
//                ПолучОшибки(ОписаниеОшибки(),ОснПараметры);
                ДокInventory.Записать(РежимЗаписиДокумента.Запись);
                ЧтениеXML.Закрыть();
                ПереносФайлов(ОснПараметры,1);
            КонецПопытки;

  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #136677 · Ответов: 11 · Просмотров: 3257
 

>  Загрузка данных из ShopDesk (*.TCUDOC)
yoj
Отправлено: 25.12.17, 15:05


Общительный
**

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


Batchir @ 22.12.17, 18:00 * ,
на Инвентаризации 2 ошибки.
1. Ошибка времени выполнения:
Общий модуль.ТЦУ_ЗагрузкаПродаж.Модуль(970): Ошибка при вызове метода контекста (Записать) в модуле ОбщийМодуль.ТЦУ_ЗагрузкаПродаж.Модуль, строка 970
        Попытка
                Для каждого СтрокаXML Из ДокументXML.Detail Цикл
                    ЗначенияСтрокиXML= СтрокаXML.Значение;
                    Номенклатура=ПолучитьНоменклатуру(СокрЛП(ЗначенияСтрокиXML.GoodId),ОснПараметры);
                    Если Номенклатура=Справочники.Номенклатура.ПустаяСсылка() ИЛИ Номенклатура=Неопределено Тогда
                        ПолучОшибки("Не нашли номенклатуру по стыковке {"+СокрЛП(ЗначенияСтрокиXML.GoodId)+"} "+СокрЛП(ЗначенияСтрокиXML.GoodsItemName)+" "+СокрЛП(ПолноеИмяФайла),ОснПараметры);
                        Номенклатура=Справочники.Номенклатура.ПустаяСсылка();
                        //Продолжить;
                    КонецЕсли;
                    
                    Строка=ДокInventory.Товары.Добавить();
                    Строка.Номенклатура    = Номенклатура;
                    Строка.ЕдиницаИзмеренияМест = Номенклатура.ЕдиницаИзмеренияМест;
                    Строка.ЕдиницаИзмерения = Номенклатура.ЕдиницаДляОтчетов;
                    Строка.Коэффициент = Номенклатура.ЕдиницаДляОтчетов.Коэффициент;
                    ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(Строка, ДокInventory);
                    
                    Строка.Количество = Число(ЗначенияСтрокиXML.Quantity);
                    Строка.Качество = Справочники.Качество.Новый;
                КонецЦикла;
            Исключение
                
            КонецПопытки;
            
            Попытка    
                ДокInventory.Записать(РежимЗаписиДокумента.Проведение);
                ЧтениеXML.Закрыть();
                ПереносФайлов(ОснПараметры,0);
            Исключение
                ПолучОшибки(ОписаниеОшибки(),ОснПараметры);
                ДокInventory.Записать(РежимЗаписиДокумента.Запись);
                ЧтениеXML.Закрыть();
                ПереносФайлов(ОснПараметры,1);
            КонецПопытки;


2. Ошибка времени выполнения:
Общий модуль.ТЦУ_ЗагрузкаПродаж.Модуль(138): Ошибка при вызове метода контекста (Переместить Файл) в модуле ОбщийМодуль.ТЦУ_ЗагрузкаПродаж.Модуль, строка 138
Если ЕстьОшибка=1 Тогда
        НашлиФайл = НайтиФайлы(ПолноеИмяФайла).Количество();
        Если НашлиФайл<>0 Тогда
            ПереместитьФайл(ПолноеИмяФайла,СтрЗаменить(ПолноеИмяФайла,ФайлТЦУ,ФайлТЦУ_other));//файл
        КонецЕсли;


Не успел отредактировать.
По 2 ошибку решил. Создал папку вручную)

По 1.Ошибка времени выполнения:
Общий модуль.ТЦУ_ЗагрузкаПродаж.Модуль(970): Ошибка при вызове метода контекста (Записать) в модуле ОбщийМодуль.ТЦУ_ЗагрузкаПродаж.Модуль, строка 970
Ошибка тут:
   Попытка    
                ДокInventory.Записать(РежимЗаписиДокумента.Проведение);  [i](970 строка)[/i]
                ЧтениеXML.Закрыть();
                ПереносФайлов(ОснПараметры,0);
            Исключение
                ПолучОшибки(ОписаниеОшибки(),ОснПараметры);
                ДокInventory.Записать(РежимЗаписиДокумента.Запись);
                ЧтениеXML.Закрыть();
                ПереносФайлов(ОснПараметры,1);
            КонецПопытки;


yoj @ Сегодня, 14:54 * ,

Выгрузил базу с сервера на локальный ПК.
Вылазит ошибка {ОбщийМодуль.ТЦУ_ЗагрузкаПродаж.Модуль(970)}: Ошибка при вызове метода контекста (Записать): Для данного документа возможность проведения отключена.
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #136659 · Ответов: 11 · Просмотров: 3257
 

>  Загрузка данных из ShopDesk (*.TCUDOC)
yoj
Отправлено: 22.12.17, 17:09


Общительный
**

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


yoj @ Сегодня, 11:17 * ,
Процедура ПередНачаломРаботыСистемы(Отказ)
    
    // СтандартныеПодсистемы
    
    // Получим параметры работы клиента за одно обращение к серверу
    // Чтобы при повторном вызове этой функции не было обращений к серверу
    ПараметрыРаботыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента();
    
    Если НЕ ПараметрыРаботыКлиента.ПользователюРазрешенЗапускКонфигурации Тогда
        Предупреждение(НСтр("ru = 'Вам не назначена роль ""Пользователь"". Запуск конфигурации невозможен.'"));
        Отказ = Истина;        
        Возврат; //Дальше нет необходимости выполнения, т.к. могут быть ошибки нарушения прав
    КонецЕсли;     
    
    Если Не Отказ Тогда
        СтандартныеПодсистемыКлиент.ДействияПередНачаломРаботыСистемы(Отказ);
    КонецЕсли;
    
    // Конец СтандартныеПодсистемы
    
КонецПроцедуры

Процедура ПриНачалеРаботыСистемы()
    
    
    // СтандартныеПодсистемы
    СтандартныеПодсистемыКлиент.ПроверитьВерсиюПлатформы("8.3.6.2299", "8.2.19.130");
    
    // СтандартныеПодсистемы
    СтандартныеПодсистемыКлиент.УстановитьПроизвольныйЗаголовокПриложения();
    
    // ОбновлениеВерсииИБ
    ОбновлениеИнформационнойБазыКлиент.ВыполнитьОбновлениеИнформационнойБазы();
    // Конец ОбновлениеВерсииИБ
    
    // отработка параметров запуска системы
    Если ОбработатьПараметрыЗапуска(ПараметрЗапуска) Тогда
        Возврат;
    КонецЕсли;
    
    // ОбновлениеКонфигурации
    ОбновлениеКонфигурацииКлиент.ПроверитьОбновлениеКонфигурации();
    // Конец ОбновлениеКонфигурации
    
    // ЗавершениеРаботыПользователей
    СоединенияИБКлиент.УстановитьКонтрольРежимаЗавершенияРаботыПользователей();
    // Конец ЗавершениеРаботыПользователей
    
    // Конец СтандартныеПодсистемы
    
    //РаботаСВнешнимОборудованием
    МенеджерОборудованияКлиент.ПриНачалеРаботыСистемы();
    //Конец РаботаСВнешнимОборудованием
    
КонецПроцедуры
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #136610 · Ответов: 11 · Просмотров: 3257
 

>  Загрузка данных из ShopDesk (*.TCUDOC)
yoj
Отправлено: 22.12.17, 11:17


Общительный
**

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


Batchir @ Вчера, 12:29 * ,
Есть в регламентных задачах. И в общих модулях. Пересмотрел все вроде правильно написано. От куда что брать и куда ложить.
Вот условие:
ИмяФайлаБезАдреса=Файл.Имя;
            ПолноеИмяФайла = Файл.ПолноеИмя;
            
            ОснПараметры.Вставить("ИмяФайлаБезАдреса", ИмяФайлаБезАдреса);
            ОснПараметры.Вставить("ПолноеИмяФайла", ПолноеИмяФайла);

            Если Лев(ИмяФайлаБезАдреса,5)="DOC_D" или Лев(ИмяФайлаБезАдреса,12)="DOC_RETURN_D" Тогда
                //находим код отдела в наименовании
                КодОтдела=СтрЗаменить(ИмяФайлаБезАдреса,"DOC_RETURN_D","");
                КодОтдела=СтрЗаменить(ИмяФайлаБезАдреса,"DOC_D","");
                
                СтрЧисло=Найти(КодОтдела,"_P");
                Знак=Сред(КодОтдела,1,СтрЧисло+1);
                КодОтдела=СтрЗаменить(КодОтдела,Знак,"");
                СтрЧисло=Найти(КодОтдела,"_");
                
                КодОтдела=Сред(КодОтдела,1,СтрЧисло-1);
              
                Склад=ПолучитьСклад(СокрЛП(КодОтдела),ОснПараметры);
                Если Склад=Справочники.Склады.ПустаяСсылка() ИЛИ Склад=Неопределено Тогда
                    ПолучОшибки("Не нашли стыковки склада {"+СокрЛП(КодОтдела)+"} "+СокрЛП(ИмяФайлаБезАдреса),ОснПараметры);
                    ПереносФайлов(ОснПараметры,1);
                    Продолжить;
                КонецЕсли;

И ниже вот:
ПолучДата=Дата_в_наименовании(ИмяФайлаБезАдреса,0);
                
                ОснПараметры.Вставить("Склад", Склад);
                ОснПараметры.Вставить("ПолучДата", ПолучДата);
                ОснПараметры.Вставить("КодОтдела", КодОтдела);

СоздатьОтчетОРозничныхПродажах(ОснПараметры);
            ИначеЕсли Лев(ИмяФайлаБезАдреса,13)="DOC_INVENTORY" Тогда
                СоздатьИнвентаризацияТоваровНаСкладе(ОснПараметры);
            ИначеЕсли Лев(ИмяФайлаБезАдреса,11)="DOC_ORDER_D" Тогда
                СоздатьЗаказПоставщику(ОснПараметры);
            ИначеЕсли (Лев(ИмяФайлаБезАдреса,12)="DOC_PAYOUT_D") ИЛИ (Лев(ИмяФайлаБезАдреса,17)="DOC_PAYTRANSFER_D") Тогда
                СоздатьПКО(ОснПараметры);    
            Иначе
                ПолучОшибки("Не смогли определить тип документа {"+СокрЛП(ИмяФайлаБезАдреса)+"} ",ОснПараметры);
                ПереносФайлов(ОснПараметры,1);
            КонецЕсли;

Файлы начинающиеся на DOC_D загружаются в Отчет о розничных продажах, а файлы DOC_INVENTORY в Инвентаризацию товаров на складе загружатся не хотят(((


Вот весь модуль ТЦУЗагрузкаПродаж
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #136600 · Ответов: 11 · Просмотров: 3257
 

>  Загрузка данных из ShopDesk (*.TCUDOC)
yoj
Отправлено: 20.12.17, 11:28


Общительный
**

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


yoj @ Вчера, 17:54 * ,
Процедура ПриНачалеРаботыСистемы()
    
    
    // СтандартныеПодсистемы
    СтандартныеПодсистемыКлиент.ПроверитьВерсиюПлатформы("8.3.6.2299", "8.2.19.130");
    
    // СтандартныеПодсистемы
    СтандартныеПодсистемыКлиент.УстановитьПроизвольныйЗаголовокПриложения();
    
    // ОбновлениеВерсииИБ
    ОбновлениеИнформационнойБазыКлиент.ВыполнитьОбновлениеИнформационнойБазы();
    // Конец ОбновлениеВерсииИБ
    
    // отработка параметров запуска системы
    Если ОбработатьПараметрыЗапуска(ПараметрЗапуска) Тогда
        Возврат;
    КонецЕсли;
    
    // ОбновлениеКонфигурации
    ОбновлениеКонфигурацииКлиент.ПроверитьОбновлениеКонфигурации();
    // Конец ОбновлениеКонфигурации
    
    // ЗавершениеРаботыПользователей
    СоединенияИБКлиент.УстановитьКонтрольРежимаЗавершенияРаботыПользователей();
    // Конец ЗавершениеРаботыПользователей
    
    // Конец СтандартныеПодсистемы
    
    //РаботаСВнешнимОборудованием
    МенеджерОборудованияКлиент.ПриНачалеРаботыСистемы();
    //Конец РаботаСВнешнимОборудованием
    
КонецПроцедуры
.
.
.

Функция ОбработатьПараметрыЗапуска(Знач ПараметрЗапуска)

    Перем Результат;
    Результат = Ложь;
    
    // СтандартныеПодсистемы
    
    // Есть ли параметры запуска
    Если ПустаяСтрока(ПараметрЗапуска) Тогда
        Возврат Результат;
    КонецЕсли;
    
    // Параметр может состоять из частей, разделенных символом ";".
    // Первая часть - главное значение параметра запуска.
    // Наличие дополнительных частей определяется логикой обработки главного параметра.
    ПараметрыЗапуска = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ПараметрЗапуска, ";");
    ЗначениеПараметраЗапуска = Врег(ПараметрыЗапуска[0]);
    
    // ЗавершениеРаботыПользователей
    Результат = СоединенияИБКлиент.ОбработатьПараметрыЗапуска(ЗначениеПараметраЗапуска, ПараметрыЗапуска);
    // Конец ЗавершениеРаботыПользователей
    
    // Конец СтандартныеПодсистемы
    
    // Код конфигурации
    // ...
    // Конец кода конфигурации

    // СтандартныеПодсистемы
    Возврат Результат;
    // Конец СтандартныеПодсистемы

КонецФункции
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #136414 · Ответов: 11 · Просмотров: 3257
 

>  Загрузка данных из ShopDesk (*.TCUDOC)
yoj
Отправлено: 19.12.17, 17:54


Общительный
**

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


1С Предприятие 8.2 (8.2.19.130)
Управление производственным предприятием для Украины р. 1.3

Есть удаленные торговые точки (тт), там стоит программа ShopDesk. Из неё на сервер выгружаются файлы типа *.TCUDOC - поступления товаров и услуг и инвентаризации.
При запуске 1с пользователем Obmen из сервера в Документы загружаются все что есть "Поступления товаров и услуг", а вот файлы с инвентаризацией не хотят.
Подскажите где может быть прописана такая обработка или путь от куда брать для загрузки в 1с файлы.
  Форум: Программирование управляемых форм 1С 8.2 · Просмотр сообщения: #136388 · Ответов: 11 · Просмотров: 3257
 


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

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