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

Хранилище

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

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




>  При подборе из справочника открытите сразу нужной группы элементов
leonid_gun
Отправлено: 22.09.19, 9:51


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

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


igmig65 @ Сегодня, 3:28 * ,
Вопрос не об этом. А как выполнить открытие именно нужной группы справочника при щелчке мышкой по определенной колонке с привязкой к справочнику Номенклатура в табличной части документа.
На другом форуме ребята посоветовали использовать предопределенную процедуру ПриНачалеРедактированияСтроки().

И код для открытия нужной папки примерно такой
Перем Параметр;
Справ = СоздатьОбъект("Справочник.Номенклатура");
Если Справ.НайтиПоКоду("10350", 0) = 1 Тогда
    ОткрытьПодбор("Справочник.Номенклатура",ФормаПодбора,Параметр);
    Параметр.ИспользоватьРодителя(Справ.ТекущийЭлемент());
    или
    Параметр.АктивизироватьОбъект(Справ.ТекущийЭлемент());
КонецЕсли;
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #155834 · Ответов: 4 · Просмотров: 3504
 

>  При подборе из справочника открытите сразу нужной группы элементов
leonid_gun
Отправлено: 21.09.19, 22:09


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

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


Dartvader111 @ 19.09.19, 13:44 * ,
Немного не разобрался. Но вот набросал код. НайтиПоКоду указан код нужной группы, которую нужно открыть сразу в подборе

Процедура ПодборУслуги(СправочникПодбора,ФормаПодбора="ФормаВыбора")
    Перем Параметр;
    Параметр = Форма.Параметр;
        Если СправочникПодбора.НайтиПоКоду("10350", 0) = 1 Тогда
           Если СправочникПодбора.Выбран()=1 Тогда
              НужнаяГруппа =  СправочникПодбора.ТекущийЭлемент();
              СправочникПодбора.ИспользоватьРодителя(НужнаяГруппа,0);
              АтивизироватьОбъект(СправочникПодбора.ТекущийЭлемент());
           КонецЕсли;
        КонецЕсли;
    // открываем форму подбора

    ОткрытьПодбор(СправочникПодбора,ФормаПодбора,Параметр,0);
КонецПроцедуры


Dartvader111 @ 19.09.19, 13:44 * ,
И у меня еще вопрос.
Я так понял, что-то подобное будет работать при вызове этой процедуры через элемент формы типа Кнопка.
А вот как выполнить такую процедуру через нажатие в определенной колонке табличной части документа, которой привязан справочник номенклатуры, например, в таком документе как Расходная накладная???
Там тоже появляется ФормаВыбора со списком элементов.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #155818 · Ответов: 4 · Просмотров: 3504
 

>  При подборе из справочника открытите сразу нужной группы элементов
leonid_gun
Отправлено: 18.09.19, 22:32


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

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


Здравствуйте.
Платформа 7.70.027, ТИС 7.70.032.
Есть необходимость при подборе из справочника номенклатуры в табличную часть документа сразу производить выбор из определенной группы элементов. Причем только для этого документа. Подскажите, куда копать?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #155735 · Ответов: 4 · Просмотров: 3504
 

>  Работа с синонимом реквизита шапки документа
leonid_gun
Отправлено: 19.04.19, 10:01


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

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


Цитата(Vladal @ 18.04.19, 9:08) *
В принципе, применяемые методы те же и мой код подходит для 7.7.

Да, Вы правы, что код из 8-ки в принципе подходит. Но в конкретном исполнении под 7-ку все таки необходим метод РекизитШапки(), что я собственно и искал в мануале. Про него у меня была только одна строка и то в самом конце раздела Метаданные. Синоним реквизита мне необходим в заголовке окна, полученного через процедуру ВвестиСтроку().

Процедура ВводПоля(РеквизитДокумента, НомерРеквШапки)
    Перем НК;
    РеквДок = Метаданные.Документ("КлиническийПротоколУЗИ_ЩЖ").РеквизитШапки(НомерРеквШапки);
    НК = РеквизитДокумента;
    Если ВвестиСтроку(НК, "Введите значение " + РеквДок.Синоним, 999, 1,) = 1 Тогда
        РеквизитДокумента = НК;
    Иначе
        Возврат;
    КонецЕсли;
КонецПроцедуры


Но, к сожалению, решение этой задачи не принесло удовлетворения. Оказалось, что штатными средствами 1С 7.7 вообще нормально не работает с многострочными текстовыми реквизитами. А у меня задача допилить эту конфу под мед учреждение, с функциями регистратуры, лаборатории и учета работы врачей, в частности оформления и хранения клинических протоколов исследований (УЗИ). В них подразумевается применение длинных и желательно многострочных запичей отдельных показателей исследований (длина символов 500 -700). Согласитесь, что работать с такой длинной строкой неудобно.

И вот в этой теме прозвучала мысль о наркотике о Formex. Не хочется прикручивать С++ с его Tbox, сишку знаю и умею очень мало.
Может направите меня куда рыть, и что курить, чтобы получить в форме документа нормальный механизм редактирования длинных текстовых реквизитов?

Хотя, наверное, это уже мне пора на форум FormEx )))
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #151668 · Ответов: 10 · Просмотров: 5361
 

>  Работа с синонимом реквизита шапки документа
leonid_gun
Отправлено: 17.04.19, 21:11


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

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


Попробовал обратится к реквизиту шапки документа через
РеквДок = Метаданные.Документ("МойДок").РеквизитШапки(НомерРеквШапки);

где НомерРеквШапки просто номер по порядку, так как он записан в Конфигураторе, и выводит синоним, если поле Синоним не заполнен, тогда Идентификатор.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #151612 · Ответов: 10 · Просмотров: 5361
 

>  Работа с синонимом реквизита шапки документа
leonid_gun
Отправлено: 17.04.19, 20:00


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

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


Vladal @ Сегодня, 16:23 * ,
У меня ТиС 7.70.032.
Спасибо за очень развернутый и подробный ответ. Вы предлагаете разобрать Идентификатор документа на подобие синонима. Но мне необходимо разобраться в механизме обращения к синониму и комментарию реквизитов шапки документа, которые прямо указаны в конфигурации. И скорее всего через Метаданные, и именно в в среде 1С 7.7. В 8-ке, очевидно, этот механизм описан явно, а вот, что касается 7-ки в мануале описано только до уровня Идентификатора документа.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #151609 · Ответов: 10 · Просмотров: 5361
 

>  Работа с синонимом реквизита шапки документа
leonid_gun
Отправлено: 17.04.19, 9:24


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

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


Здравствуйте.
Есть необходимость получить синоним реквизита документа для его последующего отображения в заголовке окна редактирования значения этого реквизита

Процедура ВводПоля(РеквизитДокумента)   // РеквизитДокумента передается в процедуру
    Перем Инф;
    
    //Синоним = РеквизитДокумента.Синоним; // вот здесь не знаю как обратиться к нужному реквизиту, а точнее к его синониму
    
    Инф= РеквизитДокумента;
    Если ВвестиСтроку(Инф, "Введите значение " + Синоним, 999, 1,) = 1 Тогда
        РеквизитДокумента = Инф;
    Иначе
        Возврат;
    КонецЕсли;
КонецПроцедуры


Подскажите как правильно обращаться к Синониму или к Комментарий реквизита шапки, ведь для чего-то они присутствуют в базе. Пробовал через метаданные, но понял только как получить Синоним идентификатора документа, а мне нужен синоним реквизита шапки.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #151588 · Ответов: 10 · Просмотров: 5361
 

>  Реквизит документа с выпадающим списком возможных значений
leonid_gun
Отправлено: 16.01.19, 23:42


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

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


Prospero @ Сегодня, 23:12 * ,
Старнненько.У меня если оставить запятую вместо точки, то в числовое поле попадает только целая часть, дробную отсекает и оставляет просто нули и их количество соответствует заявленной точности поля. Но если точка, тогда все в порядке и работает четко. Но все равно благодарю за содействие и помощь.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #149034 · Ответов: 19 · Просмотров: 3333
 

>  Реквизит документа с выпадающим списком возможных значений
leonid_gun
Отправлено: 16.01.19, 22:56


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

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


Догнал. Надо просто использовать децимальный знак точку, а не запятую. Вот тупанул ((

Процедура ИзмУретальныеНитки()
    зн1 = 1.001;
    зн2 = 1.021;
    зн3 = 1.051;
    СпЗн = СоздатьОбъект("СписокЗначений");
    СпЗн.ДобавитьЗначение(зн1,"1,001");
    СпЗн.ДобавитьЗначение(зн2,"1,010");
    СпЗн.ДобавитьЗначение(зн3,"1,020");
    СпЗн.ДобавитьЗначение("1.030","1,030");  
    СпЗн.ДобавитьЗначение("1.040","1,040");
    Зн = 0;                                            
    Если СпЗн.ВыбратьЗначение(Зн,"УретальныеНитки биоматериала",,,1) = 1 Тогда
        УретальныеНитки = Зн;
    КонецЕсли;
КонецПроцедуры

и все ровно вставляет в реквизит типа Число
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #149030 · Ответов: 19 · Просмотров: 3333
 

>  Реквизит документа с выпадающим списком возможных значений
leonid_gun
Отправлено: 16.01.19, 22:43


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

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


Prospero @ Сегодня, 22:39 * ,
разная. зависит от реквизита (их в у документа может быть больше трех десятков) и 0,00 и 0,000
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #149028 · Ответов: 19 · Просмотров: 3333
 

>  Реквизит документа с выпадающим списком возможных значений
leonid_gun
Отправлено: 16.01.19, 22:36


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

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


хотя если реквизит тип Число с дробной частью, тогда число из списка выбирается только его целая часть. А надо, чтобы было полностью и целая м дробная части. Не знаю как это победить не переводя сам реквизит в тип Строка (( 09000000.gif
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #149026 · Ответов: 19 · Просмотров: 3333
 

>  Реквизит документа с выпадающим списком возможных значений
leonid_gun
Отправлено: 16.01.19, 15:35


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

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


Prospero @ Сегодня, 9:32 * ,
Вот это
ФлагСтандОбр = 0;

в теле предопределенной процедуре как раз и помогло!! Перестала появляться экранная цифровая клава на реквизитах типа Число. То что нужно )))

  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #149013 · Ответов: 19 · Просмотров: 3333
 

>  Реквизит документа с выпадающим списком возможных значений
leonid_gun
Отправлено: 15.01.19, 23:54


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

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


Prospero @ Сегодня, 15:50 * ,
с реквизитом тип Строка работает безупречно.
Процедура ИзмПрозрачность()
    СпЗн = СоздатьОбъект("СписокЗначений");
    СпЗн.ДобавитьЗначение("прозора","прозора");
    СпЗн.ДобавитьЗначение("непрозора","непрозора");
    Зн = 0;                                            
    Если СпЗн.ВыбратьЗначение(Зн,"Прозрачность биоматериала",,,1) = 1 Тогда
        Прозрачность = Зн;
    КонецЕсли;
КонецПроцедуры


А вот как быть если обрабатываем список для реквизита тип Число, еще и с дробной частью? ))

Цитата(leonid_gun @ 15.01.19, 23:41) *
А вот как быть если обрабатываем список для реквизита тип Число, еще и с дробной частью? ))

при выборе "педальки" список выводится, но при выборе значения из списка, выпадает экранная цифровая калава, стандартная для цифрового поля ввода с кнопкой. Нужно менять тип на Строку? Но хотелось бы оставить ограничение по разрядности для проверки ввода от руки.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #148978 · Ответов: 19 · Просмотров: 3333
 

>  Реквизит документа с выпадающим списком возможных значений
leonid_gun
Отправлено: 15.01.19, 15:24


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

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


awp @ Сегодня, 15:09 * ,
Можно принять как вариант.
Есть у реквизита документа на вкладке Дополнительно такой параметр как "Имеет кнопку выбора". Для чего его можно использовать? Может на этой кнопке можно родить еще один вариант решения выбора из списка?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #148970 · Ответов: 19 · Просмотров: 3333
 

>  Реквизит документа с выпадающим списком возможных значений
leonid_gun
Отправлено: 15.01.19, 14:52


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

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


Prospero @ Сегодня, 14:49 * ,
Перечисления не подойдут, т.к таких реквизитов в форме будет до 50 штук. А видов документов, в которых такое надо применить будет не один десяток.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #148967 · Ответов: 19 · Просмотров: 3333
 

>  Реквизит документа с выпадающим списком возможных значений
leonid_gun
Отправлено: 15.01.19, 14:38


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

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


Здравствуйте.
ТиС 032. платформа 7.7 027
Есть необходимость создать на форме реквизит документа тип Строка, который будет связан с выпадающим списком, из которого можно выбрать одно значение из многих для этого реквизита, с последующим сохранением этого значения. И при открытии сохраненного документа этот реквизит отображал сохраненное значение. Как можно правильно такое реализовать?
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #148964 · Ответов: 19 · Просмотров: 3333
 

>  По результатам запроса: Ошибка - Объект не может быть перепозиционирован!
leonid_gun
Отправлено: 04.01.19, 23:21


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

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


Цитата(Naghual @ 04.01.19, 16:49) *
Если СпрПацыки.НайтиЭлемент(Запрос.Пациенты) = 1 Тогда
  СпрПацыки.Родитель = Архив;
  СпрПацыки.Записать();
КонецЕсли;

icon_beer17.gif Внес исправления, все заработало с пол тычка. rulez.gif
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #148704 · Ответов: 3 · Просмотров: 1660
 

>  По результатам запроса: Ошибка - Объект не может быть перепозиционирован!
leonid_gun
Отправлено: 04.01.19, 16:41


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

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


Платформа 7.70.027, конфа допиленная ТиС 032.
Нужно некоторые элементы справочника имеющие признак Архив перенести из корня справочника в папку Архив, специально для этого заведенную. Выборка работает, но в момент замены Родителя возникает ошибка перепозиционирования. Помогите найти косяк.

Пробовал делать эту же операцию через ВыбратьЭлементы(), она работет, но только до момента когда перенесен первый найденный элемент справочника. Далее выборка сбивается и ее нужно инить заново. Так как-то криво. поэтому решил через запрос.

Процедура ВыполнитьАрхивациюЗапросом()
Перем Архив;
Архив = "";
Спр = СоздатьОбъект("Справочник.Пациенты");
Если Спр.НайтиПоНаименованию("Архив") = 1 Тогда // проверяем наличие папки Архив, куда будем переносить архивные карточки
    Если Спр.ЭтоГруппа() = 1 Тогда
        Архив = Спр.ТекущийЭлемент(); // получаем родителя (назначаем папку архивирования)
        Сообщить("Папка для архивирована выбрана - " + Архив);
    КонецЕсли;
Иначе
    Предупреждение("Папка Архив в текущем справочнике не найдена");
    Возврат;
КонецЕсли;  
Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    //|Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Пациенты = Справочник.Пациенты.ТекущийЭлемент;
    |Группировка Пациенты без групп;
    |Условие(Пациенты.ВАрхиве.Получить(РабочаяДата()) = Перечисление.ДаНет.Да);
    |Условие(Пациенты.ПометкаУдаления()=0);
    |"//}}ЗАПРОС
   ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
//Если Запрос.Пациенты.НайтиПоНаименованию("Архив") = 1 Тогда
//        Если Запрос.Пациенты.ЭтоГруппа() = 1 Тогда
//        Архив = Запрос.Пациенты.ТекущийЭлемент(); // получаем родителя (назначаем папку архивирования)
//        Сообщить("Папка для архивирована выбрана - " + Архив);
//    КонецЕсли;
//Иначе
//    Предупреждение("Папка Архив в текущем справочнике не найдена");
//    Возврат;
//КонецЕсли;  
    Пока Запрос.Группировка(1) = 1 Цикл
        Если Запрос.Пациенты.ЭтоГруппа()=1 Тогда
            Продолжить;
        КонецЕсли;
        Если (Запрос.Пациенты.ПринадлежитГруппе(Архив) = 0) И (Запрос.Пациенты.ВАрхиве.Получить(РабочаяДата()) = Перечисление.ДаНет.Да ) Тогда
        Запрос.Пациенты.Родитель = Архив; // ???? здесь ошибка  - Объект не может быть перепозиционирован!      
        Запрос.Пациенты.Записать();
        Сообщить(" Карточка клиента " + Запрос.Пациенты.Наименование + " имеет пометку для  Архив. Берем и переносим....");
        КонецЕсли;
    Состояние("Идет поиск карточек клиента для Архива...");
  
КонецЦикла;
КонецПроцедуры
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #148700 · Ответов: 3 · Просмотров: 1660
 

>  Фискальный принтер (регистратор) МИНИ-ФП54.01 в 1С: Бухгалтерия для Украины 7.7.027
leonid_gun
Отправлено: 24.05.15, 21:46


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

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


Ваша правда, доками и библиотекой недостатка нет. Но входе экспериментов выясняется, что 7-ке почему-то нельзя получить ответы на команды, описанные в доке по dll-ке. Так
fp = CreateObject("ecrmini.t400");
Сообщить("сервер "+fp);  // выдает, что ОЛЕ.It400


а вот здесь
 str="open_port;3;115200;"; 
Сообщить("Ответ  "+ fp.t400me(str));

выдает либо 0 (я так понимаю - не открыт) или -1 (тут я с трудом догадываюсь, что порт открыт)
Попадались советы использовать команду get_last_result(), но я так и не понял как ее к объекту прикрутить
fp.get_last_result() - выдет ошибку, что метод не найден.
А в слепую, как понимаете., не комфортно работать ни кассиру, ни нам, по телефону потом утирать слезы

Подскажите, где я косячу??
  Форум: Работа с торговым оборудованием · Просмотр сообщения: #99206 · Ответов: 5 · Просмотров: 5620
 

>  Фискальный принтер (регистратор) МИНИ-ФП54.01 в 1С: Бухгалтерия для Украины 7.7.027
leonid_gun
Отправлено: 07.05.15, 8:53


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

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


Всем доброго. Маленькая организация купила ФП МИНИ-ФП54.01, работает на 7.7.027 Бухучет.
Прошу помочь с обработкой для работы с фискальным принтером, необязательно указанном в сабже. Буду благодарен и за черновые варианты,остальное допилю сам. Прошу из-за недостака времени делать все с нуля
  Форум: Работа с торговым оборудованием · Просмотр сообщения: #98777 · Ответов: 5 · Просмотров: 5620
 


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

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