• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Помогите новичку с выборкой =)

  • Автор темы NocturnalMortum
  • Дата начала
N

NocturnalMortum

Да со списком я разобрался все работает... долго, медленно но верно =) Все же не стоит останавливаться на достигнутом. В списке есть свои неудобства: Не поставишь пробелов, по группам разбивать не удобно и опять таки скорость. Подскажите все таки как мне эту "галочку" на внешнем отчете отыскать =)
 
N

NocturnalMortum

Уважаемые специалисты, снова обращаюсь к вам за помощью. В общем идентификаторы компонентов я получаю, а вот сравнить их значения с компонентами справочника не получается... Прошу помощи, вот код(Код по функции найден в просторах инета и заточен под мой отчет =))):
Процедура ВывестиСекцию(Спр, Таб)
НаименованиеКонтрагента = Спр.Наименование;
Таб.ВывестиСекцию("К1");
КонецПроцедуры
//******************************************************************************

Функция РеквизитыОтчета(ИмяФайла,ТЗРеквизитов,Знач ПередатьСЗ = 0) Экспорт
Перем objFSO;
Перем objTextFile;
Перем ТекСтрока;
Перем НачатьСчитывание;
Перем СпсТип;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");

Если ПустоеЗначение(ТЗРеквизитов) = 1 Тогда
Если ПередатьСЗ = 0 Тогда
ТЗРеквизитов= СоздатьОбъект("ТаблицаЗначений");
ТЗРеквизитов.НоваяКолонка("Идентификатор");
ТЗРеквизитов.УдалитьСтроки();
Иначе
ТЗРеквизитов = СоздатьОбъект("СписокЗначений");
КонецЕсли;
КонецЕсли;


СпсТип = СоздатьОбъект("СписокЗначений");
СпсТип.ДобавитьЗначение("Кнопка" ,"BUTTON");
СпсТип.ДобавитьЗначение("Флажок" ,"CHECKBOX");
СпсТип.ДобавитьЗначение("Переключатель" ,"RADIO");
СпсТип.ДобавитьЗначение("Список" ,"LISTBOX");
СпсТип.ДобавитьЗначение("ПолеСоСписком" ,"COMBOBOX");
СпсТип.ДобавитьЗначение("РамкаГруппы" ,"1CGROUPBOX");
СпсТип.ДобавитьЗначение("Текст" ,"STATIC");
СпсТип.ДобавитьЗначение("РеквизитДиалога" ,"1CEDIT");
СпсТип.ДобавитьЗначение("Таблица" ,"TABLE");
СпсТип.ДобавитьЗначение("Картинка" ,"PICTURE");

Если ФС.СуществуетФайл(ИмяФайла) = 1 Тогда

objFSO = CreateObject("Scripting.FileSystemObject");
objTextFile = objFSO.OpenTextFile(ИмяФайла, 1,0,0);

НачатьСчитывание = 0;

Пока objTextFile.AtEndOfStream <> -1 Цикл
ТекСтрока = objTextFile.Readline();

Если НачатьСчитывание = 1 Тогда
Если Лев(ТекСтрока,11) = "{""Cnt_Ver""," Тогда
Прервать;
КонецЕсли;

ТекСтрока = СтрЗаменить(ТекСтрока,""",""",РазделительСтрок);
ТекСтрока = СтрЗаменить(ТекСтрока,"""" + РазделительСтрок + """",""""",""""");
Если ПередатьСЗ = 0 Тогда
ТЗРеквизитов.НоваяСтрока();
ТЗРеквизитов.Идентификатор = СтрПолучитьСтроку(ТекСтрока,13);
Иначе
ТЗРеквизитов.ДобавитьЗначение(СтрПолучитьСтроку(ТекСтрока,13),СтрПолучитьСтроку(
ТекСтрока,42))
КонецЕсли;
ИначеЕсли ТекСтрока = "{""Controls""," Тогда
НачатьСчитывание = 1;
КонецЕсли;

КонецЦикла;
objTextFile.Close();
КонецЕсли;
Возврат Мин(?(ПередатьСЗ = 0,ТЗРеквизитов.КоличествоСтрок(),ТЗРеквизитов.РазмерСписка()),1);
КонецФункции
//************************************************************
Процедура Печать(Пар)
перем ТЗРеквизитов;
//Если Пар = 1 Тогда
РеквизитыОтчета(РасположениеФайла(),ТЗРеквизитов);
Спр=СоздатьОбъект("Справочник.Контрагенты");
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");
Таб.ВывестиСекцию("Шапка");
ТЗРеквизитов.ВыбратьСтроки();
Пока ТЗРеквизитов.ПолучитьСтроку() = 1 Цикл
//Таб.ВывестиСекцию("Строка");
Спр.ВЫбратьЭлементы();
Пока Спр.получитьЭлемент()=1 цикл
ВключатьВВыборку=0;
для ааа=1 по ТЗРеквизитов.КоличествоСтрок() цикл
Инд=ТЗРеквизитов.ПолучитьЗначение(ааа,"Идентификатор");
Если ("спр."+Инд)=(Спр.ТекущийЭлемент()) тогда
ВключатьВВыборку=1;
КонецЕсли;
// КонецЕсли;
Если ВключатьВВыборку = 1 Тогда
Иначе
Продолжить;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Таб.Опции(0,0,0,0);
ВывестиСекцию(Спр, Таб);
Таб.Показать("Реквизиты");

КонецПроцедуры;
 
V

vbs

Пробуй так : (если я правильно понял задачу)
Если TrimAll(Инд)= TrimAll(Спр.Наименование) тогда

И впредь не надо весь код выкладывать, достаточно обозначить проблему в 2 строчках и привести 5 строк кода
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!