Вход | Регистрация
 

Аналог оформления строк

Аналог оформления строк
Я
   falselight
 
21.03.19 - 19:19
Делаю загрузку картинок. Сначала загружаю таблицу значений табличного поля на форме обработки.
Потом ЭлементыФормы.ДанныеЛиста.ОбновитьСтроки(); получая каждую строку через оформление строк,
делаю извлечение картинок. Но вижу что это очень глючно и в корень не верно.
Подскажите пожалуйста как можно ещё использовать оформление строк в другом месте, простым перебором.
Эсть ли аналог ОформленияСтрок?
 
 
   Сергиус
 
1 - 21.03.19 - 22:07
(0)А более подробно опишешь задачу?
   falselight
 
2 - 22.03.19 - 06:12
Есть обработка. Обработка заложена в процедуру ПриВыводеСтроки, потому что там есть ОформлениеСтрок.
Для обработки изображения. Проблема в том что ДанныеСтроки.НомерСтроки работают хаотично, и по ним нельзя
последовательно раз обройти табличный документ. Я думаю уже назначить свой цикл, не с использованием данных строки.
А с первой нужной строки и до нужной последней. Высчитывая это.
Так же фоагами, закрывая дальнейшую обработку табличного документа.

Процедура ДанныеЛистаПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    //

    Если ФлагЗагрузки = Ложь Тогда
        Возврат;
    КонецЕсли;
    //

    Если ОбрЗавершена = 1 Тогда
        Возврат;
    КонецЕсли;
    //

    Если НомерПервойСтроки > ДанныеСтроки.НомерСтроки Тогда
        Возврат;
    КонецЕсли;
    //

    // - Загружаемые данные -

    // 1.  Артикул

    // 2.  Наименование

    // 3.  Цена

    // 4.  Картинка

    // 5.  Проба

    // 6.  Ед. Изм.

    // 7.  Группа номенклатуры

    // 8.  Ставка НДС

    // 9.  Тип изделия

    // 10. ПолноеНаименование

    // 11. Размер

    //

    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(ЭтотОбъект.ИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);    
    Если (ЭлементыФормы.ДанныеЛиста.Значение.Количество() - НомерПервойСтроки) > КолВоСтрокТЗ Тогда
        //

        // 2. НАИМЕНОВАНИЕ

        Если НомерНаименование <> 0 Тогда
            НомерСтроки_Стр              = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");
            АдресОбластиНаименования     = "R" + НомерСтроки_Стр + "C" + НомерНаименование + ":R" + НомерСтроки_Стр + "C" + НомерНаименование;
            Наименование                 = СокрЛП(ТабДок.ПолучитьОбласть(АдресОбластиНаименования).ТекущаяОбласть.Текст);
        КонецЕсли;
        //

        ИмеющеесяНаименование = Справочники.Номенклатура.НайтиПоНаименованию(Наименование, ИСТИНА); 
        ИмеющеесяНаименование2 = НайтиНоменклатуру(Наименование);        
        //Если ИмеющеесяНаименование = Справочники.Номенклатура.ПустаяСсылка() Тогда

        Если ИмеющеесяНаименование.Пустая() Тогда 
            СпрНоменклатура                      = Справочники.Номенклатура.СоздатьЭлемент();
            СпрНоменклатура.Наименование         = СокрЛП(Наименование);
            //СпрНоменклатура.НаименованиеПолное = СокрЛП(Наименование);

        Иначе
            Сообщить("Номенклатура с наименованием " + СокрЛП(Наименование) + " уже существует!", СтатусСообщения.Информация);
            Возврат;
        КонецЕсли;
        //

        // 1. АРТИКУЛ

        Если НомерАртикул <> 0 Тогда 
            НомерСтроки_Стр         = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");
            АдресОбластиАртикула    = "R" + НомерСтроки_Стр + "C" + НомерАртикул + ":R" + НомерСтроки_Стр + "C" + НомерАртикул;
            Артикул                 = ТабДок.ПолучитьОбласть(АдресОбластиАртикула).ТекущаяОбласть.Текст;
            СпрНоменклатура.Артикул = СокрЛП(Артикул);
        КонецЕсли;
        //

        // 3. ЦЕНА

        Если НомерЦены <> 0 Тогда
            НомерСтроки_Стр  = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");
            АдресОбластиЦены = "R" + НомерСтроки_Стр + "C" + НомерЦены + ":R" + НомерСтроки_Стр + "C" + НомерЦены;
            Цена             = ТабДок.ПолучитьОбласть(АдресОбластиЦены).ТекущаяОбласть.Текст;
        КонецЕсли;
        //

        // 4. КАРТИНКА

        Если НомерКартинка <> 0 Тогда 
            НужныеДанныеКартинки = "<Pic>";
            НомерСтроки_Стр      = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");
            АдресОбластиРисунка  = "R" + НомерСтроки_Стр + "C" + НомерКартинка + ":R" + НомерСтроки_Стр + "C" + НомерКартинка;
            Для Каждого РисунокТД ИЗ ТабДок.ПолучитьОбласть(АдресОбластиРисунка).Рисунки Цикл
                НужныеДанныеКартинки                          = РисунокТД.Картинка;
                //

                ДанныеЛиста[ДанныеСтроки.НомерСтроки-1][3]    = НужныеДанныеКартинки;
                //

                ОформлениеСтроки.Ячейки.К3.Картинка           = НужныеДанныеКартинки; 
                // ----

                //ХранилищеДополнительнойИнформацииСервер.ПолучитьСетевойКаталог(СетевойКаталог);

                //ВыбранноеИзображение    = Новый Картинка(НужныеДанныеКартинки, Ложь);

                //

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

                //Если НЕ ЗначениеЗаполнено(СетевойКаталог) Тогда

                    //НовыйОбъект.Хранилище = Новый ХранилищеЗначения(НужныеДанныеКартинки, Новый СжатиеДанных);

                //КонецЕсли;

                НовыйОбъект.Записать();
                СпрНоменклатура.ОсновноеИзображение           = НовыйОбъект.Ссылка;
                // ----

                ОформлениеСтроки.Ячейки.К3.АвтовысотаЯчейки   = Истина;
                ОформлениеСтроки.Ячейки.К3.ВысотаЯчейки       = 10;
                ОформлениеСтроки.Ячейки.К3.ОтображатьКартинку = Истина; 
                //

                Прервать;
            КонецЦикла;
        КонецЕсли;
        //

        // 5. ПРОБА

        Если НомерПробы <> 0 Тогда 
            НомерСтроки_Стр              = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");
            АдресОбластиНаименования     = "R" + НомерСтроки_Стр + "C" + НомерПробы + ":R" + НомерСтроки_Стр + "C" + НомерПробы;
            Проба                        = СокрЛП(ТабДок.ПолучитьОбласть(АдресОбластиНаименования).ТекущаяОбласть.Текст);
            НайденнаяПроба               = Справочники.Пробы.НайтиПоНаименованию(Проба, 1);
            Если НайденнаяПроба <> Справочники.Пробы.ПустаяСсылка() Тогда
                СпрНоменклатура.Проба = НайденнаяПроба;
            Иначе
                Сообщить("Проба " + Проба + " не найдена в справочнике пробы!", СтатусСообщения.Важное);
            КонецЕсли;
        КонецЕсли;
        // 6. ЕД. ИЗМ.

        //НомерСтроки_Стр              = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");

        //АдресОбластиНаименования     = "R" + НомерСтроки_Стр + "C4:R" + НомерСтроки_Стр + "C" + 4;

        //Наименование                 = ТабДок.ПолучитьОбласть(АдресОбластиНаименования).ТекущаяОбласть.Текст;

        //СпрНоменклатура.Наименование = Наименование;

        // БАЗОВАЯ ЕДИНИЦА ИЗМЕРЕНИЯ ПО УМОЛЧАНИЮ

        Если НомерЕдИзм <> 0 Тогда
            НомерСтроки_Стр              = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");
            АдресОбластиНаименования     = "R" + НомерСтроки_Стр + "C" + НомерЕдИзм + ":R" + НомерСтроки_Стр + "C" + НомерЕдИзм;
            ЕдИзм                        = СокрЛП(ТабДок.ПолучитьОбласть(АдресОбластиНаименования).ТекущаяОбласть.Текст);
            НайденнаяЕдИзм               = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕдИзм, 1);
            Если НайденнаяЕдИзм <> Справочники.КлассификаторЕдиницИзмерения.ПустаяСсылка() Тогда
                СпрНоменклатура.БазоваяЕдиницаИзмерения = НайденнаяЕдИзм;
            Иначе
                Сообщить("Единица измерения " + ЕдИзм + " не найдена в справочнике классификатор единиц измерения!", СтатусСообщения.Важное);
                СпрНоменклатура.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
                Сообщить("Установлена единица измерения по умолчанию " + ЕдИзм + " шт!", СтатусСообщения.Информация);
            КонецЕсли;
        Иначе
            СпрНоменклатура.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
            Сообщить("Установлена единица измерения по умолчанию " + ЕдИзм + " шт", СтатусСообщения.Информация);
        КонецЕсли;
        //

        // 7. ГРУППА НОМЕНКЛАТУРЫ

        Если НомерГруппыНоменклатуры <> 0 Тогда
            НомерСтроки_Стр              = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");
            АдресОбластиНаименования     = "R" + НомерСтроки_Стр + "C" + НомерГруппыНоменклатуры + ":R" + НомерСтроки_Стр + "C" + НомерГруппыНоменклатуры;
            ГруппаНоменклатуры             = СокрЛП(ТабДок.ПолучитьОбласть(АдресОбластиНаименования).ТекущаяОбласть.Текст);
            НайденнаяГруппаНоменклатуры  = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию(ГруппаНоменклатуры, 1);
            Если НайденнаяГруппаНоменклатуры <> Справочники.НоменклатурныеГруппы.ПустаяСсылка() Тогда
                СпрНоменклатура.НоменклатурнаяГруппа = НайденнаяГруппаНоменклатуры;
            Иначе
                Сообщить("Группа номенклатуры " + ГруппаНоменклатуры + " не найдена в справочнике номенклатурные группы!", СтатусСообщения.Важное);
            КонецЕсли;
        КонецЕсли;
        // 8. СТАВКА НДС

        Если НомерСтавкиНДС <> 0 Тогда
            НомерСтроки_Стр              = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");
            АдресОбластиНаименования     = "R" + НомерСтроки_Стр + "C" + НомерСтавкиНДС + ":R" + НомерСтроки_Стр + "C" + НомерСтавкиНДС;
            СтавкаНДС                    = СокрЛП(ТабДок.ПолучитьОбласть(АдресОбластиНаименования).ТекущаяОбласть.Текст);
            Если СтавкаНДС = "Без НДС" Тогда
                СпрНоменклатура.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;                
            ИначеЕсли СтавкаНДС = "НДС 18" Тогда
                СпрНоменклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС18;    
            ИначеЕсли СтавкаНДС = "НДС 10" Тогда
                СпрНоменклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС10;
            КонецЕсли;
        КонецЕсли;
        // 9. ТИП ИЗДЕЛИЯ

        Если НомерТипаИзделия <> 0 Тогда  
            НомерСтроки_Стр              = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");
            АдресОбластиНаименования     = "R" + НомерСтроки_Стр + "C" + НомерТипаИзделия + ":R" + НомерСтроки_Стр + "C" + НомерТипаИзделия;
            ТипИзделия                   = СокрЛП(ТабДок.ПолучитьОбласть(АдресОбластиНаименования).ТекущаяОбласть.Текст);
            НайденныйТипИзделия          = Справочники.ТипыИзделий.НайтиПоНаименованию(ТипИзделия, 1);
            Если НайденныйТипИзделия <> Справочники.ТипыИзделий.ПустаяСсылка() Тогда
                СпрНоменклатура.ТипИзделия = НайденныйТипИзделия;
            Иначе
                Сообщить("Тип изделия " + ТипИзделия + " не найден в справочнике типы изделий!", СтатусСообщения.Важное);
            КонецЕсли;
        КонецЕсли;
        //

        // 10. ПОЛНОЕ НАИМЕНОВАНИЕ

        Если НомерПолноеНаименование <> 0 Тогда  
            НомерСтроки_Стр                    = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");
            АдресОбластиНаименования           = "R" + НомерСтроки_Стр + "C" + НомерПолноеНаименование + ":R" + НомерСтроки_Стр + "C" + НомерПолноеНаименование;
            ПолноеНаименование                 = СокрЛП(ТабДок.ПолучитьОбласть(АдресОбластиНаименования).ТекущаяОбласть.Текст);
            СпрНоменклатура.НаименованиеПолное = СокрЛП(ПолноеНаименование);
        КонецЕсли;
        //

        // 11. РАЗМЕР

        Если НомерРазмер <> 0 Тогда  
            НомерСтроки_Стр          = Формат(ДанныеСтроки.НомерСтроки, "ЧН=0; ЧГ=0");
            АдресОбластиНаименования = "R" + НомерСтроки_Стр + "C" + НомерРазмер + ":R" + НомерСтроки_Стр + "C" + НомерРазмер;
            Размер                   = ТабДок.ПолучитьОбласть(АдресОбластиНаименования).ТекущаяОбласть.Текст;
            СпрНоменклатура.Размер1  = ЧИСЛО(СокрЛП(Размер));
        КонецЕсли;
        //

        ГруппаЭксель = Справочники.Номенклатура.НайтиПоНаименованию("EXCEL2", 1);
        Если ГруппаЭксель <> Справочники.Номенклатура.ПустаяСсылка() Тогда
            СпрНоменклатура.Родитель = ГруппаЭксель;
        Иначе
            ГруппаЭксель = Справочники.Номенклатура.СоздатьГруппу();
            ГруппаЭксель.Наименование = "EXCEL2";
            ГруппаЭксель.Записать();
            СпрНоменклатура.Родитель = ГруппаЭксель.Ссылка;
            Сообщить("Созданна группа " + "EXCEL2", СтатусСообщения.Информация);
        КонецЕсли;
        СпрНоменклатура.Записать();        
        Сообщить(СТРОКА(ДобавленнаяСтрока) + ". " + СпрНоменклатура.Артикул +" Загружен элемент номенклатуры " + СпрНоменклатура.Код + ", "+ СпрНоменклатура.Наименование);
        КолВоСтрокТз      = КолВоСтрокТЗ + 1;
        ДобавленнаяСтрока = ДобавленнаяСтрока + 1;
    Иначе
        Сообщить("Загрузка позиций номенклатуры с выбранного листа excel произведена в каталог <<EXCEL2>>", СтатусСообщения.Информация);
        ОбрЗавершена = 1;
    КонецЕсли;
    //

    //ТабДок = "";

КонецПроцедуры
//
   Конструктор1С
 
3 - 22.03.19 - 06:34
(2) у тебя не код, а прям целое пособие, как НЕ надо делать
   falselight
 
4 - 22.03.19 - 06:52
(3) Где вы возьмете ОформлениеСтрок?
В коде есть лишнее. Но я хотел сделать так что бы работало.

Там нужно. Что бы при ВыводеСтроки, обрабатывались все строки табличного документа, с типом таблица значений.
И на этом обработка завершалась. Обработанные строки должны загрузиться в номенклатуру.

Смысл такой.
   falselight
 
5 - 22.03.19 - 06:53
(3) Я сейчас вынашиваю идею, как сделать правильно.
Первое что пришло на ум, это отказаться от использования ДанныеСтроки.Номер строки,
на чем все завязано. Так как это работает криво.
   МимохожийОднако
 
6 - 22.03.19 - 06:54
(2) В чём смысл использования формы для извлечения данных из табличного поля на форме? Пользователю нравится смотреть на процесс обработки данных? Откуда данные на поле попали? Вот оттуда и надо плясать, чтобы загрузить картинки.
   falselight
 
7 - 22.03.19 - 07:00
(6) В поле данные попали при чтении выбранного файла эксель.
Загрузили файл в дереве значений. Прочли его. Данные попали в табличное поле.
Потом по загрузить идет их обработка.
ПриВыводеСтроки, потому что нужно загружать картинки.
Были ещё способы с использованием библиотек.
Но я выбрал этот.
Как ещё загрузить картинки можно не знаю.
Как загружать с эксель это понятно. А как с него загружать картинки?
Я метод нащел только ПриВыводеСтроки, через ОформлениеСтрок.
   falselight
 
8 - 22.03.19 - 07:02
(7+) При загрузке просто идет обновление строк табличного поля.
Что способствует обновлению строк.
Не понятно правдв почему после 39 строки, это обновление срабатывает снова!!!
И все начинается с начала таблицы. Ещё и загруженные элементы не находятся в базе и пишутся как дубли.
Ответы на эти вопросы я не нащел.
   МимохожийОднако
 
9 - 22.03.19 - 07:09
(7) Если ты получишь область табличного документа, то у него есть возможность вернуть Картинку
ТабличныйДокумент.Область (SpreadsheetDocument.Area)
ТабличныйДокумент (SpreadsheetDocument)
Область (Area)
Вариант синтаксиса: По имени

Синтаксис:

Область(<ИмяОбласти>)
Параметры:

<ИмяОбласти> (обязательный)

Тип: Строка.
Имя области или адрес в формате "R1C1:R2C2", где число после "R" обозначает номер строки, число после "C" - номер колонки, символом ":" (двоеточие) разделяются координаты левого верхнего и правого нижнего угла области. В качестве имени также можно передавать пересечение двух областей, записываемое как "<Имя области 1> | <Имя области 2>".
Вариант синтаксиса: По адресу

Синтаксис:

Область(<НомерПервойСтроки>, <НомерПервойКолонки>, <НомерПоследнейСтроки>, <НомерПоследнейКолонки>)
Параметры:

<НомерПервойСтроки> (необязательный)

Тип: Число.
Номер первой строки области таблицы.
Если отсутствует, то указывается область, состоящая из колонок. 
<НомерПервойКолонки> (необязательный)

Тип: Число. 
Номер первой колонки области таблицы.
Если отсутствует, то указывается область, состоящая из строк. 
<НомерПоследнейСтроки> (необязательный)

Тип: Число. 
Номер последней строки области таблицы.
Если выделяется область из колонок (параметр <НомерПервойСтроки> не задан), то указывается номер строки, из которой берется формат строк. 
<НомерПоследнейКолонки> (необязательный)

Тип: Число. 
Номер последней колонки области таблицы.
Описание варианта метода:

Если последняя строка и последняя колонка отсутствуют, то область задана единственной ячейкой. Если строки или колонки отсутствуют, то область задана диапазоном строк или колонок соответственно. Если метод вызван без параметров, то область задана всей таблицей.
Нумерация строк и колонок начинается с 1. Значение 0 трактуется как 1.
Возвращаемое значение:

Тип: ОбластьЯчеекТабличногоДокумента; РисунокТабличногоДокумента.

Описание:

Получает область табличного документа как область ячеек табличного документа либо как рисунок с указанным именем. Область может состоять из нескольких расположенных подряд строк или колонок либо быть прямоугольной областью таблицы.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример:

ИменованнаяОбласть = ТабДок.Область("Шапка");
Ячейка = ТабДок.Область("R2C5");
ПрямоугольнаяОбластьЯчеек = ТабДок.Область("R2C2:R3C5");
ОбластьСтрока = ТабДок.Область("R2");
ОбластьСтрок = ТабДок.Область("R2:R4");
ОбластьКолонка = ТабДок.Область("C4");
ОбластьКолонок = ТабДок.Область("C4:C5");
 

См. также:

ОбластьЯчеекТабличногоДокумента

--------------------------------------------------------------------------------

     Методическая информация
   МимохожийОднако
 
10 - 22.03.19 - 07:10
Понять, что лежит в этой области можно через
Если ТипЗнч(ТекущаяЯчейка) = Тип("РисунокТабличногоДокумента") Тогда
    // Пропускаем рисунки табличного документа


    Возврат;
КонецЕсли;
   МимохожийОднако
 
11 - 22.03.19 - 07:11
На просторах инета и инфостарте есть обработки с использованием библиотеки для подобных дел
   МимохожийОднако
 
12 - 22.03.19 - 07:13
Если бы ты поставил одной из целью сделать свою обработку как регламентное задание, то не стал бы использовать форму в принципе. ИМХО, выбранный инструмент не удачен.
   falselight
 
13 - 22.03.19 - 09:38
(12) Да нет не регламентное задание.
   falselight
 
14 - 22.03.19 - 09:40
(12) То есть вы хотите сказать что можно загружать картинки с табличного документа не имея ОформленияСтрок?
Задача, загрузить на форму данные с эксель. Что бы туда поместилась картинка.
Пользователь проставляет индексы колонок. и загружает номенклатуру. С картинкой.

Подскажите пожалуйста по коду как это можно сделать не через ОформлениеСтроки.
   Сергиус
 
15 - 22.03.19 - 11:05
(0)Начальные данные откуда берутся, ты из файла их грузишь? Покажи тогда пример файла.
   Сергиус
 
16 - 22.03.19 - 11:08
+(15)Там что, картинка в ячейке уже сразу или по-другому?
   Ёпрст
 
17 - 22.03.19 - 11:09
(2) полный пэ
   Ёпрст
 
18 - 22.03.19 - 11:15
а создание справочника и помещение картинки в хранилище. так вообще агонь!
Мало данных не бывает, бывает мало места.
   Ёпрст
 
19 - 22.03.19 - 11:16
С таким кодом, надо топать на Селезнёвку в отдел разработки ЗуП.. там как раз такие наркоманы нужны.
   ColonelAp4u
 
20 - 22.03.19 - 11:19
(14) посмотри при получении данных, там тоже есть оформление строки
   falselight
 
21 - 22.03.19 - 12:08
(15) http://joxi.ru/xAegJXjFRgx79m

Я сейчас сижу и хренею ((((( Грузится как попало. ПриВыводе строки нельзя делать.
Нужно отдельной кнопкой.
И ещё. Номенклатура не находится (((( Или то находится то нет. Я так понимаю что то с базой????
   falselight
 
22 - 22.03.19 - 12:10
(16) да в ячейке
   falselight
 
23 - 22.03.19 - 12:11
(20) При получении данных, можно обрабатывать все в цикле?
не будет ребититься как в ПриВыводеСтроки ?
   Ёпрст
 
24 - 22.03.19 - 12:11
(21) база тут не при чем. Тут что-то в консерватории менять надо. А за (2) надо как минимум зп не выдавать полгода
   Ёпрст
 
25 - 22.03.19 - 12:12
(23) Ни ПриВыводеСтроки, ни ПриПолученииДанных тебе не нужно, от слова совсем.
   Ёпрст
 
26 - 22.03.19 - 12:13
максимум, в ПриПолученииДанных сделать отображение картинки, хранящейся в колонке-источнике.
   falselight
 
27 - 22.03.19 - 12:30
(26) А загружать как подскажите картинку?
Для данных есть таблица значений!
   sqr4
 
28 - 22.03.19 - 12:37
(27) А зачем вообще ТЗ используй таб док)
   МимохожийОднако
 
29 - 22.03.19 - 12:53
(27) У тебя есть файл с табличным документом. Получай табличный документ и обрабатывай. Я форма нужна только для того, чтобы пользователь (если действительно хочет) посмотрел результат обработки. Для загрузки данных смотреть промежуточный табличный документ не нужен
   falselight
 
30 - 22.03.19 - 13:49
(28) Я делал получение картинки через оформление строк

Сейчас как я понимаю, грузить нужно отдельной кнопкой.
 
 Рекламное место пустует
   chelentano
 
31 - 22.03.19 - 14:03
(17) Ну а что ты хотел от Ливингстара :)))
   Ёпрст
 
32 - 22.03.19 - 14:18
(30) пилять..
на вот, слеплено на коленке
   Ёпрст
 
33 - 22.03.19 - 14:20
   Ёпрст
 
34 - 22.03.19 - 14:21
Картинка в xls не должна выходить за пределы ячейки, иначе в таб поле ёё не видать будет
   falselight
 
35 - 22.03.19 - 15:19
(34) Спасибо, буду разбираться!
   falselight
 
36 - 23.03.19 - 08:25
(34) Скажите а в вашем примере в (33) считывать картинку можно как с таблицы значений так и с табличного документа?
   falselight
 
37 - 23.03.19 - 10:05
(33) У вас почему то там, в конце все что загрузилось, выводится дополнительно артикулом в одной колонке, не пойму как избавиться.
   Ёпрст
 
38 - 23.03.19 - 20:34
(36) Это просто пример, как в табличку значений и как в табличный документ считать, можно и через com + excel aplication , если офис установлен

(37) ну, выложите ваш xls на посмотреть
   Garykom
 
39 - 23.03.19 - 20:47
(21) Ты понимаешь я как давно работающий и варящийся в сфере ювелирки хочу сказать что ты делаешь полную хрень.
Причем проблема не в тебе а том кто те ТЗ выдал.

Ну лять науя делать выгрузку прайсов в ёксель с картинками, когда давным давно есть веб-сайты?
Да лять сделайте вы одностраничник на JS в папке (с картинками) или хотя бы PDF если такие принципиальные.

Браузер есть везде и PDF сча почти любой браузер показывает уко.
   Garykom
 
40 - 23.03.19 - 20:54
(39)+ Если же речь про загрузку прайса или накладных в свою базу, то загружать из XLS тоже изврат редкостный с которым надо к Мане обращаться с его нетленкой.

Есть нормальные форматы типа XML или DBF и отдельно файлы картинок, внутри только имена их.
Грузить легко и приятно, выгружать тоже нет проблем.
Если отношения поставщик-покупатель вменяемые то можно договориться о форматах.
   falselight
 
41 - 25.03.19 - 04:05
(38) https://cloud.mail.ru/public/Lfty/RELFa29tw

(33) На форму обработки получили, потом текст с неё можно считать как текст.
А как считать картинки?
   Ёпрст
 
42 - 25.03.19 - 10:59
(41) дык твои картинки норм же считались ?
А так, в моём примере не учитываются объединенные ячейки, ибо это просто пример.
Ты у себя в коде можешь явно задать начальные номера колонок, откуда тащить данные, если твой xls всегда имеет неизменный вид.
Или хранить где-то настройку, с каких колонок и чего считывать и с какой строки


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.