|
Отбор стран в столбце документа Excel ↓ (Волшебник 25.10.2024 09:48) Волшебник, yurikmellon2, программистище, Гена, Андрей_Андреич, Мультук, shuhard, DimR_71, Timon1405, BOOL, Crusher, Aleksey, Gucci76, who respawn, s_trikozin, Web00001, maxab72, CepeLLlka, craxx, zenik, iiwanc, Михаил Козлов, Denp, бегинер, El_Duke, Ал_Ив, arsik, Гость из Мариуполя, Silgis, Pprog151713, mikecool, vbus, AlvlSpb, RVN, orakool, comp2006, Mafiozaa, El_Lipo, DemonShinji2, Масянька, osa1C, yopQua
| ☑ | ||
---|---|---|---|---|
0
iiwanc
25.10.24
✎
08:10
|
Здравствуйте!
Только изучаю 1С, делаю задание из книги. Загружаю данные из документа Excel. &НаСервере Процедура ЗагрузитьДанныеНаСервере(АдресВХ) ТабДок = Новый ТабличныйДокумент; ДанныеВХ=ПолучитьИзВременногоХранилища(АдресВХ); //получаем данные по указанному адресу из ВХ ПутьКФайлуНаСервере=ПолучитьИмяВременногоФайла("xlsx"); ДанныеВХ.Записать(ПутьКФайлуНаСервере); Попытка ТабДок.Прочитать(ПутьКФайлуНаСервере,СпособЧтенияЗначенийТабличногоДокумента.Значение); Исключение Сообщение = Новый СообщениеПользователю; Сообщение.Текст="Не удалось прочитать указанный файл!" + ОписаниеОшибки(); Сообщение.Сообщить(); Возврат; КонецПопытки; КоличествоСтрок=ТабДок.ВысотаТаблицы; ДанныеФайла = Новый ТаблицаЗначений; ДанныеФайла.Колонки.Добавить("Наименование"); ДанныеФайла.Колонки.Добавить("ИНН"); ДанныеФайла.Колонки.Добавить("Телефон"); ДанныеФайла.Колонки.Добавить("КластерДоставки"); ДанныеФайла.Колонки.Добавить("ТНВЭД"); Для НомерСтроки=2 По КоличествоСтрок Цикл СтрокаДанных=ДанныеФайла.Добавить(); СтрокаДанных.Наименование=ТабДок.ПолучитьОбласть("R"+Формат(НомерСтроки, "ЧГ=0")+"C"+13).ТекущаяОбласть.Текст; СтрокаДанных.ИНН=ТабДок.ПолучитьОбласть("R"+Формат(НомерСтроки, "ЧГ=0")+"C"+14).ТекущаяОбласть.Текст; СтрокаДанных.Телефон=ТабДок.ПолучитьОбласть("R"+Формат(НомерСтроки, "ЧГ=0")+"C"+25).ТекущаяОбласть.Текст; СтрокаДанных.КластерДоставки=ТабДок.ПолучитьОбласть("R"+Формат(НомерСтроки, "ЧГ=0")+"C"+27).ТекущаяОбласть.Текст; СтрокаДанных.ТНВЭД=ТабДок.ПолучитьОбласть("R"+Формат(НомерСтроки, "ЧГ=0")+"C"+35).ТекущаяОбласть.Текст; КонецЦикла; ЗагруженныеДанные.Загрузить(ДанныеФайла); КонецПроцедуры &НаКлиенте Процедура ЗагрузитьДанные(Команда) ДвоичныеДанныеФайла=Новый ДвоичныеДанные(Файл); //получаем двоичные данные нашего файла АдресВременногоХранилища=ПоместитьВоВременноеХранилище(ДвоичныеДанныеФайла); //помещаем двоичные данные во временное хранилище ЗагрузитьДанныеНаСервере(АдресВременногоХранилища); КонецПроцедуры &НаСервере Процедура СоздатьКонтрагентовНаСервере() Для каждого Контрагент Из ЗагруженныеДанные Цикл НовыйЭлемент=Справочники.Контрагенты.СоздатьЭлемент(); НовыйЭлемент.Наименование=Контрагент.Наименование; НовыйЭлемент.ИННКлиент=Контрагент.ИНН; НовыйЭлемент.ТелефонКлиент=Контрагент.Телефон; НовыйЭлемент.КластерДоставки=Контрагент.КластерДоставки; НовыйЭлемент.ТНВЭД=Контрагент.ТНВЭД; НовыйЭлемент.Записать(); КонецЦикла; КонецПроцедуры В столбце КластерДоставки указаны города и страны. Нужно загрузить строки, содержащие только страны. Создал справочник Страны, где перечислил страны. Не подскажите, как это реализовать? Понимаю, что нужно сравнить содержимое в столбце Excel со справочником Страны, и если есть совпадение, загрузить эти совпадения в базу. Но вот как это реализовать в коде, не смогу сообразить. Если нужны дополнительные данные, то готов предоставить. Подскажите, пожалуйста. Буду благодарен советам. |
|||
1
Волшебник
25.10.24
✎
08:11
|
НайденнаяСтрана = Справочник.Страны.НайтиПоНаименованию(название, Истина); Если НайденнаяСтрана.Пустая() Тогда // создать элемент КонецЕсли; |
|||
2
Мультук
25.10.24
✎
08:31
|
(0) (1)
Я бы еще обработал условие на пустую строку СокрЛП(название) <> "" Функция ЭтоСтрана(название) Если ПустаяСтрока(название) Тогда Возврат Ложь; КонецЕсли; НайденнаяСтрана = Справочник.Страны.НайтиПоНаименованию(название, Истина); Возврат не НайденнаяСтрана.Пустая(); КонецФункции |
|||
3
Мультук
25.10.24
✎
08:37
|
(0)
P.S. Для обучения код из (2) нормален. Если (во взрослой жизни) нужно будет грузить сотни тыс строк (а может и раньше) -- это код нужно будет выбросить на помойку. Переписать на запрос и не для каждой строки, а сразу для всего набора. Но это уже потом Для каждого Контрагент Из ЗагруженныеДанные Цикл Привыкайте называть итераторы строк "Строка", "СтрокаДанные" и т.п. Иначе будете сами путаться. Особенно неприятно будет, если у вас на форме будет реквзит формы с именем "Контрагент" Вы его будете перезатирать |
|||
4
программистище
25.10.24
✎
08:45
|
Человек 12 лет на форуме и только сейчас начал изучать 1с
и даже не знает как сделать проверку очень странно |
|||
5
Волшебник
25.10.24
✎
08:51
|
(4) Это бот, а ник он угнал на днях
|
|||
6
maxab72
25.10.24
✎
09:01
|
(5) а может кто-то наклепал 12 лет назад 100500 ников на Мисте про запас, а теперь ими торгует?
(3) "Привыкайте называть итераторы строк "Строка", "СтрокаДанные" и т.п." а меня учили подзатыльниками иначе: Для каждого стрЗагруженныеДанные Из ЗагруженныеДанные Цикл Тогда, если несколько вложенных циклов, понятнее что у тебя за строка. |
|||
7
iiwanc
25.10.24
✎
09:02
|
(4) какое имеет отношение моя жизнь и вопрос по теме?
мне нужно предварительно рассказать драму жизни, чтобы задать свой вопрос? |
|||
8
craxx
25.10.24
✎
09:16
|
(0) Твоя тема от 2019 года
500 ошибка при запуске сервера 1С "Простите, если не сюда пишу. 1С только начинаю изучать." Это ты 5 лет только начинаешь изучать? |
|||
9
программистище
25.10.24
✎
09:19
|
(8) с тех пор все начинает изучать и никак не закончит начинать
|
|||
10
Гена
25.10.24
✎
09:34
|
Злые вы... недобрые...
Автору нужны деньги, а программист 1С сейчас в топе. Вот он и решил на старости лет переквалифицироваться. Кстати, фотку в профиле видели? Такого кекса аватарят те, кто на сексе повёрнуты. Не удивлюсь, если автор в сексшопе работает. |
|||
11
Волшебник
25.10.24
✎
09:36
|
(10) Фотка явно сгенерированная
|
|||
12
Гена
25.10.24
✎
09:39
|
Упс! Поиск по нику и городу выдал:
https://www.weblancer.net/users/iiwanc/ |
|||
13
Волшебник
25.10.24
✎
09:43
|
(12) на фото американский актёр Закари Джон Куинто
wiki:Куинто,_Закари
|
|||
14
Гена
25.10.24
✎
09:44
|
(13) Да это понятно. По психологии данный тип людей не любит свои фото и всегда выкладывает чужие.
|
|||
15
Гена
25.10.24
✎
09:45
|
Я к чему... добрее надо... а вы сразу набросились на человека... как волки...
Мякше надо... тоньше... |
|||
16
Волшебник
25.10.24
✎
09:46
|
(12) А вот вам ещё информация к размышлению.
Ссылку давать не буду, чтобы не продвигать мошенников.
|
|||
17
Волшебник
25.10.24
✎
09:47
|
(15) Он сгенерировал модуль и не может проверить на пустую ссылку? Пошёл он в жопу, такой красивый....
|
|||
18
Гена
25.10.24
✎
09:49
|
(17) Нет такого слова в русском языке...
|
|||
19
yurikmellon2
25.10.24
✎
09:56
|
(16) смешные люди... Нафига использовать чью-то реальную фотке, если можно легко сгенерить сеткой
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |