|   |   | 
| 
 | Передать таблицуЗначений на клиент | ☑ | ||
|---|---|---|---|---|
| 0
    
        Muwahhid 16.11.19✎ 10:21 | 
        Подскажите, как передать эту ТЗ на клиент, чтоб там я уже мог обойти ее циклом, и вытаскивать нужные мне значения?
 Функция ПолучитьФайлыКартинки(ТекТовар) Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ВладелецФайла.Ссылка, | Ссылка |ИЗ | Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы |ГДЕ | НоменклатураПрисоединенныеФайлы.ВладелецФайла.Ссылка = &АБВ"; Запрос.УстановитьПараметр("АБВ", ТекТовар); ТЗ = Запрос.Выполнить().Выгрузить(); КонецФункции | |||
| 1
    
        dmpl 16.11.19✎ 10:26 | 
        (0) В этом нет смысла. На клиенте через точку все равно не получится реквизиты получить.     | |||
| 2
    
        ДенисЧ 16.11.19✎ 10:26 | 
        Вытаскивай нужные значения на сервере. Зачем эти бессмысленные телодвижения туда-сюда? Это только на качелях приятно...     | |||
| 3
    
        acht 16.11.19✎ 10:26 | 
        (0) Никак. 
 Таблица значений на клиенте не существует. Используй, например, массив стурктур или создавай реквизит формы типа ДанныеФормыКоллекция и заполняй его контекстным вызовом. | |||
| 4
    
        acht 16.11.19✎ 10:28 | 
        (2) Детей не люблю. Люблю процесс. (:     | |||
| 5
    
        Muwahhid 16.11.19✎ 13:07 | 
        Сделал через массив, все отлично передается. 
 МассивФайлов = Новый Массив; Для каждого Стр из ТЗ цикл МассивФайлов.Добавить(Стр.Ссылка) КонецЦикла; Возврат МассивФайлов; | |||
| 6
    
        dmpl 16.11.19✎ 13:34 | 
        (5) Ну и что с этим потом на клиенте делать?     | |||
| 7
    
        palsergeich 16.11.19✎ 13:43 | 
        (3) Существует.
 Запрещена сериализация/десериализация на клиенте и основной конструктор - Новый ТаблицаЗначений. Но если ты почитаешь в синтакс помошнике описание Новый, то догадаешься как 2м способом таки получить ТЗ на клиенте) Есть еще несколько способов) | |||
| 8
    
        fyn 16.11.19✎ 13:55 | 
        (7) Если имеентся в виду
 
то оно не работает по причине Тип не определен (ТаблицаЗначений) | |||
| 9
    
        acht 16.11.19✎ 13:57 | 
        (7) А давай ты без выпендривания напишешь здесь текст процедуры, создающей переменную этого типа, и завершающийся строкой Сообщить(ТипЗнч());
 А мы позапускаем и оценим. | |||
| 10
    
        Мимохожий Однако 16.11.19✎ 14:14 | 
        (9) Погугли "таблица значений из массива"     | |||
| 11
    
        acht 16.11.19✎ 14:15 | 
        (10) На тонком клиенте, угу.
 Напиши, пожалуйста, фрагмент кода, не будь трындежником! | |||
| 12
    
        acht 16.11.19✎ 14:17 | 
        Хуже фузинцев, чесслово...     | |||
| 13
    
        Мимохожий Однако 16.11.19✎ 14:19 | ||||
| 14
    
        fyn 16.11.19✎ 14:21 | 
        (13) речь-то шла о существовании ТЗ на клиенте, а не про её эмуляцию в виде массива структур или подобного )     | |||
| 15
    
        acht 16.11.19✎ 14:22 | 
        (13) Этачо?
 Разверни, пожалуйста, какую именно мыссль ты пытаешся высказать. На примере первой же ссылки. А потом - какое это имеет отношение к обсуждаемому. | |||
| 16
    
        Радим1987 16.11.19✎ 14:48 | 
        ОбщегоНазначения.ТаблицаЗначенийВМассив(ТаблицаЗначений)     | |||
| 17
    
        novichok79 16.11.19✎ 15:03 | 
        (16) только написать хотел ))     | |||
