Версия для печати темы (https://pro1c.org.ua/index.php?s=533d420edf1154ae6b2e0d645cb20a52&showtopic=48889)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ ошибка с импортом из Excel

Автор: 4andriy 15.11.18, 11:44

1C 7.7 Бухгалтерия 7.70.027
Обработка "Импорт справочника из Excel"

Выбираю справочник с которым работаю. Выбираю файл который загружаю и у меня в файле есть поля:

Стро;6;ПолноеНаименование

и есть поле:

С;5;Наименование

Если я выбираю поле "Стро;6;ПолноеНаименование" для обработки у меня ошибка:

ТабЗн.НоваяКолонка(Реквизит(СпсРек.ПолучитьЗначение(Ном)));
{Обработка.МодExcelImport.Форма.Модуль(177)}: Недопустимый идентификатор колонки!

Если выбираю поле С;5;Наименование - загрузка проходит отлично.

Проблема в идентификаторе колонки где пишет "Стро". Перерыл весь Excel и не нашел где сменить этот идентификатор.

Автор: mister-x 15.11.18, 12:43

Цитата(4andriy @ 15.11.18, 11:44) *
Обработка "Импорт справочника из Excel"

немає такої обробки у бухгалтерії 7.7, навіть у останньому релізі. Викладіть обробку чи посилання на неї, тоді можна буде щось рекомендувати.

Автор: 4andriy 15.11.18, 13:40

http://pro1c.org.ua/redirect.php?https://fex.net/430541026997

Автор: volodya1122 15.11.18, 15:25

4andriy @ Сегодня, 13:40 * ,
Ще б екселівський файлик з якого загружаєте ( з якого дає помилку)

Автор: 4andriy 15.11.18, 15:57

volodya1122 @ Сегодня, 15:25 * ,
додано

4andriy @ Сегодня, 15:37 * ,
загадка в тому чому деякі колонки показує як С і загружає а ті що СТРО - не загружає і де їх міняти

Автор: Sharzem 15.11.18, 16:06

4andriy @ Сегодня, 16:57 * ,
126 строка в обробці:

ТипРек=Лев(Метаданные.Справочник(НомСпр).Реквизит(КолРек).Тип,4);

але то не критично....

Отут щось не те:
Функция Реквизит(Стр,Режим=3)
//Режим 1-Тип, 2 - Номер, 3 - Наименование
Перем МСтр;
    Если Режим=1 Тогда
        Возврат Лев(Стр,1);
    ИначеЕсли Режим=2 Тогда
        МСтр=Прав(Стр,СтрДлина(Стр)-2);
        Возврат Лев(МСтр,Найти(МСтр,";")-1);
    Иначе
        МСтр=Прав(Стр,СтрДлина(Стр)-2);
        МСтр=ВРег(Прав(МСтр,СтрДлина(МСтр)-Найти(МСтр,";")));
        Возврат МСтр;
    КонецЕсли;
КонецФункции


А якщо перед
ТабЗн.НоваяКолонка(Реквизит(СпсРек.ПолучитьЗначение(Ном)));

добавити:
Сообщить(Реквизит(СпсРек.ПолучитьЗначение(Ном)));

???

Автор: 4andriy 15.11.18, 16:19

Sharzem @ Сегодня, 16:06 * ,
не в тому проблема. коли вибираєш файл то частину колонок обробка бачить як C, а інші як СТРО - те що СТРО не обробляється.

Автор: Sharzem 15.11.18, 16:38

4andriy @ Сегодня, 17:19 * ,
Ще раз. Що вертає:

Сообщить(Реквизит(СпсРек.ПолучитьЗначение(Ном)));


???

Ругається на те що не може створити ТабЗн Нову колонку з ідетифікатором який вертає Функція Реквизит(Стр,Режим=3)
Перевірте будь-ласка.

В стрічці 133:
СпсРек.ДобавитьЗначение(ТипРек+";"+СокрЛП(Строка(Ном))+";"+Метаданные.Справочник(НомСпр).Реквизит(КолРек).Идентификатор);


Заменіть на
СпсРек.ДобавитьЗначение(Лев(ТипРек,1)+";"+СокрЛП(Строка(Ном))+";"+Метаданные.Справочник(НомСпр).Реквизит(КолРек).Идентификатор);


Має бути все гуд.

PS: Не тестував.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua