Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: определить зону по адресу в 1С

Здравствуйте!
Есть Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 2.0 (2.0.19.20). Необходимо определять зону доставки по адресу. Цену мы определять хотим сами.
У Яндекса есть конструктор карт, думаю там отрисовать зоны и проверять как-то попадание.
может есть другие варианты решения,  более простые.
Подскажите пожалуйста
Ответ: () Я понял. Про географические зоны просто упомянул из того, что вспомнил о них - впечатление схожее )
Вопрос: Проблема в УТ 10. Тип не определен (AddIn.ИнтеграционнаяКомпонента.SMDrvFR1C22)

Демо-база УТ 10.3.47.3
Клиент 8.3.10.2699, 32-разрядный.
Win7 x64

Из шаблона обновления УТ 10.3.47.3 (из папки TradeWareEpf\) взята обработка ShtrihMkkt.epf

Подключаю её в настройке торгового оборудования.
При нажании кнопки "Параметры" выдает ошибку: "Не удалось загрузить драйвер торгового оборудования".


Ошибка возникает такая: Тип не определен (AddIn.ИнтеграционнаяКомпонента.SMDrvFR1C22)


Кусок кода из ShtrihMkkt.epf, где 1С спотыкается:
        Макет = ПолучитьМакет("ИнтеграционнаяКомпонента");
        Адрес = ПоместитьВоВременноеХранилище(Макет);
        ПодключитьВнешнююКомпоненту(Адрес, "ИнтеграционнаяКомпонента"); 
        Драйвер = Новый("AddIn.ИнтеграционнаяКомпонента.SMDrvFR1C22");   <---ВОТ ТУТ ОШИБКА


Более старые версии обработок ТО работают нормально.
В них код такой:
        Макет = ПолучитьМакет("ИнтеграционнаяКомпонента");
        Адрес = ПоместитьВоВременноеХранилище(Макет);
        ПодключитьВнешнююКомпоненту(Адрес, "ИнтеграционнаяКомпонента", ТипВнешнейКомпоненты.Native); 
        Драйвер = Новый("AddIn.ИнтеграционнаяКомпонента.SMDrvFR1C20");


В интернете нашел только странные советы типа положить smDrvFR1CLib20.dll в bin\ или зарегистрировать в реестре (но проверил - там есть и AddIn.SMDrvFR1C20 и AddIn.SMDrvFR1C22).
Но насколько я понимаю, методу ПодключитьВнешнююКомпоненту это не требуется?

Что делать? Кто-нибудь сталкивался?
Ответ:
(12) в СоздатьОбъектДрайвера()

вместо
Макет = ПолучитьМакет("ИнтеграционнаяКомпонента");
Адрес = ПоместитьВоВременноеХранилище(Макет);
ПодключитьВнешнююКомпоненту(Адрес, "ИнтеграционнаяКомпонента"); 
Драйвер = Новый("AddIn.ИнтеграционнаяКомпонента.SMDrvFR1C22");

написать

ПодключитьВнешнююКомпоненту("AddIn.SMDrvFR1C22");
Драйвер = Новый("AddIn.SMDrvFR1C22");

и всё, будет всегда использоваться последний драйвер который зарегистрировался при установке штриховских драйверов (SMDrvFR1CLib20.dll)
Вопрос: Вывести историю по всем адресам либо по выбранному.

Может кто-нибудь знает что я делаю не так. Нужно вывести историю по всем адресам либо по выбранному.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//*******************************************
 
Процедура Сформировать() 
тз = создатьОбъект("ТаблицаЗначений");
        тз.НоваяКолонка("Номер_заявки");
        тз.НоваяКолонка("Рабочий");
        тз.НоваяКолонка("Дата_начала");
        тз.НоваяКолонка("Дата_конца");
        тз.НоваяКолонка("Перенос");
 
    
    
Если ПустоеЗначение(выбАдрес)=1 Тогда
        ТекАдрес="все Адреса";
    Иначе
        ТекАдрес=выбАдрес;
        КонецЕсли;
 
 
        
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    Таб.ВывестиСекцию("Шапка");
        тз.ВыбратьСтроки();
    
Пока тз.ПолучитьСтроку()=1 Цикл 
    
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|Номер_заявки = Справочник.Время_работы.Номер_заявки;
|Рабочий = Справочник.Время_работы.Рабочий;
|Дата_начала = Справочник.Время_работы.Дата_начала;
|Дата_конца = Справочник.Время_работы.Дата_конца;
|Перенос = Справочник.Время_работы.Перенос;
|Адрес = Справочник.Адреса.Наименование;
//|Группировка  Номер_заявки;
|Условие(Адрес = ВыбАдрес);
|";
 
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
КонецЕсли;  
 
Пока Запрос.Группировка() = 1 Цикл 
    тз.Номер_заявки = Запрос.Номер_заявки;
    тз.Рабочий = Запрос.Рабочий;
    тз.Дата_начала = Запрос.Дата_начала;
    тз.Дата_конца = Запрос.Дата_конца; 
    тз.Перенос = Запрос.Перенос; 
КонецЦикла;
 
//  Если ПустоеЗначение(выбАдрес) = 0 Тогда
    Таб.ВывестиСекцию("Строка_1"); //КонецЕсли;
        КонецЦикла; 
 
    Таб.Опции(0);
    Таб.Показать();        
КонецПроцедуры
Ответ:
1C
1
2
3
|Адрес = Справочник.Адреса.Наименование; - это строка, а выбАдрес это ссылка
//|Группировка  Номер_заявки;
|Условие(Адрес = ВыбАдрес)
Поэтому

1C
1
2
Адрес = Справочник.Адреса.ТекущийЭлемент; 
|Условие(Адрес = ВыбАдрес)
Вообще лучше писать условие так
1C
1
|Условие (Адрес в ВыбАдрес)
Тогда можно и по выбранному и по группе и по всему справочнику, если не выбран

Добавлено через 6 минут
И да, Запрос в цикле это не тру, старайся избегать этого
Хотя, посмотрел внимательно у тебя вообще какой-то бред написан
нахрена тебе тз, если ты с ней ничего не делаешь, сразу из запроса не проще вывести? Но это сам смотри

Добавлено через 6 минут
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
    тз = создатьОбъект("ТаблицаЗначений");
    тз.НоваяКолонка("Номер_заявки");
    тз.НоваяКолонка("Рабочий");
    тз.НоваяКолонка("Дата_начала");
    тз.НоваяКолонка("Дата_конца");
    тз.НоваяКолонка("Перенос");  
    
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Номер_заявки = Справочник.Время_работы.Номер_заявки;
    |Рабочий = Справочник.Время_работы.Рабочий;
    |Дата_начала = Справочник.Время_работы.Дата_начала;
    |Дата_конца = Справочник.Время_работы.Дата_конца;
    |Перенос = Справочник.Время_работы.Перенос;
    |Адрес = Справочник.Адреса.ТекущийЭлемент;
    //|Группировка  Номер_заявки;
    |Условие(Адрес в ВыбАдрес);
    |";
     
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;  
     
    Пока Запрос.Группировка() = 1 Цикл 
        тз.НоваяСтрока();
        тз.Номер_заявки = Запрос.Номер_заявки;
        тз.Рабочий = Запрос.Рабочий;
        тз.Дата_начала = Запрос.Дата_начала;
        тз.Дата_конца = Запрос.Дата_конца; 
        тз.Перенос = Запрос.Перенос; 
    КонецЦикла;
    
    Если ПустоеЗначение(выбАдрес)=1 Тогда
        ТекАдрес="все Адреса";
    Иначе
        ТекАдрес=выбАдрес;
    КонецЕсли;
 
 
        
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    Таб.ВывестиСекцию("Шапка");
                         
    //правда нахрена тебе тз, если ты с ней ничего не делаешь, сразу из запроса не проще вывести?
    тз.ВыбратьСтроки();
    Пока тз.ПолучитьСтроку()=1 Цикл 
    
 
//  Если ПустоеЗначение(выбАдрес) = 0 Тогда
        Таб.ВывестиСекцию("Строка_1"); //КонецЕсли;
    КонецЦикла; 
 
    Таб.Опции(0);
    Таб.Показать();
Вопрос: Адрес грузополучателя в печатных формах

У меня 1С 8.3 УТ 11.3.1.142. В в контрагентах вбиты все адреса. Но в счет-фактуру и в ТОРГ-12 в грузополучателе адрес не печатается. В счет-фактуре печатается только наименования грузополучателя. В ТОРГ-12 в грузополучателе печатается наименование, ИНН и банковские реквизиты, а адрес не печатается. И непонятно в адресах контрагента что это за четвертый адрес просто под наименованием "Адрес"? Скрины прилагаются. Также не выводится в ТОРГ-12 руководитель и главный бухгалтер, хотя они в настройках вывода заданы.

Вложения:

  • Размер файла:
    256,7 КБ
    Просмотров:
    10
Ответ:
В 11.2.3.218 в реквизитах печати выбирается контрагент в поле Грузополучатель, а в ПФ (ТОРГ-12) печатается его фактический адрес.
Видно на моём рисунке (этот адрес = фактич, не стал заморачиваться с более подробным вводом ).

11.3 я вообще не смог поднять. И уже успел порекомендовать не пользоваться версией 11.3 в ближайшие полгода.

Вопрос в чём?
Как должно работать или как не должно не работать?

Вопрос: В контрагентах не доступно поле ввода фактического адреса и юридического. 8.3 БП

Как и описано в теме, ошибка в следующем - при создании контрагента, и при заполнении данных своей организации не доступно поле ввода юридического адреса и фактического. Можно ввести только почтовый адрес.
Поля фактического адреса и юридического адреса обозначены, но в форме не возможно ничего ввести, курсор не становится в поле ввода( его банально нет). Флажки по копированию адресов из строк пробовал ставить во всех положениях. Не помогло. В чем может быть проблема? 1с 8.3 БП

Вложения:

  • Размер файла:
    105,8 КБ
    Просмотров:
    41
  • Размер файла:
    106,6 КБ
    Просмотров:
    39
  • Размер файла:
    98,7 КБ
    Просмотров:
    39
  • Размер файла:
    147,1 КБ
    Просмотров:
    36
  • Размер файла:
    122,2 КБ
    Просмотров:
    36
  • Размер файла:
    121,1 КБ
    Просмотров:
    33
Ответ:
Каким образом?

У меня на ЭФ редактирования типа контакта "Юридический адрес" группы "Контрагенты" реквизит "Редактирование только в диалоге" снят и не доступен для редактирования.
Вопрос: Заполнение адреса контрагента

Нужно ввести новый ВИД адреса у контрагента. Ввела "для проверки" и теперь для всех контрагентов нужно скопировать "Юридический адрес контрагента" и на нем ввести "для проверки". Вывела в ексель все "Юридический адрес контрагента" и с помощью встроенной обработки (загрузка данных из табличного документа) заполнила регистр сведений "Контактная информация" с типом "для проверки". Всё было бы отлично НО все они заполнились как "Адрес за пределами РФ". Как можно быстренько поставить галочку на всем "Российский адрес"?
Ответ:
может у наших 1с какие то разные функции, но у меня не переключает ничего слово РОССИЯ. Все равно СПАСИБО.
Вопрос: Заполнить адрес в справочнике физические лица

Здравствуйте.

Подскажите пожалуйста код для 1с8.3, как в справочник "Физические лица" внести адрес, так, чтобы он красиво согласовался с ранее загруженным КЛАДРом.

Спасибо.
Ответ: () Не буду развивать холивар на тему адресов ЕГРЮЛ. В общем, если клиент хочет адрес в нужном ему формате, ему нужно этот адрес предоставить, так это работает при капитализме. Кого-то удовлетворят минимальные изменения, вроде добавления региона в адрес или замена нумерации домов вроде "1Б" на "1 корпус Б". В итоге, адресная информация может быть в самых разных форматах: произвольном, КЛАДР, "типа ФИАС" от 1С из БСП, ФИАС с guid'ами и т.д.. Тут уж ТС'у бы определиться чего он хочет.
Вопрос: ЗУП 2.5 Начисление по больничному, адрес по регистрации

В документе начисления по больничному листу адрес регистрации заполняется старым адресом регистрации, которого в регистре сведений Контактная информация давно уже нет. Подскажите, пожалуйста, откуда программа цепляет не существующий адрес регистрации?
Ответ: () Сочувствую :) Могу только предложить внести изменения в конфигурацию или написать внешнюю обработку заполнения ТЧ документа, которая будет "Перепроверяйте всё: адрес, банк, номер лицевого счёта"(цы) и обязать юзверей запускать её перед записью документа. Вот как-то так.
Вопрос: Получить адрес картинки из библиотекиКартинок

Использую html поле и в адресе картинки не знаю, как указать ссылку на картинку из библиотеки

Пробовал так:
<img src="+ БиблиотекаКартинок.Картинка123 +">
Ответ: Что-то наподобие такого
<I M G src="../../mdpicture/id509c4a7f-6406-4388-bb8c-bc81fb5131aa/00000000-0000-0000-0000-000000000000">
Во встроенном редакторе html 1С нажмите Элементы -> картинка, в поле адрес можно выбрать картинку из библиотеки. После посмотреть в самой разметке этот адрес.
Вопрос: Как на мобильном клиенте проверить корректность введенного адреса эл. почты?

Как на мобильном клиенте проверить корректность введенного адреса эл. почты?
Ответ: Жаль запросы без обращения к БД нельзя делать на клиенте

1C
1
2
выбрать (&адрес ПОДОБНО "[^0-9!@;$%?/\|*+-=)(^]%@[^0-9!@;$%?/\|*+-=)(^]%.[A-z][A-z]" 
    или &адрес ПОДОБНО "[^0-9!@;$%?/\|*+-=)(^]%@[^0-9!@;$%?/\|*+-=)(^]%.[A-z][A-z][A-z]") КАК АдресСоответствует