Валадимирович Виктор

13
Рейтинг

VictorRGB2
Виктор Валадимирович



  •   Регистрация: 21.04.2006 (18 лет назад)

  •   Был(а) на сайте: сегодня в 10:38

Друзья
  • Дмитрий Малышев
  • Евгений Комиссаров
  • Гордей Голиков
  • Виталий Ангелов
  • Сергей Кузьмин
  • Андрей Волин
  • Елена Ив
Подписчики 10

Рейтинг 13


Комментарии

DevТип реквизита#5 11.04.24 9:31
(4)
я так делал
для события НачалоВыбора реквизита формы

Код
&НаКлиенте
Процедура НужныйЭлементФормыНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
// определяем список доступных для выбора элементов
      СтандартнаяОбработка = Ложь;
      СписокЭлементовНужногоСправочика = НужныйЭлементФормыНачалоВыбораНаСервере();
      
      НастройкиОтбора = ВыполнитьНастройкуОтбора(СписокЭлементовНужногоСправочика);
      
      ПараметрыФормы = СоздатьСтруктуруПараметровФормы(НастройкиОтбора);
      
// тип реквизита должен совпадать с типом справочника   
      ОткрытьФормуМодально("Справочник.НужныйСправочник.Форма.ФормаВыбора", ПараметрыФормы, Элемент);
   
КонецПроцедуры

&НаСервере
Функция НужныйЭлементФормыНачалоВыбораНаСервере()
   
   ДанныеВыбора = Новый СписокЗначений;   

   лЗапрос = Новый Запрос();
   лЗапрос.Текст = "ВЫБРАТЬ
      |   НужныйСправочник.Ссылка
      |ИЗ
      |   Справочник.НужныйСправочник КАК НужныйСправочник
      |ГДЕ
      |   НужныеУсловияВыбора";
   
   тзн = лЗапрос.Выполнить().Выгрузить(); 
   Если тзн.Количество() <> 0 Тогда 
      ДанныеВыбора.ЗагрузитьЗначения(тзн.ВыгрузитьКолонку("Ссылка")); 
   КонецЕсли;
   
   Возврат ДанныеВыбора;
   
КонецФункции

&НаКлиенте
Функция ВыполнитьНастройкуОтбора(СписокЭлементовНужногоСправочика)
   
   НастройкиОтбора = Новый НастройкиКомпоновкиДанных;
   
   ЭлементыОтбора = НастройкиОтбора.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
   ЭлементыОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
   ЭлементыОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
   ЭлементыОтбора.ПравоеЗначение = СписокЭлементовНужногоСправочика;
   ЭлементыОтбора.Применение = ТипПримененияОтбораКомпоновкиДанных.Иерархия;
   
   Возврат НастройкиОтбора;
   
КонецФункции

&НаКлиенте
Функция СоздатьСтруктуруПараметровФормы(НастройкиОтбора)
   
   ПараметрыФормы = Новый Структура;
   ПараметрыФормы.Вставить("ФиксированныеНастройки", НастройкиОтбора);
   
   Возврат ПараметрыФормы;
   
КонецФункции


и открывается форма справочника с отбором по определенному ранее списку элементов

аналогичное можно повесить на заполнение выпадающего списка, просто тогда нужно реквизиту ставить галку выбор из списка
DevРегламентное задание УТ11#2 14.03.24 10:26
(1) добавить логирование всего подряд и смотреть по логам на каком этапе застопорилось
ОбменУниверсальный отчет для разных типовых конфигураций на базе ИИ#3 31.01.24 10:44
не понятен принцип работы
откуда ИИ узнает, что "не продавалась в прошлом месяце"?
на чьей стороне запрос генерится. по каким условиям?
хотя бы тезисно...
DevХарактеристикиНоменклатуры, как получить первоначальный код#2 29.12.23 9:56
(1) взять типовой релиз и сравнить, как самый простой вариант
DevУТ 10.3 Нужны остатки на конец дня.#4 22.12.23 18:57
(3) ну... 1С разработчики они такие
в рекомендациях пишут одно, на курсах говорят про тоже самое, на экзаменах за это баллы снимают
а в своих же продуктах сплошь и рядом свои же рекомендации нарушают и своим же стандартам не следуют

а про Границу вместо КонецДня в запросе к регистрам остатков уже лет так 10 назад они сказали
но до сих пор в конфигурациях сами же пользуются КонецДня
DevУТ 10.3 Нужны остатки на конец дня.#2 22.12.23 18:31
(1) попробуйте заменить КонецДня на Граница Включая
Dev1С 8, убирает лидирующий ноль из значения при записи в excel#14 19.12.23 18:24
(13) да, спасибо за наводку
пришлось, правда весь макет переделать, теперь он составной из нескольких областей и в процедуре заполнения отдельно пишутся значения с лидирующими нолями отдельно по имени параметра путем замены значения параметра

как-то так
Код
            Если лИмяПараметра = "INN" Тогда
               лОбластьДанныхИНН = пМакетСоответствия.ПолучитьОбласть("СтрокаДанных|ПрисоединяемыеДанныеИНН");
               Если лОбластьДанныхИНН.ТекущаяОбласть.СодержитЗначение Тогда
                  лОбластьДанныхИНН.ТекущаяОбласть.Параметр = лЗначениеРеквизита;
               КонецЕсли;
            КонецЕсли;

после чего область присоединяется к выводимой строке
Dev1С 8, убирает лидирующий ноль из значения при записи в excel#12 19.12.23 14:04
(11) понятно, что через СОМ все решается
но хотелось бы обойтись без установки эксель или прочих драйверов на сервере 1С
ранее проблема решалась путем добавления апострофа, но это было на 8.3.14 и сейчас не помогает
видимо что-то 1С-ники опять *исправили в платформе
Dev1С 8, убирает лидирующий ноль из значения при записи в excel#10 19.12.23 12:47
(6) строка макета представляет собой параметры
установка флага СодержитЗначение отменяет заполнение ячейки по параметру
соответственно не подходит
Dev1С 8, убирает лидирующий ноль из значения при записи в excel#9 19.12.23 12:44
(7) добавление пробела не помогает
добавление неразрывного пробела помогает, но частично - только для строк длиной 10 символов, выше опять не помогает