| 18
    
        fyn 16.11.19✎ 15:04 | 
        Ребят. Про массив структур всем известно. В (7) уверялось о существовании ТЗ на клиенте     | |||
| 19
    
        Радим1987 16.11.19✎ 15:08 | 
        (18) Тз существует на форме в виде данные формы коллекция)))     | |||
| 20
    
        fyn 16.11.19✎ 15:13 | 
        (19) спасибо, КЭП ) про это тоже известно.
 Все-таки хочется понять, что имел в виду оратор из (7) | |||
| 21
    
        Радим1987 16.11.19✎ 15:34 | 
        (20) Он скорее всего работает на толстом клиенте вот и у него существует     | |||
| 22
    
        palsergeich 16.11.19✎ 15:39 | 
        (9) (8) половину сделал, а до второй не догадался, всё вот разжевать надо
 И да прекрасно работает на тонком клиенте. ОписаниеТипа = Новый ОписаниеТипов("ТаблицаЗначений"); ТЗ = Новый(ОписаниеТипа.Типы()[0]); Я знаю еще минимум 2 способа это сделать, но извините, не скажу. Думаю этого достаточно что бы вы поверили что я не шучу | |||
| 23
    
        palsergeich 16.11.19✎ 15:43 | 
        ссылка для лентяеф.
 https://yadi.sk/d/4ddQJJ_cbWxoBQ | |||
| 24
    
        Радим1987 16.11.19✎ 15:44 | 
        ОписаниеТипа = Новый ОписаниеТипов("ТаблицаЗначений");
 ТЗ = Новый(ОписаниеТипа.Типы()[0]); ТЗ.Колонки.Добавить("Строка", Новый ОписаниеТипов("Строка")); Строка = ТЗ.Добавить(); Строка.Строка = "вавыапав"; Че за херня | |||
| 25
    
        palsergeich 16.11.19✎ 15:45 | 
        (24) Ну работает же)     | |||
| 26
    
        Радим1987 16.11.19✎ 15:48 | 
        (25) Угу     | |||
| 27
    
        palsergeich 16.11.19✎ 15:51 | 
        именно это и имелось в виду в (7)
 Я на одном форуме увидел что чел хвастался что через ВК создает ТЗ на клиенте со скриншотами. Ну и подумал нельзя ли как нибудь без ВК, за вечер нашел 2 способа, позже нашел 3ий) | |||
| 28
    
        dmpl 16.11.19✎ 16:01 | 
        (25) Это бага, ее в любой момент могут поправить ;)     | |||
| 29
    
        palsergeich 16.11.19✎ 16:01 | 
        (28) У этой баги борода с 82     | |||
| 30
    
        fyn 16.11.19✎ 16:04 | 
        (29) мерси, реально работает, но мягко говоря нетривиально до этого додуматься.     | |||
| 31
    
        palsergeich 16.11.19✎ 16:04 | 
        (29) В любом случае использовать недокументированные возможности всегда на свой страх и риск.     | |||
| 32
    
        fyn 16.11.19✎ 16:06 | 
        (31) это очевидно. Но подобные фичи в 7.7 так и не пофиксили, а помогали они часто     | |||
| 33
    
        dmpl 16.11.19✎ 16:21 | 
        (32) Помню я как-то форматную строку написал не так, как в описании. Оно работало, но при определенных условиях выдавало другую дату. Так что нельзя исключать, что и тут есть какие-то глюки, из-за которых ТЗ официально в тонком клиенте недоступна.     | |||
| 34
    
        Iгор76 16.11.19✎ 16:22 | 
        (33)>> Никак.
 Таблица значений на клиенте не существует. Як дети! Давно уже существует и примеров в Инете полно. 1. Структура массивов - где каждой колонке - имя в структуре и массив 2. Массив массивов. проще 1. работать идентично ТЗ | |||
| 35
    
        Iгор76 16.11.19✎ 16:22 | 
        (34)-->(3)     | |||
| 36
    
        Iгор76 16.11.19✎ 16:23 | 
        Я помню чрез структуру массивов делал - так там и обращения идентичны     | |||
| 37
    
        Muwahhid 16.11.19✎ 16:34 | 
        (6) Ну я использую это значение, для вывода Картинки, на форму Список Номенклатуры. https://1drv.ms/u/s!AjuGDoKdKWA3kcVBWIrjdIGJNSRjsA
 Массив нужен был, чтоб приделать кнопку следующее фото, то есть, просматривать не только заглавную, но и остальные. Наверное, как то проще и быстрее, все можно сделать, но я слабо знаю 1с, и поэтому делаю как могу, и заодно учусь. Советы с форума, дают понять куда копать дальше. https://1drv.ms/u/s!AjuGDoKdKWA3kcVBWIrjdIGJNSRjsA | |||
| 38
    
        RomanYS 16.11.19✎ 16:40 | 
        (37) Яснее не стало. За самой картинкой ты всё равно на сервер пойдешь. Достаточно иметь реквизит формы типа индекс картинки, никаких массивов/ТЗ на клиенте для этого не надо     | |||
| 39
    
        Muwahhid 16.11.19✎ 17:16 | 
        (38) у меня есть на форме реквизит АдресКартинки с типом Поле Картинки. Ей присваиваю значение, и она выводит картинку.
 Отправляю параметры с клиента, 1.ФайлКартинки, 2.УИ АдресКартинки = НавигационнаяСсылкаКартинки(КартинкаИмя, УникальныйИдентификатор); Далее на сервере все, это обрабатывается и возвращается мне в виде Двоичных данных. &НаСервереБезКонтекста Функция НавигационнаяСсылкаКартинки(ФайлКартинки, ИдентификаторФормы) АдресКартинки = ПрисоединенныеФайлы.ПолучитьДанныеФайла(ФайлКартинки, ИдентификаторФормы).СсылкаНаДвоичныеДанныеФайла; Возврат АдресКартинки; КонецФункции ___________ И работает. Я это подсмотрел в Форме Объекта, так сделано в типовой УТ 11.3. Через ПолучитьНавигационнуюСсылку, у меня ничего не вышло, хотя во многих примерах так и делают. Но разница с примерами, что реквизит с типом ХранилищеЗначений лежит у меня в другом справочники (НоменклатураПрисоединенныеФайлы),а в справочнике Номенклатура, ссылочный тип этого реквизита, а у них в самом справочнике Номенклатура. Вообще пришел к выводу, что из-за этого у меня не выходит, а побороть не смог, поэтому сделал, тк сделано в форме Объекта. | |||
| 40
    
        Мимохожий Однако 16.11.19✎ 17:21 | 
        Только последнее сообщение к сабжу никак не соотносится. )
 Да и ладно. | |||
| 41
    
        Muwahhid 16.11.19✎ 17:30 | 
        (40) У меня два случая, первый наводишь (приАктивизацииСтроки) и выходит фото. 
 Второй случай при клике СледФото, просматриваю не только заглавное, но след фото. У товаров где их соответственно, больше чем одно. Для этого мне и нужно было несколько ФайловКартинки получить за раз, чтоб там же их перебрать и передать в функцию след. файл. | |||
| 42
    
        RomanYS 16.11.19✎ 17:40 | 
        (41) можно не получать несколько, а получить 1 следующий (Выбрать первые 1). Хотя оптимально может и все сразу получить     | |||
| 43
    
        craxx 16.11.19✎ 17:45 | 
        (0) Преобразовать ТЗ в массив структур, и в таком виде передать     | |||
| 44
    
        Muwahhid 16.11.19✎ 17:46 | 
        (42) Как из Функции получать именно след ФайлКартинки я не знаю, если подскажешь, буду благодарен.
 У меня так получилось, только первые два фото перебирать. | |||
| 45
    
        RomanYS 16.11.19✎ 17:50 | 
        (44) я про такой вариант:
 Запрос.Текст = " |ВЫБРАТЬ первые 1 | ВладелецФайла.Ссылка, | Ссылка |ИЗ | Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы |ГДЕ | НоменклатураПрисоединенныеФайлы.ВладелецФайла.Ссылка = &АБВ и Ссылка > &СсылкаНаТекущуюКартинку"; Вместо ссылки можно использовать любое поле по которому хотим упорядочивать картинки | |||
| 46
    
        Сияющий в темноте 16.11.19✎ 18:30 | 
        если владелец задан,то чем вам массив ссылок не подошел?
 если для всех владельцев,то сгруппировать по оным и в соответствие владелец=>массив ссылок,запрос по группировкам в такое без проблем превращается и это,данные формы коллекция-это таблица значений на клиенте,но там индексирования нет если хочется именно таблицу,то внешнее соединение к базе и в нем таблицу значений-будет работать без проблем. | |||
| 47
    
        acht 16.11.19✎ 18:40 | 
        (24) Круто. А в веб клиенте работает?     | |||
| 48
    
        Сияющий в темноте 17.11.19✎ 00:07 | 
        в web-клиенте язык 1с переводится в javascript и именно там таблицы значений,в принципе,нет - поэтому 1с решила ее спрятать везде,но,видимо,не очень хорошо спрятала.     | |||
| 49
    
        Сияющий в темноте 17.11.19✎ 00:21 | 
        кроме того,в толстом клиенте в управляемом режиме ТаблицаЗначений прекрасно существует
 и создавать ее можно просто через Новый ТаблицаЗначений и ТЗ.ВыбратьСтроку прекрасно работает. | |||
| 50
    
        Сияющий в темноте 17.11.19✎ 00:25 | 
        прикольно то,что в тонком клиенте ВыбратьСтроку тоже отрабатывает,хотя таблицу приходится создавать через (24)     | |||
| 51
    
        Сияющий в темноте 17.11.19✎ 00:31 | 
        Но,передать таблицу на сервер с тонкого клиента не вышло:отсутствует отображение для типа
 хотя,с толстого улетела на сервер без вопросов. | |||
| 52
    
        Надо работать 17.11.19✎ 01:50 | 
        Если ТЗ можно передать как массив структур - то какой смысл был запрещать сериализацию? Чтобы прогам больше за строки кода платили?
 Все таки 1С нелогичный зверек | |||
| 53
    
        Рэйв 17.11.19✎ 07:10 | 
        (0)Сталкивался с этой херней.
 Возвращай массив структур,с ключами именами колонок.. Могу скинуть код если не соображаешь. | |||
| 54
    
        Сияющий в темноте 17.11.19✎ 10:49 | 
        В бсп,насколько я помню,есть функция преобразования.     | |||
| 55
    
        Сияющий в темноте 17.11.19✎ 10:51 | 
        Просто,если бы таблицу значений в тонком разрешили,то в web можно было и не заглядывать,большинство решений бы писало "не поддерживается"     | |||
| 56
    
        dmpl 17.11.19✎ 12:34 | 
        (55) А в чем проблема реализовать ТЗ в web-клиенте? Разве что с индексами немного повозиться. Но ведь можно же и просто заглушку поставить.     | |||
| 57
    
        Cthulhu 17.11.19✎ 13:07 | 
        (52): "какой смысл" - как раз очень даже понятно.
 попытка охватить веб -> трансляция через тонкого в жаво-клиент с вырезанием из функционала всего, что не есть кошерным для жавы. | |||
| 58
    
        dmpl 17.11.19✎ 14:25 | 
        (51)(52) ТЗ, кстати, отлично сериализуется в том же web-сервисе, например. Так что ограничение тут чисто искусственное.
 (57) JS не умеет создавать такие простые объекты? | |||
| 59
    
        Cthulhu 17.11.19✎ 16:59 | 
        (58): "тание простые" - нет, "настолько простые" - да.     | |||
| 60
    
        Cthulhu 17.11.19✎ 17:01 | 
        (58): +(оборвалось на абзаце):
 д аналогия "на пальцах", несомненно страдающая кривизной - но по сути: охват англоговорящей аудитории подразумевает умение изъясняться на арглийском понятным этой аудитории образом - а не даже частичное ее переучивание на понимание понятных актору терминов понятным актором образом | |||
| 61
    
        acht 17.11.19✎ 17:21 | 
        (60) Я упрощу, пожалуй:
 Проще научить негров английскому, чем локализовать софт на язык ибибио. | |||
| 62
    
        Сияющий в темноте 19.11.19✎ 00:33 | 
        у меня в javascript прекрасно индексированная таблица живет и работает,да большое количество строк она переварить не может,но работает 
 А 1с решила,что не надо. у меня,правда и mdi-интерыейс в браузере работал пока всем не надоело окна по рабочему столу раскидывать. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |