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

Хранилище

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

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




>  Запрет на просмотр определенного счета определенным пользователям
leikar
Отправлено: 10.08.18, 14:55


Молчаливый
*

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


Нужно закрыть все пути просмотра зарплаты для пользователей базы, закрыть интерфейсы и документы очень просто через роли. А вот как закрыть отчеты, которые формируются по счетам не знаю. Читал предложение закрыть физ лица - оно работает, но к сожалению у нас есть пайщики в физ лицах, а с пайщиками работают почти все, и закрыть физ лица ну никак нельзя. Думаю как бы закрыть доступ конкретно к 66 счету. Но опыта не хватает для этого. Подскажите пожалуйста.




Конфигурация("Управление производственным предприятием для Украины", редакция 1.3 (1.3.55.1) (http://1c.ua/v8/RegionalSolutions_UA_UPP.php)
Copyright © Molenari OU, 2017-2018. All rights reserved)
Версия(1С:Предприятие 8.3 (8.3.10.2667))
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #144285 · Ответов: 2 · Просмотров: 2198
 

>  Ошибка при создании новой номенклатуры программно
leikar
Отправлено: 27.06.18, 13:47


Молчаливый
*

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




[Решено]
Процедура СозданиеНоменклатуры(ДатаДокаВх,  НомерДокаВх,  НоменклатураОригинал,  НаОсновании,  ЕИОригинал,  НомСтавкаНДС, ВидНоменклатуры,  НоменклатураАртикул)
//Юля
    ГруппаМедка = Справочники.Номенклатура.НайтиПоКоду("ШИЙ00019795");
    Если НЕ ЗначениеЗаполнено(ГруппаМедка) тогда
        ГруппаМедка  =  Справочники.Номенклатура.СоздатьГруппу();
        ГруппаМедка.Наименование  =  "Auto_MEDoc";  
        ГруппаМедка.Код = "MED";
        ГруппаМедка.Записать();
    КонецЕсли;
    НоменклатураМедка = Справочники.Номенклатура.СоздатьЭлемент();
    
    НоменклатураМедка.Родитель = ГруппаМедка;
    НоменклатураМедка.Наименование =  НоменклатураОригинал;
    НоменклатураМедка.НаименованиеПолное =  НоменклатураОригинал;
    НоменклатураМедка.ЕдиницаДляОтчетов= Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕИОригинал);
    НоменклатураМедка.Артикул=  НоменклатураАртикул;
    НоменклатураМедка.Комментарий =  Строка(НСтр("ru = 'Создана M.E.Doc IS на основании ';uk = 'Створена M.E.Doc IS на підставі '") +
    НаОсновании + Строка(НомерДокаВх) + НСтр("ru = 'от ';uk = 'від '") + ДатаДокаВх);
    НоменклатураМедка.СтавкаНДС = НомСтавкаНДС;
    //НоменклатураМедка.Записать();
    
    //Если ВидНоменклатуры = "Запчасть" Тогда
    //НоменклатураМедка. Запчасть = Истина;
    //КонецЕсли;
                        
    Если ИмяБазы="УТ" или ИмяБазы="УТП" или ИмяБазы="УПП" Тогда
        НоменклатураМедка.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию(ВидНоменклатуры);
    КонецЕсли;        
    НоменклатураМедка.Записать();
Сообщить("НоменклатураМедка");    
Сообщить(НоменклатураМедка);    
Сообщить(НоменклатураМедка.Код);    
    ЕдИзмНоменклатура = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();  Сообщить(3);
    ЕдИзмНоменклатура.Владелец =  НоменклатураМедка.Ссылка;                  Сообщить(5);
    ЕдИзмНоменклатура.Наименование =  ЕИОригинал;                  Сообщить(7);
    ЕдИзмНоменклатура.Коэффициент = 1;                            Сообщить("6.5");
    ЕдИзмКлассификатор  = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕИОригинал);
Сообщить("ЕдИзмКлассификатор");    
Сообщить(ЕдИзмКлассификатор);    
Сообщить(ЕдИзмКлассификатор.Код);    
       ЕдИзмНоменклатура.ЕдиницаПоКлассификатору = ЕдИзмКлассификатор;     Сообщить(6);
    ЕдИзмНоменклатура.Записать();
Сообщить("ЕдИзмНоменклатура");    
Сообщить(ЕдИзмНоменклатура);    
Сообщить(ЕдИзмНоменклатура.Код);    
    НоменклатураМедка.БазоваяЕдиницаИзмерения =  ЕдИзмКлассификатор;
    НоменклатураМедка.ЕдиницаХраненияОстатков =  ЕдИзмНоменклатура.Ссылка;
    НоменклатураМедка.ЕдиницаДляОтчетов =  ЕдИзмНоменклатура.Ссылка;
    НоменклатураМедка.ЕдиницаИзмеренияМест =  ЕдИзмНоменклатура.Ссылка;
    НоменклатураМедка.Записать();             Сообщить(10);

    
КонецПроцедуры
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #142968 · Ответов: 2 · Просмотров: 3537
 

>  Ошибка при создании новой номенклатуры программно
leikar
Отправлено: 27.06.18, 13:04


Молчаливый
*

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


Цитата

1С:Предприятие 8.3 (8.3.10.2667)
"Управление производственным предприятием для Украины", редакция 1.3 (1.3.55.1) (http://1c.ua/v8/RegionalSolutions_UA_UPP.php)
Copyright © Molenari OU, 2017-2018. All rights reserved.

Добрый день, я новичек совсем, дали задание доделать внешню обработку выгрузки приходных накладных из медок путем медовой стыковки. Все вроде как работает, заполняет и создает документ, но единственный момент - нет единиц измерения в документе, захожу в номенклатуру - позиции созданы, базовая ед. измерения заполнена (Пример на картинке по ссылке Картинка )
Если нажать кнопку "ОК" номенклатура проведется и теперь будет в документе отображаться ед. зимерения как должно, но как это сделать программно? Вот мой код
Процедура СозданиеНоменклатуры(ДатаДокаВх,  НомерДокаВх,  НоменклатураОригинал,  НаОсновании,  ЕИОригинал,  НомСтавкаНДС, ВидНоменклатуры,  НоменклатураАртикул)
//бутко
    ГруппаМедка = Справочники.Номенклатура.НайтиПоКоду("ШИЙ00019795");
    Если НЕ ЗначениеЗаполнено(ГруппаМедка) тогда
        ГруппаОбъект  =  Справочники.Номенклатура.СоздатьГруппу();
        ГруппаОбъект.Наименование  =  "Auto_MEDoc";  
        ГруппаОбъект.Код = "MED";
        ГруппаОбъект.Записать();
    КонецЕсли;
    НоменклатураМедка = Справочники.Номенклатура.СоздатьЭлемент();
    
    НоменклатураМедка.Родитель = Справочники.Номенклатура.НайтиПоКоду("ШИЙ00019795");
    НоменклатураМедка.Наименование =  НоменклатураОригинал;
    НоменклатураМедка.НаименованиеПолное =  НоменклатураОригинал;
    НоменклатураМедка.ЕдиницаДляОтчетов= Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕИОригинал);
    
        
    
    НоменклатураМедка.Артикул=  НоменклатураАртикул;
    
    НоменклатураМедка.Комментарий =  Строка(НСтр("ru = 'Создана M.E.Doc IS на основании ';uk = 'Створена M.E.Doc IS на підставі '") +
    НаОсновании + Строка(НомерДокаВх) + НСтр("ru = 'от ';uk = 'від '") + ДатаДокаВх);
    //Если ВидНоменклатуры = "Запчасть" Тогда
    //НоменклатураМедка. Запчасть = Истина;
    //КонецЕсли;
    ЕдИзмНоменклатуры  = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕИОригинал);

    Если ЗначениеЗаполнено(ЕдИзмНоменклатуры) Тогда

        НоменклатураМедка.БазоваяЕдиницаИзмерения =  ЕдИзмНоменклатуры;

    КонецЕсли;
    НоменклатураМедка.СтавкаНДС = НомСтавкаНДС;
                        
    Если ИмяБазы="УТ" или ИмяБазы="УТП" или ИмяБазы="УПП" Тогда
        НоменклатураМедка.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию(ВидНоменклатуры);
    КонецЕсли;        Сообщить(1);
    НоменклатураМедка.Записать();
       Сообщить(2);
        ЕИНовая=Справочники.ЕдиницыИзмерения.СоздатьЭлемент();  Сообщить(3);
                            
              Сообщить(4);    
        Врем= Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕИОригинал);
        Сообщить(Врем.Код);
        ЕСЛИ НЕ Врем.Пустая()Тогда           Сообщить(5);  
           ЕИНовая.ЕдиницаПоКлассификатору = Врем;     Сообщить(6);
                
        ЕИНовая.Коэффициент="1";                            Сообщить("6.5");
        ЕИНовая.Владелец=  НоменклатураМедка;                  Сообщить(7);

        ЕИНовая.Записать();                            Сообщить(8);
        //НоменклатураМедка.ЕдиницаДляОтчетов=    ЕИНовая;      Сообщить(8);
    //    НоменклатураМедка.ЕдиницаХраненияОстатков=    ЕИНовая;
    //    НоменклатураМедка.БазоваяЕдиницаИзмерения=    ЕИНовая;     Сообщить(9);
        
        НоменклатураМедка.Записать();             Сообщить(10);
        КонецЕсли;
                      Сообщить(11);
КонецПроцедуры


Пробовал уже разные способы, но когда я создаю ед. измерения вручную(всмысле программно, просто не только пишу создать номенклатуру, но и создать ед. измерения и присвоить ее номенклатуре) выдает ошибку что не все сделано, но что "это" не все я не знаю. Если есть другой способ более подходящий для данного случая, очень прошу подсказать Вас. Большое спасибо!
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #142966 · Ответов: 2 · Просмотров: 3537
 


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

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