![]() |
|
Не загружаются контрагенты из Экселя | ☑ | ||
---|---|---|---|---|
0
sergqwert
08.12.20
✎
13:40
|
Загружаю номенклатуру из файла Эксель, данные нормально загружаются. По аналогии пытаюсь загрузить контрагентов, не грузятся вообще. В чем проблема, не могу понять. Конфигурация BAS УТ 3.2.
&НаКлиенте Процедура ЗагрузитьНаСервере() Подключить(); Если ДокExcel = Неопределено Тогда Возврат; КонецЕсли; Попытка ПолучитьТЗ(); //ПолучитьТЗ1(); ДокExcel.ActiveWorkbook.Close(); ДокExcel.Quit(); Исключение Сообщить(ОписаниеОшибки()); ДокExcel.ActiveWorkbook.Close(); ДокExcel.Quit(); Возврат; КонецПопытки; ЗагрузитьНоменклатуруНаСервере("", ЭтаФорма.Отчет.Тип, ЭтаФорма.Отчет.ВнутреннийКод); ЗагрузитьКонтрагентыНаСервере(""); //ЗагрузитьПартнерыНаСервере(""); КонецПроцедуры &НаКлиенте Функция ПолучитьТЗ() Ошибка = Ложь; ТаблицаНом.Очистить(); //Разделитель = Найти(СписокКолонок, "-"); Начало = 1; Конец = 53; КолонкаПрохождения = 4; НомерСтроки = 1; НомерЛиста = 1; //Ошибки Если ПустаяСтрока(СокрЛП(Начало)) Тогда Начало = 0; Иначе Попытка Начало = Число(Начало); Исключение Сообщить("В списке колонок должно быть числовое значение!", СтатусСообщения.Важное); Ошибка = Истина; КонецПопытки; КонецЕсли; Попытка Конец = Число(Конец); Исключение Сообщить("В списке колонок должно быть числовое значение!", СтатусСообщения.Важное); Ошибка = Истина; КонецПопытки; Если Конец < Начало Тогда Сообщить("Список колонок указаны не верно!", СтатусСообщения.Важное); Ошибка = Истина; КонецЕсли; Если Ошибка Тогда Возврат Ошибка; КонецЕсли; //ТЗ Пока (НЕ ДокExcel.Sheets(НомерЛиста).Cells(НомерСтроки, КолонкаПрохождения).Value = Неопределено Или НЕ СокрЛП(ДокExcel.Sheets(НомерЛиста).Cells(НомерСтроки, КолонкаПрохождения).Value) = "" ИЛИ НомерСтроки = 7) Цикл СтрокаТЗ = ТаблицаНом.Добавить(); Для н = Начало По Конец Цикл СтрокаТЗ[Строка("Колонка"+н)] = ДокExcel.Sheets(НомерЛиста).Cells(НомерСтроки, н).Value; КонецЦикла; НомерСтроки = НомерСтроки + 1; КонецЦикла; //Возврат ТЗ; КонецФункции // () &НаСервере Процедура ЗагрузитьКонтрагентыНаСервере(ИмяФайла) СпрКонтрагенты = Справочники.Контрагенты; СпрПартнеры = Справочники.Партнеры; //////xlLastCell = 11; //////НомерЛистаExcel = 1; //////Excel = Новый COMОбъект("Excel.Application"); //////Excel.WorkBooks.Open(ИмяФайла); //КоличествоЛистов = Excel.Sheets.Count; НачатьТранзакцию(); //////ExcelЛист = Excel.Sheets(НомерЛистаExcel); ////// //////ТаблицаКонтрагентов = Неопределено; //////ПрочитатьЛистExcel(ТаблицаКонтрагентов, ExcelЛист, 2); ////// //////Excel.ActiveWorkbook.Close(); ////// //////Excel.Quit(); СоответствиеГрупп = Новый Соответствие; СчетчикЗаписей=0; КоличествоСчитано=0; КоличествоЗагружено=0; ДопСвойствоКод77 = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.ПолучитьСсылку(Новый УникальныйИдентификатор("77b9e611-8d0b-11e9-80e3-ac1f6b01a2d7")); ДопСвойствоРодитель = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.ПолучитьСсылку(Новый УникальныйИдентификатор("dd036191-cb29-11e9-ba8d-0cc47a4cd4c2")); ДопСвойствоКодВКПК = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.ПолучитьСсылку(Новый УникальныйИдентификатор("dd036192-cb29-11e9-ba8d-0cc47a4cd4c2")); Для каждого МассивТекСтроки Из ТаблицаКонтрагентов Цикл КодСтрока = СокрЛП(МассивТекСтроки["Колонка6"]); НаименованиеК = СокрЛП(МассивТекСтроки["Колонка7"]); ВидКонтрагента = СокрЛП(МассивТекСтроки["Колонка9"]); КодПоЕДРПОУ = СокрЛП(МассивТекСтроки["Колонка13"]); ИНН = СокрЛП(МассивТекСтроки["Колонка24"]); ПолнНаименование = СокрЛП(МассивТекСтроки["Колонка30"]); ПочтовыйАдрес = СокрЛП(МассивТекСтроки["Колонка31"]); ЮридическийАдрес = СокрЛП(МассивТекСтроки["Колонка37"]); НомерСвидетельства = СокрЛП(МассивТекСтроки["Колонка27"]); Телефоны = СокрЛП(МассивТекСтроки["Колонка36"]); ЭтоПокупатель = СокрЛП(МассивТекСтроки["Колонка3"]); ЭтоПоставщик = СокрЛП(МассивТекСтроки["Колонка2"]); КодВКПК = СокрЛП(МассивТекСтроки["Колонка40"]); СтрДоговор = СокрЛП(МассивТекСтроки["Колонка39"]); ЭтоГуппа = МассивТекСтроки["Колонка4"]; Наименование = СокрЛП(МассивТекСтроки["Колонка1"]); ПолноеИмя = СокрЛП(МассивТекСтроки["Колонка5"]); ПолноеИмя = СтрЗаменить(ПолноеИмя, Наименование, ""); МассивИерархии = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ПолноеИмя, "/", Истина); ТекРодитель = Справочники.ЗначенияСвойствОбъектовИерархия.ПустаяСсылка(); ЕстьРодитель = МассивИерархии.Количество() >= 1; Если ЕстьРодитель Тогда ИмяРодителя = СокрЛП(МассивИерархии[МассивИерархии.ВГраница()]); ТекРодитель = СоответствиеГрупп.Получить(ИмяРодителя); Если ТекРодитель = Неопределено Тогда ТекРодитель = Справочники.ЗначенияСвойствОбъектовИерархия.НайтиПоНаименованию(Наименование, , ТекРодитель, ДопСвойствоРодитель); КонецЕсли; КонецЕсли; Если ЭтоГуппа = "1" Тогда ТекГруппа = Справочники.ЗначенияСвойствОбъектовИерархия.НайтиПоНаименованию(Наименование, , ТекРодитель, ДопСвойствоРодитель); Если ТекГруппа.Пустая() Тогда СпрПапкаГР = Справочники.ЗначенияСвойствОбъектовИерархия.СоздатьЭлемент(); СпрПапкаГР.Родитель = ТекРодитель; СпрПапкаГР.Наименование = Наименование; СпрПапкаГР.Владелец = ДопСвойствоРодитель; СпрПапкаГР.Записать(); СоответствиеГрупп.Вставить(Наименование, СпрПапкаГР.Ссылка); Иначе СпрПапкаГР = ТекГруппа.ПолучитьОбъект(); СпрПапкаГР.Родитель = ТекРодитель; СпрПапкаГР.Наименование = Наименование; СпрПапкаГР.Записать(); СоответствиеГрупп.Вставить(Наименование, СпрПапкаГР.Ссылка); КонецЕсли; Продолжить; КонецЕсли; КонтрагентСсыка = НайтиКонтрагентаПоКоду(ДопСвойствоКод77, КодСтрока); Если НЕ КонтрагентСсыка = Неопределено Тогда КонтрагентОбъект = КонтрагентСсыка.ПолучитьОбъект(); Иначе КонтрагентОбъект = СпрКонтрагенты.СоздатьЭлемент(); нсДопРеквизиты = КонтрагентОбъект.ДополнительныеРеквизиты.Добавить(); нсДопРеквизиты.Свойство = ДопСвойствоКод77; нсДопРеквизиты.Значение = КодСтрока; КонецЕсли; КонтрагентОбъект.Наименование = НаименованиеК; СтрокиМатТовар = КонтрагентОбъект.ДополнительныеРеквизиты.НайтиСтроки(Новый Структура("Свойство", ДопСвойствоРодитель)); Для Каждого элСтрокиМатТовар Из СтрокиМатТовар Цикл КонтрагентОбъект.ДополнительныеРеквизиты.Удалить(элСтрокиМатТовар); КонецЦикла; нсДопРеквизит = КонтрагентОбъект.ДополнительныеРеквизиты.Добавить(); нсДопРеквизит.Свойство = ДопСвойствоРодитель; нсДопРеквизит.Значение = ТекРодитель; СтрокиКодВКПК = КонтрагентОбъект.ДополнительныеРеквизиты.НайтиСтроки(Новый Структура("Свойство", ДопСвойствоКодВКПК)); Для Каждого элСтрокиКодВКПК Из СтрокиКодВКПК Цикл КонтрагентОбъект.ДополнительныеРеквизиты.Удалить(элСтрокиКодВКПК); КонецЦикла; Если ЗначениеЗаполнено(КодВКПК) Тогда нсДопРеквизит = КонтрагентОбъект.ДополнительныеРеквизиты.Добавить(); нсДопРеквизит.Свойство = ДопСвойствоКодВКПК; нсДопРеквизит.Значение = КодВКПК; КонецЕсли; Если ВидКонтрагента = "Частное лицо" Тогда КонтрагентОбъект.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо; КонтрагентОбъект.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ИндивидуальныйПредприниматель; ИначеЕсли ВидКонтрагента = "Организация" Тогда КонтрагентОбъект.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо; КонтрагентОбъект.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо; КонецЕсли; КонтрагентОбъект.КодПоЕДРПОУ = КодПоЕДРПОУ; КонтрагентОбъект.ИННПлательщикаНДС = ИНН; КонтрагентОбъект.НаименованиеПолное = ПолнНаименование; КонтрагентОбъект.НомерСвидетельстваПлательщикаНДС = НомерСвидетельства; Если ПочтовыйАдрес <> "" Тогда СтрокиКИ = КонтрагентОбъект.КонтактнаяИнформация.НайтиСтроки(Новый Структура("Вид,Тип", Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента, Перечисления.ТипыКонтактнойИнформации.Адрес)); Если СтрокиКИ.Количество() = 0 Тогда НоваяСтрокаКИ = КонтрагентОбъект.КонтактнаяИнформация.Добавить(); НоваяСтрокаКИ.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента; НоваяСтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НоваяСтрокаКИ.Представление = ПочтовыйАдрес; Иначе СтрокиКИ[0].Представление = ПочтовыйАдрес; КонецЕсли; КонецЕсли; Если ЮридическийАдрес <> "" Тогда СтрокиКИ = КонтрагентОбъект.КонтактнаяИнформация.НайтиСтроки(Новый Структура("Вид,Тип", Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента, Перечисления.ТипыКонтактнойИнформации.Адрес)); Если СтрокиКИ.Количество() = 0 Тогда НоваяСтрокаКИ = КонтрагентОбъект.КонтактнаяИнформация.Добавить(); НоваяСтрокаКИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; НоваяСтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НоваяСтрокаКИ.Представление = ЮридическийАдрес; Иначе СтрокиКИ[0].Представление = ЮридическийАдрес; КонецЕсли; КонецЕсли; Если Телефоны <> "" Тогда СтрокиКИ = КонтрагентОбъект.КонтактнаяИнформация.НайтиСтроки(Новый Структура("Вид,Тип", Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента, Перечисления.ТипыКонтактнойИнформации.Телефон)); Если СтрокиКИ.Количество() = 0 Тогда НоваяСтрокаКИ = КонтрагентОбъект.КонтактнаяИнформация.Добавить(); НоваяСтрокаКИ.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента; НоваяСтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон; НоваяСтрокаКИ.Представление = Телефоны; Иначе СтрокиКИ[0].Представление = Телефоны; КонецЕсли; КонецЕсли; КонтрагентОбъект.Записать(); Если ЗначениеЗаполнено(СтрДоговор) Тогда СтрДоговор = СтрЗаменить(СтрДоговор, "№ ", "№"); ЕстьНомер = СтрНайти(СтрДоговор, "№") > 0; МассивИерархии = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СтрДоговор, " ", Истина); ДатаДоговораОконч = СокрЛП(МассивТекСтроки["Колонка10"]); ДатаДоговора = Неопределено; НомерДоговора = Неопределено; Если ЕстьНомер Тогда Для Каждого элМассивИерархии Из МассивИерархии Цикл Если ПроверитьСтроку(элМассивИерархии, "\d{2}\.\d{2}\.\d{4}") Тогда ДатаДоговора = Дата(Прав(элМассивИерархии, 4) + Сред(элМассивИерархии, 4, 2) + Лев(элМассивИерархии, 2)); КонецЕсли; Если СтрНачинаетсяС(элМассивИерархии, "№") Тогда НомерДоговора = СтрЗаменить(элМассивИерархии, "№", ""); КонецЕсли; КонецЦикла; Иначе Для Каждого элМассивИерархии Из МассивИерархии Цикл Если ПроверитьСтроку(элМассивИерархии, "\d{2}\.\d{2}\.\d{4}") Тогда ДатаДоговора = Дата(Прав(элМассивИерархии, 4) + Сред(элМассивИерархии, 4, 2) + Лев(элМассивИерархии, 2)); КонецЕсли; Если ПроверитьСтроку(элМассивИерархии, "\d+/\d+") Тогда НомерДоговора = элМассивИерархии; КонецЕсли; КонецЦикла; КонецЕсли; ДоговорСсылка = НайтиДоговор(СтрДоговор, КонтрагентОбъект.Ссылка); Если ДоговорСсылка = Неопределено Тогда ДоговорОбъект = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); ДоговорОбъект.Заполнить(Неопределено); Если ЭтоПокупатель = "1" Тогда ДоговорОбъект.ТипДоговора = Перечисления.ТипыДоговоров.СПокупателем; ИначеЕсли ЭтоПоставщик = "1" Тогда ДоговорОбъект.ТипДоговора = Перечисления.ТипыДоговоров.СПоставщиком; КонецЕсли; ДоговорОбъект.Наименование = СтрДоговор; ДоговорОбъект.Номер = НомерДоговора; ДоговорОбъект.Дата = ДатаДоговора; ДоговорОбъект.Контрагент = КонтрагентОбъект.Ссылка; //ДоговорОбъект.ДатаОкончанияДействия = Дата(Прав(ДатаДоговораОконч, 4) + Сред(ДатаДоговораОконч, 4, 2) + Лев(ДатаДоговораОконч, 2)); ДоговорОбъект.ДатаОкончанияДействия = Дата(Сред(ДатаДоговораОконч, 7, 4) + Сред(ДатаДоговораОконч, 4, 2) + Лев(ДатаДоговораОконч, 2)); ДоговорОбъект.Записать(); КонецЕсли; КонецЕсли; ДатаЛицензии = СокрЛП(МассивТекСтроки["Колонка12"]); ДатаЛицензииРег = СокрЛП(МассивТекСтроки["Колонка11"]); НомерЛиц = СокрЛП(МассивТекСтроки["Колонка26"]); СерияЛиц = СокрЛП(МассивТекСтроки["Колонка34"]); Если ЗначениеЗаполнено(НомерЛиц) И ДатаЛицензии <> "0" Тогда ITON_ЛицензииКлиентов = РегистрыСведений.ITON_ЛицензииКлиентов.СоздатьМенеджерЗаписи(); ITON_ЛицензииКлиентов.Период = ?(ДатаЛицензииРег <> "0", Дата(Сред(ДатаЛицензииРег, 7, 4) + Сред(ДатаЛицензииРег, 4, 2) + Лев(ДатаЛицензииРег, 2)), Дата(2000,01,01)); ITON_ЛицензииКлиентов.Контрагент = КонтрагентОбъект.Ссылка; ITON_ЛицензииКлиентов.Партнер = Справочники.Партнеры.НеизвестныйПартнер; ITON_ЛицензииКлиентов.Прочитать(); Если НЕ ITON_ЛицензииКлиентов.Выбран() Тогда ITON_ЛицензииКлиентов.Партнер = Справочники.Партнеры.НеизвестныйПартнер; ITON_ЛицензииКлиентов.Период = ?(ДатаЛицензииРег <> "0", Дата(Сред(ДатаЛицензииРег, 7, 4) + Сред(ДатаЛицензииРег, 4, 2) + Лев(ДатаЛицензииРег, 2)), Дата(2000,01,01)); ITON_ЛицензииКлиентов.Контрагент = КонтрагентОбъект.Ссылка; КонецЕсли; ITON_ЛицензииКлиентов.ДатаОкончанияЛицензии = Дата(Сред(ДатаЛицензии, 7, 4) + Сред(ДатаЛицензии, 4, 2) + Лев(ДатаЛицензии, 2)); ITON_ЛицензииКлиентов.Номер = НомерЛиц; ITON_ЛицензииКлиентов.Серия = СерияЛиц; ITON_ЛицензииКлиентов.Записать(); КонецЕсли; //Договор А-00000035 (03.01.17) СтрДоговорТорг = СокрЛП(МассивТекСтроки["Колонка29"]); Если ЗначениеЗаполнено(СтрДоговорТорг) Тогда ДатаДоговораОконч = СокрЛП(МассивТекСтроки["Колонка10"]); ДатаДоговора = Сред(СтрДоговорТорг, 21, 8); ДатаДоговора = Дата("20" + Прав(ДатаДоговора, 2) + Сред(ДатаДоговора, 4, 2) + Лев(ДатаДоговора, 2)); НомерДоговора = Сред(СтрДоговорТорг, 9, 10); ДоговорСсылка = НайтиДоговор(СтрДоговорТорг, КонтрагентОбъект.Ссылка); Если ДоговорСсылка = Неопределено Тогда ДоговорОбъект = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); ДоговорОбъект.Заполнить(Неопределено); Если ЭтоПокупатель = "1" Тогда ДоговорОбъект.ТипДоговора = Перечисления.ТипыДоговоров.СПокупателем; ИначеЕсли ЭтоПоставщик = "1" Тогда ДоговорОбъект.ТипДоговора = Перечисления.ТипыДоговоров.СПоставщиком; КонецЕсли; ДоговорОбъект.Наименование = СтрДоговорТорг; ДоговорОбъект.Номер = НомерДоговора; ДоговорОбъект.Дата = ДатаДоговора; ДоговорОбъект.Контрагент = КонтрагентОбъект.Ссылка; ДоговорОбъект.Записать(); КонецЕсли; КонецЕсли; СтрДоговорХимия = СокрЛП(МассивТекСтроки["Колонка45"]); ДатаДоговорХимия = СокрЛП(МассивТекСтроки["Колонка48"]); ДатаДоговорХимияНач = СокрЛП(МассивТекСтроки["Колонка46"]); ДатаДоговорХимияКон = СокрЛП(МассивТекСтроки["Колонка47"]); ДатаДоговорХимия = ?(ДатаДоговорХимия = "0", Дата(01,01,01), Дата("20" + Прав(ДатаДоговорХимия, 2) + Сред(ДатаДоговорХимия, 4, 2) + Лев(ДатаДоговорХимия, 2))); Если ЗначениеЗаполнено(СтрДоговорХимия) Тогда СтрДоговорХимия = СтрЗаменить(СтрДоговорХимия, "№", ""); ДатаДоговора = ДатаДоговорХимия; ДоговорСсылка = НайтиДоговорПоНомеру(СтрДоговорХимия, КонтрагентОбъект.Ссылка); Если ДоговорСсылка = Неопределено Тогда ДоговорОбъект = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); ДоговорОбъект.Заполнить(Неопределено); Если ЭтоПокупатель = "1" Тогда ДоговорОбъект.ТипДоговора = Перечисления.ТипыДоговоров.СПокупателем; ИначеЕсли ЭтоПоставщик = "1" Тогда ДоговорОбъект.ТипДоговора = Перечисления.ТипыДоговоров.СПоставщиком; КонецЕсли; ДоговорОбъект.Наименование = "Договор №" + СтрДоговорХимия + " (" + ДатаДоговорХимия + ")"; ДоговорОбъект.Номер = НомерДоговора; ДоговорОбъект.Дата = ДатаДоговора; ДоговорОбъект.Контрагент = КонтрагентОбъект.Ссылка; ДоговорОбъект.ДатаНачалаДействия = Дата("20" + Прав(ДатаДоговорХимияНач, 2) + Сред(ДатаДоговорХимияНач, 4, 2) + Лев(ДатаДоговорХимияНач, 2)); ДоговорОбъект.ДатаОкончанияДействия = Дата("20" + Прав(ДатаДоговорХимияКон, 2) + Сред(ДатаДоговорХимияКон, 4, 2) + Лев(ДатаДоговорХимияКон, 2)); ДоговорОбъект.Записать(); КонецЕсли; КонецЕсли; СтрДоговорПлюс = СокрЛП(МассивТекСтроки["Колонка45"]); ДатаДоговорПлюс = СокрЛП(МассивТекСтроки["Колонка48"]); ДатаДоговорПлюсНач = СокрЛП(МассивТекСтроки["Колонка46"]); ДатаДоговорПлюсКон = СокрЛП(МассивТекСтроки["Колонка47"]); Если ЗначениеЗаполнено(СтрДоговорПлюс) Тогда СтрДоговорПлюс = СтрЗаменить(СтрДоговорПлюс, "№", ""); ДатаДоговора = ?(ДатаДоговорПлюс = "0", Дата(01,01,01), Дата("20" + Прав(ДатаДоговорПлюс, 2) + Сред(ДатаДоговорПлюс, 4, 2) + Лев(ДатаДоговорПлюс, 2))); ДоговорСсылка = НайтиДоговорПоНомеру(СтрДоговорПлюс, КонтрагентОбъект.Ссылка); Если ДоговорСсылка = Неопределено Тогда ДоговорОбъект = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); ДоговорОбъект.Заполнить(Неопределено); Если ЭтоПокупатель = "1" Тогда ДоговорОбъект.ТипДоговора = Перечисления.ТипыДоговоров.СПокупателем; ИначеЕсли ЭтоПоставщик = "1" Тогда ДоговорОбъект.ТипДоговора = Перечисления.ТипыДоговоров.СПоставщиком; КонецЕсли; ДоговорОбъект.Наименование = "Договор №" + СтрДоговорПлюс + " (" + ДатаДоговорПлюс + ")"; ДоговорОбъект.Номер = СтрДоговорХимия; ДоговорОбъект.Дата = ДатаДоговора; ДоговорОбъект.Контрагент = КонтрагентОбъект.Ссылка; ДоговорОбъект.ДатаНачалаДействия = Дата("20" + Прав(ДатаДоговорПлюсНач, 2) + Сред(ДатаДоговорПлюсНач, 4, 2) + Лев(ДатаДоговорПлюсНач, 2)); ДоговорОбъект.ДатаОкончанияДействия = Дата("20" + Прав(ДатаДоговорПлюсКон, 2) + Сред(ДатаДоговорПлюсКон, 4, 2) + Лев(ДатаДоговорПлюсКон, 2)); ДоговорОбъект.Записать(); КонецЕсли; КонецЕсли; СчетчикЗаписей=СчетчикЗаписей+1; КоличествоЗагружено=КоличествоЗагружено+1; КонецЦикла; ЗафиксироватьТранзакцию(); Сообщить("Кол считано: "+Строка(СчетчикЗаписей)+", "+"Кол загружено: "+Строка(КоличествоЗагружено)); КонецПроцедуры |
|||
1
ДенисЧ
08.12.20
✎
13:41
|
И ты думаешь, _это_ всё кто-то будет читать?
Что сам сделал, чтобы разобраться? |
|||
2
HeKrendel
08.12.20
✎
13:42
|
Продолжайте наблюдение
|
|||
3
Hmster
08.12.20
✎
13:42
|
(0) Что это (ДокExcel.ActiveWorkbook)? А нельзя просто табличный документ прочитать? Работает быстрее и разбираться проще что там у тебя происходит.
|
|||
4
d4rkmesa
гуру
08.12.20
✎
13:43
|
(0) В журнале регистрации посмотрите на ошибки.
|
|||
5
Галахад
гуру
08.12.20
✎
13:45
|
Наверное, как обычно. Файл на клиенте, а загрузка на сервере.
|
|||
6
Kassern
08.12.20
✎
13:50
|
"Пока (НЕ ДокExcel.Sheets(НомерЛиста).Cells(НомерСтроки, КолонкаПрохождения).Value = Неопределено Или НЕ СокрЛП(ДокExcel.Sheets(НомерЛиста).Cells(НомерСтроки, КолонкаПрохождения).Value) = "" ИЛИ НомерСтроки = 7) Цикл " ммм как круто цикл то обходится, а если вдруг будет пустая строчка в таблице, все дальше проверять не нужно?. Неужели так трудно получить количество строк на листе и обходить их уже в цикле. Не использовать для каждой строчки постоянное обращение через "." можно же заранее получить значение и уже к нему обращаться... Столько лишнего кода, давненько я такого не видел.
|
|||
7
mikecool
08.12.20
✎
14:41
|
поставить точки останова на Записать(), понять, что в них остановок нет, продолжать думать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |