|
v7: API проверки контрагентов | ☑ | ||
---|---|---|---|---|
0
ЯнСмит
28.09.23
✎
14:57
|
такой вопрос - кто-нибудь прикручивал subj к 1с 7.7 в первую очереди интересен контроль корректности ИНН, КПП и юр.адреса, оценки всяких там рисков вообще не нужны ...
|
|||
1
ЯнСмит
28.09.23
✎
15:11
|
Все - отбой, что-то ступил, на инфостарте такого как ... за баней
|
|||
2
ЯнСмит
29.09.23
✎
19:21
|
Так, похоже поспешил я ... нашел на инфостарте вот эту ветку
https://infostart.ru/1c/articles/577575/ по идее, то что надо, подставляешь ИНН - получаешь КПП, юр.адрес и пр., но проблема в, том что ни фига не работает, пробовал по-всякому, подписка 1С:Проф есть, заметил, что в статье устаревший адрес сервиса, нашел новый - с тем же результатом. P.S. Злоп - ты вроде там плотно отметился, пни в нужном направлении если не сложно ) |
|||
3
Харлампий Дымба
29.09.23
✎
21:59
|
Обработка по заполнению данных контрагентов по 1С:Контрагент из моей рабочей базы
https://disk.yandex.ru/d/PcYen_AZGPreSA Подкрутишь себе, как надо. Для работы нужен будет логин и пароль ИТС |
|||
4
ЯнСмит
30.09.23
✎
11:17
|
(3) премного благодарен
|
|||
5
MWWRuza
гуру
30.09.23
✎
19:47
|
Вот не пойму - чего такого есть в "1С:Контрагент" по подписке ИТС, чего нет в практически бесплатном(бесплатно до 300 запросов в день) сервисе "DaData" - ???
Обработок для работы с ним есть несколько на ИнфоСтарте, в том числе и для 7.7... |
|||
6
MWWRuza
гуру
30.09.23
✎
19:46
|
Вот в моей конфе, на основе одной из разработок с инфостарта:
|
|||
7
MWWRuza
гуру
30.09.23
✎
19:53
|
Ааа, даже соврал - не 300 запросов в день бесплатно, а вообще 10000 :-)
https://dadata.ru/pricing/ Чего-то мне 300 запало, возможно раньше так было, а теперь добавили. |
|||
8
CepeLLlka
30.09.23
✎
19:54
|
(5)Почему вы считаете что до 300? В личном кабинете написано что бесплатно 10 000 запросов в день.
|
|||
9
CepeLLlka
30.09.23
✎
19:55
|
Я тоже себе сделал такое для БП 3.0, УТ 11.х КА 2.5
|
|||
10
Харлампий Дымба
30.09.23
✎
21:05
|
(5) Ладно, переделаю когда-нибудь)
|
|||
11
ЯнСмит
30.09.23
✎
21:27
|
(6) уже неоднократно встречался с мнением, что dadata.ru предоставляют не самые свежие данные ... хотя может это и в прошлом уже
|
|||
12
Смотрящий
30.09.23
✎
21:41
|
(11) Мнение же ж ... Это как "британские ученые доказали" ...
|
|||
13
MWWRuza
гуру
30.09.23
✎
22:34
|
(11) Ну... Трудно сказать, но, даже в моем примере(запрашивал только что), дата обновления достаточно свежая. Не думаю, что это одна карточка обновлена. Скорее всего, что есть в ЕГРЮЛ, то и тут есть.
|
|||
14
Злопчинский
30.09.23
✎
22:54
|
тут на основе инфостартовской делал проверку действительности клиента на моменты взаиморасчетов, может кому пригодится.
https://dropmefiles.net/ru/mKyvPLek |
|||
15
Duke1C
02.10.23
✎
09:15
|
(14) Не работает ссыль
|
|||
16
Builder
02.10.23
✎
09:27
|
(15) Работает, подождать надо до появления ссылки.
|
|||
17
Кир Пластелинин
02.10.23
✎
10:38
|
(5) "Вот не пойму - чего такого есть в "1С:Контрагент" по подписке ИТС" - мб то, что он прописан во всех типовых?
|
|||
18
MWWRuza
гуру
02.10.23
✎
11:16
|
(17) Видимо, да.
Если использовать типовые - то однозначно, зачем что-то писать, когда это и так есть :-) А тем более если интересующийся не программист, а какой-нибудь бухгалтер, то даже готовую обработку с инфостарта будет проблематично использовать, особенно, если версия базовая... Сейчас стало модно все расширениями делать, но, они не работают в базовых версиях(кроме подписанных самой 1С)... Хотя, тут тоже можно использовать как внешнюю обработку, вроде никто не запрещал... Да, не очень удобно, но можно - я же привязал базу ШК от ОлегОна к базовой рознице, ничего, работают. Тут можно аналогично. Но!!! Сабж то изначально по 7.7...А там, какие типовые поддерживают этот сервис? По любому писать с нуля... А тут, если уж делать, то с ДаДатой удобнее и дешевле. Я так понимаю, подписки на ИТС мало(по крайней мере - техно, в проф может быть), нужно еще и сервис дополнительно подключать и оплачивать(не знаю точно, но что-то 500 руб на слуху, х.з за какой период)... |
|||
19
MWWRuza
гуру
02.10.23
✎
11:26
|
(15) А ссылка у меня тоже не работает...
(16) Тут хоть жди, хоть не жди - все ожидания заканчиваются этим:
|
|||
20
Aleksey
02.10.23
✎
11:30
|
(18) в техно и базовых нет контрагента, он покупается отдельно. В проф там 7200 обращений за год.
Цена 4800 на год (максимум 7200 обращений, нужно больше покупай еще раз). Или 3500 в месяц безлимит |
|||
21
Builder
02.10.23
✎
11:30
|
(19) Ну ХЗ, я скачал, может провайдеры блочат?
|
|||
22
Aleksey
02.10.23
✎
11:40
|
(21) кто провайдер? у меня ростелеком и мегафон не открывают
|
|||
23
MWWRuza
гуру
02.10.23
✎
11:47
|
(22) У меня тоже РосТелеком... Других не пробовал - без особой надобности. Просто интересно было взглянуть, без практическогй цели применения у себя. Если уж понадобилось бы - обратился бы к Злопу на прямую...
Но, все равно не порядок со ссылкой - какая-то "кривая" файлопомойка :-( |
|||
24
Builder
02.10.23
✎
11:54
|
(23) Переложил, ловите :)
https://disk.yandex.ru/d/tsoVwuh0g9NbuQ |
|||
25
Aleksey
02.10.23
✎
12:39
|
дом ру и теле2 тоже не открывают, хотя через впн работает
|
|||
26
MWWRuza
гуру
02.10.23
✎
13:00
|
(24) Там к ней еще как минимум 3 функции из ГМ нужно:
глПолучитьИНН - ну, тут нужно из строки ИНН/КПП выделить ИНН. глПолучитьКПП - тут, аналогично КПП. глОчисткаТЗ - а тут, не совсем понятно по названию, только строки удалить, или вообще всю структуру, с колонками? Разбираться лень :-) Я не знаю, может это типовые функции ТиС последних релизов, у меня далеко не типовая, хоть и на базе ТиС, таких функций нет. |
|||
27
Builder
02.10.23
✎
13:03
|
(26) Я не автор, я просто переложил обработку :)
|
|||
28
MWWRuza
гуру
02.10.23
✎
13:05
|
(27) Я понял. Это я для Злопа, просто ворчу :-)
|
|||
29
victuan1
03.10.23
✎
05:44
|
(26) Нет этих функций в релизах типовой ТИС (включая последние).
|
|||
30
ЯнСмит
03.10.23
✎
20:01
|
(29) глобальных да, нет, но есть локальные ПолучитьИНН и ПолучитьКПП, абсолютно идентичные и раскиданные по десятку-другому куче модулей )
|
|||
31
Злопчинский
03.10.23
✎
22:01
|
//******************************************************************************
// ОчисткаТЗ() // Параметры: ТЗ, которую надо очистить // В ТЗ д.б. Колонки с идентификаторами "НадоУдалить" и "ОПС" (оригинальный порядок строк) // Описание: очищает ТЗ от ненужных строк Процедура глОчисткаТЗ(ТЗдляЧистки, ОПС="+ОПС", КолонкаУдалить="НадоУдалить", Режим=0) Экспорт Попытка НадоУдалить = ТЗдляЧистки.Итог(КолонкаУдалить); Исключение Возврат; КонецПопытки; ТЗКС = ТЗдляЧистки.КоличествоСтрок(); Если Режим <> 0 Тогда Сообщить("> ["+ТекущееВремя()+"]: *** удаляем "+НадоУдалить+" из "+ТЗКС+" ****"); КонецЕсли; Если НадоУдалить <= 0 Тогда Возврат; КонецЕсли; Если НадоУдалить >= ТЗКС Тогда ТЗдляЧистки.УдалитьСтроки(); Иначе ТЗРаб = СоздатьОбъект("ТаблицаЗначений"); ТЗдляЧистки.Выгрузить(ТЗРаб); ТЗРаб.Сортировать("+"+КолонкаУдалить); ТЗРаб.Выгрузить(ТЗдляЧистки,1,ТЗКС-НадоУдалить); ТЗРаб = 0; КонецЕсли; Если ПустаяСтрока(ОПС) = 1 Тогда Возврат; КонецЕсли; //сортировать не надо Если ОПС = "###" Тогда Возврат; КонецЕсли; //сортировать не надо //восстановим оригинальный порядок строк ТЗдляЧистки.Сортировать(ОПС); КонецПроцедуры //глОчисткаТЗ() |
|||
32
Харлампий Дымба
04.10.23
✎
00:00
|
Помню такое, да Пропуск из ТЗ элементов
Только недавно понял, почему всё-таки такой кусок не работает правильно, хотя казалось бы: ТЗ.Сортировать("НадоОставить-"); ТЗ.КоличествоСтрок(ТЗ.Итог("НадоОставить")); |
|||
33
Злопчинский
04.10.23
✎
00:21
|
(32) "Только недавно понял, почему всё-таки такой кусок не работает правильно,"
- и почему? (по ссылке объяснение дано типа "такова данность движка"), ты что-то новое понял? |
|||
34
Злопчинский
04.10.23
✎
00:24
|
надо проверить
. код ТЗРаб = СоздатьОбъект("ТаблицаЗначений"); ТЗдляЧистки.Выгрузить(ТЗРаб); ТЗРаб.Сортировать("+"+КолонкаУдалить); ТЗРаб.Выгрузить(ТЗдляЧистки,1,ТЗКС-НадоУдалить); заменить на ТЗдляЧистки.Сортировать("+"+КолонкаУдалить); ТЗдляЧистки.Выгрузить(ТЗдляЧистки,1,ТЗКС-НадоУдалить); . должно сработать |
|||
35
Злопчинский
04.10.23
✎
00:40
|
угу.. ТЗ можно выгружать саму в себя
. //******************************************* Процедура Сформировать() ТЗдляЧистки = СоздатьОбъект("ТаблицаЗначений"); ТЗдляЧистки.НоваяКолонка("Наименование","Строка"); ТЗдляЧистки.НоваяКолонка("НадоУдалить","Число",1,0); Для ы=1 по 20 Цикл ТЗдляЧистки.НоваяСтрока(); ТЗдляЧистки.Наименование = "строка "+Формат(ы,"Ч(0)2"); ТЗдляЧистки.НадоУдалить = ы%2; КонецЦикла; //ПечатьТЗ(ТЗдляЧистки,"исходная, ДО"); ТЗдляЧистки.ВыбратьСтроку(,"исходная, ДО"); ТЗКС = ТЗдляЧистки.КоличествоСтрок(); НадоУдалить = ТЗдляЧистки.Итог("НадоУдалить"); ТЗдляЧистки.Сортировать("+НадоУдалить"); ТЗдляЧистки.Выгрузить(ТЗдляЧистки,1,ТЗдляЧистки.КоличествоСтрок()-НадоУдалить); //выгружаем в саму себя ТЗдляЧистки.Сортировать("Наименование"); // "ОПС" //ПечатьТЗ(ТЗдляЧистки,"результат, ПОСЛЕ"); ТЗдляЧистки.ВыбратьСтроку(,"результат, ПОСЛЕ"); КонецПроцедуры // Сформировать() |
|||
36
Злопчинский
04.10.23
✎
00:42
|
//******************************************************************************
// ОчисткаТЗ() // Параметры: ТЗ, которую надо очистить // В ТЗ д.б. Колонки с идентификаторами "НадоУдалить" и "ОПС" (оригинальный порядок строк) // Описание: очищает ТЗ от ненужных строк Процедура глОчисткаТЗ(ТЗдляЧистки, ОПС="+ОПС", КолонкаУдалить="НадоУдалить", Режим=0) Экспорт Попытка НадоУдалить = ТЗдляЧистки.Итог(КолонкаУдалить); Исключение Возврат; КонецПопытки; ТЗКС = ТЗдляЧистки.КоличествоСтрок(); Если Режим <> 0 Тогда Сообщить("> ["+ТекущееВремя()+"]: *** удаляем "+НадоУдалить+" из "+ТЗКС+" ****"); КонецЕсли; Если НадоУдалить <= 0 Тогда Возврат; КонецЕсли; Если НадоУдалить >= ТЗКС Тогда ТЗдляЧистки.УдалитьСтроки(); Иначе ТЗдляЧистки.Сортировать("+"+КолонкаУдалить); ТЗдляЧистки.Выгрузить(ТЗдляЧистки,1,ТЗКС-НадоУдалить); КонецЕсли; Если ПустаяСтрока(ОПС) = 1 Тогда Возврат; КонецЕсли; //сортировать не надо Если ОПС = "###" Тогда Возврат; КонецЕсли; //сортировать не надо //восстановим оригинальный порядок строк ТЗдляЧистки.Сортировать(ОПС); КонецПроцедуры //глОчисткаТЗ() |
|||
37
Харлампий Дымба
04.10.23
✎
00:50
|
(35) Опа. А я даже и не пытался. Запишу в книжечку > ТЗ можно выгружать саму в себя
|
|||
38
Злопчинский
04.10.23
✎
00:53
|
(37) я когда-то давно это проверял. но обычно не использую.
решил проверить еще раз, мало ли что... |
|||
39
Харлампий Дымба
04.10.23
✎
01:54
|
(34) Суть в том, что Сортировать не меняет саму таблицу, а добавляет к ней просто индекс. И если Выгрузить() или ВыбратьСтроки() отрабатывают потом в такой таблице по индексу, то про Колич в функции ТЗ.КоличествоСтрок(Колич) видимо забыли, и она спокойно себе обрезает таблицу, как будто там остался старый порядок строк. Код для иллюстрации
ТЗ1=СоздатьОбъект("ТаблицаЗначений"); ТЗ=СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("Кол1"); ТЗ.НоваяСтрока(); ТЗ.Кол1=7; ТЗ.НоваяСтрока(); ТЗ.Кол1=3; ТЗ.НоваяСтрока(); ТЗ.Кол1=5; Сообщить("Исходная:"+СимволТабуляции+ЗначениеВСтроку(ТЗ)); ТЗ.Сортировать("Кол1"); Сообщить("Сортировка:"+СимволТабуляции+ЗначениеВСтроку(ТЗ)); ТЗ.Выгрузить(ТЗ1); Сообщить("Выгрузка:"+СимволТабуляции+ЗначениеВСтроку(ТЗ1)); ТЗ.КоличествоСтрок(2); Сообщить("Подрезка:"+СимволТабуляции+ЗначениеВСтроку(ТЗ)); Обрати внимание: После сортировки появляется строка с индексами, но сама таблица остаётся без изменений; После выгрузки строка индексов исчезает и порядок строк в таблице меняется в соответствие с сортировкой; После подрезки строки берутся по порядку без учета сортировки, а строка с индексами перестраивается и вместо ожидаемых 3,5 тебе в сортированной и подрезанной таблице приходят исходные 7,3. Такая же байда будет и с Заполнить() - если ты укажешь конкретные строки для заполнения, то будут изменены не те номера строк которые ты видишь в сортированной таблице, а те которые были в исходной. |
|||
40
MWWRuza
гуру
04.10.23
✎
11:34
|
(39) Прикольно... :-( Такой глюк в работе встретишь, затрахаешься разбираться, "почему все криво".
Спасибо. Буду знать. |
|||
41
MWWRuza
гуру
04.10.23
✎
11:50
|
А по сабжу - у Злопа там не 1С:Контрагент и не ДаДата, там:
URL = "http://npchk.nalog.ru/FNSNDSCAWS_2" т.е. непосредственно с ФНС данные тянутся, надо попробовать на досуге :-) |
|||
42
victuan1
05.10.23
✎
05:11
|
(41) Вроде этот запрос используется в типовых клюшках в регламентированной отчетности "Декларация НДС".
|
|||
43
Злопчинский
05.10.23
✎
23:55
|
(39) понятно с индексом.
По идее КоличествоСТрок() на УВЕЛИЧЕНИЕ количества должно отработать нормально. Кстати, может и починится трабл после такого оператора...? |
|||
44
Харлампий Дымба
06.10.23
✎
01:07
|
(43) Нет, не починит - индексная строка останется и будет увеличена на количество добавленных строк. Но и необходимости чинить трабл нет, потому что отсортированная таблица - нормальная. Просто несколько функций в редко используемых вариантах ведут себя в отсортированной таблице некорректно. Что в общем-то понятно, учитывая что ТаблицаЗначений это абсолютно новый инструмент, отличающий 7.7 от 7.5, поэтому за десяток рабочих релизов её до ума так и не довели. Просто, ну кто использует КоличествоСтрок() с параметром? Никто. Кто использует Заполнить() не для полной таблицы, а для её части? Кто пользуется СдвинутьСтроку()? Кто пользуется НайтиЗначение(блабла,СтрТЗ,КолТЗ) с непустыми СтрТЗ и КолТЗ одновременно? Отсортировал таблицу и заполняй/выводи перебором или выгружай дальше - а тут она нормально отрабатывает. Если прям надо реально очистить от индексной строки, то сделай ТЗ.Выгрузить(ТЗ1) и ТЗ1 - будет идеальная.
Ну мы от subj куда-то далеко ушли, в ТаблицеЗначений вообще много чудес. |
|||
45
Злопчинский
22.10.23
✎
02:19
|
(44) все именно так как ты описал, и это твое последнее замечание не прочитал ранее. А сейчас столкнулся с траблом Заполнить для части таблицы полсе применени Сортировать и СдвинутьСТроки - и все получается плохо... ;-) Только лечить отсортированную ТЗ через выгрузку в промежуточный буфер а из буфера выгружать снова в ТЗ...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |