Итак, опубликованный АПИ не работает. В постмане выдает 500 ошибку. Начинаем разбираться с самого начала. Платформа 8.3.21.1622 1. Проверка http - сервисов в 1С.Проверяем корневой URL, имя методов. Создание get-метода PING который просто вернет 200 2. Выделяем весь код, создаем внешнюю обработку, вставляем в модуль объекта. Ctrl+F7 - ошибок нет 3. Публикация на IIS под админом. Галочкой отмечаем только интересующий сервис. 4. Переходим на IIS. Находим нашу публикацию. Restart. Explore 5. Проверяем default.vrd. База прописана верно. А так же куча разной фигни, которая не должна была быть опубликованной. Проверяем web.config. Путь к платформе указан верно. Даты файлов соответствуют моменту публикации 6. В IIS нажимаем Browse. В браузере открывается наша опубликованная 1С-ка 7. Пингуем имя сервера. Сервер доступен
Метод все так же выдает ошибку 500. Итак, какие еще возможны действия? проверки? Может быть у кого-то есть инструменты для отладки, анализа ошибок?
Vofka @ Сегодня, 11:49
, Ну так на каждый документ делать, то большой запрос получится)) Тем более в 1С могут создаваться новые документы. Это для каждого добавлять условие.
Все получилось. Сделал от обратного. 1. Получил записи из регистра. Использовал функцию ПРЕДСТАВЛЕНИЕ. Выгрузил в обычную таблицу значений 2. Выгрузил записи из внешней таблицы в таблицу значений. 3. В новом запросе в качестве параметра указал эти таблицы. Для полей неограниченной длины применил функцию ПОДСТРОКА и все склеилось!))
Необходимо реализовать выгрузку(вставку, обновление, удаление) регистра бухгалтерии во внешнюю базу данных. Регистратор и субконто достаточно выгружать как текстовые. Нужен уникальный ключ, по которому я буду связывать эти таблицы. Поскольку в 1С нельзя запросом получить ID записи таблицы ДвиженияССубконто, решил в качестве ключа взять два поля: Регистратор и НомерСтроки Регистратор в таблице-получателе определил как строку 150. В запросе 1С нельзя сделать из регистратора строку 150 ПОДСТРОКА(ПРЕДСТАВЛЕНИЕ(Регистратор), 1, 150) работать не будет Создал типизированную таблицу. Ее планирую связывать с таблицей из внешней БД. Но туда результат запроса не загрузишь так, чтобы не потерять тип поля. Можно перебором. Но записей много. Оставил этот вариант как последний, если ничего лучше не найду.
Требуется реализовать ввод на основании нескольких Заказов покупателей, новый документ, где есть ТЧ ДокументыОснования. Сейчас работает одиночный ввод на основании, далее остальные основания дополняются вручную.
Такой механизм множественного ввода есть в документе СчетФактураОтправленныйГрузия. Там есть команда СоздатьСчетФактура. В свойствах команды указано: Группа - Командная панель формы.Создать на основании Тип параметра - (все документы, которые могут быть основаниями) Режим использования - множественный
поставил точку останова в команде, посмотрел стек вызовов. Ни откуда не вызывается эта команда. Значит эту команду где-то надо в каких-то свойствах указать. Поиск ссылок на команду ничего не дал
Создал для своего документа то же самое. Код из команды скопировал, назвал аналогично. Но команда не вызывается. Что еще нужно сделать?
Создал свой документ. Поскольку действий никаких он не делает, создал не копированием, а просто новый. Теперь хочу добавить печатную форму. Что сделал:
1. В форме ПриСозданииНаСервере добавил ДополнительныеОтчетыИОбработки.ПриСозданииНаСервере(ЭтаФорма); УправлениеПечатью.ПриСозданииНаСервере(ЭтотОбъект, Элементы.ГруппаКомандПечати); 2. В модуле менеджера добавил Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода). Указал свою печатную форму в УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию 3. В модуле менеджера добавил ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, ИмяМакета), где вызываю свой СформироватьМакет 4. Добавлил СформироватьМакет с полезным алгоритмом 5. Добавил в форму Подключаемый_ВыполнитьКомандуПечати. Не могу найти, к чему этот метод должен привзяываться.
zay @ 02.06.23, 20:30
, Ну так я создавал базу и с "Cyrillic_General_CI_AS" и с "Latin1_General_CI_AS" Ошибка та же самая DT гружу самые разные. Ничего не помогает
Форум: Базы данных
· Просмотр сообщения: #177294
· Ответов: 5
· Просмотров: 726
Создал базу с кодировкой "Cyrillic_General_CI_AS".
Загрузил туда dt. Запускаю. Получаю ошибку
Microsoft SQL Server Native Client 11.0: Cannot resolve collation conflict between "Cyrillic_General_CI_AS" and "Latin1_General_CI_AS" in UNION ALL operator occurring in SELECT statement column 3. HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=1, Severity=10, native=451, line=1
ругается на выборку поля с неограниченной длинной. ПОДСТРОКА в запросе использую, не помогает. Изменить кодировку ALTER DATABASE на загруженной базе нельзя. Ладно, хорошо.
Удаляю, создаю новую базу с кодировкой "Latin1_General_CI_AS" Загружаю туда dt. Смотрю: кодировка снова стала "Cyrillic_General_CI_AS" Ошибку получаю ту же самую.
Загадка для меня, как это работает на источнике. Посмотреть нет возможности. Мне присылают только dt. Как такое починить?
Форум: Базы данных
· Просмотр сообщения: #177284
· Ответов: 5
· Просмотров: 726
mut @ Вчера, 15:02
, Ну не знаю) Работа 1С-ника предполагает более 40 часов в неделю. Это IT-шники работают пол-дня а потом в доту играют Тут на учебу бы время найти
alexandr_f @ Сегодня, 11:14
, Коллеги, я понимаю, возмущаться и ныть очень хочется) И мне в том числе))) Но это ни как не изменит нашего положения.
Сейчас из молодежи никто не идет в 1С. Возможно, из-за нехватки кадров в 1С зп повысится? Хотя если 1С-ник будет стоить дорого, то тогда в 1С не будет никакого смысла
Vofka @ Сегодня, 12:59
, Действительно) Если не говорить про 1С, мне например вообще не про что будет рассказать) Что я делал 13 лет, если нигде не работал? Сидел? А врать и выдумывать какой-то другой опыт - это не для меня))
Кстати, 1С тоже работает через .NET. Так что на вопрос "Сколько Вы работаете с .NET?" я отвечаю "13!"
Доброго дня, коллеги. В этой статье, я хотел бы открыть обсуждения перехода из 1С на что-то, где платят более достойно и не так относятся к программистам. Предлагаю вам пару ссылок. Наверняка у большинства из вас мысли такие же
Я в 1С уже 13 лет и со всем, о чем говорит спикер я сталкивался. Были и хорошие компании. Крайне большая редкость.
Выучился на курсах на С#. Думал, мой богатый опыт будет интересен новым работодателям. Сначала попробовал в украинские компании. Оказалось, что для них 1С-ный опыт вообще ничего не значит. Максимум предлагают на трейни. А в большинстве случаев узнают про 1С и заканчивают разговор. Попробовал в зарубежные компании. Там наш опыт признается. Там смотрят, как ты умеешь писать алгоритмы. Но там я столкнулся с другой проблемой. Там обязательное требование, чтобы ты писал код при них в браузере. Без возможности запуска и отладки. Тут человеческий фактор. Не все умеют писать код под надзором. Задачи простейшие, на уровне школьных. Обработка коллекций. Но я забываю все на свете в таких условиях Путаю равно и не равно))
Английский язык. В украинских компаниях требование - upper-intermediate. В зарубежных попроще. Главное, чтоб вас понять можно было. Очень повезет, если интервьюер не нейтив-спикер. Понять его можно. Нейтивы же тараторят себе под нос, съедают слова. Добавьте сюда еще искажение его микрофона и ваших наушников. В общем понять их крайне сложно.
Какие у вас мысли на этот счет? Кто уже пытался. Давайте делиться опытом))
Платформа 8.3.12. УНФ для Грузии (ERP Solutions, Edition 1.6 (1.6.10.44)) Назначение расширения - дополнение
Номенклатура -> Добавить в расширение. Аналогично с Формой элемента и списка. Добавил реквизит. Добавил его на форму элемента. В форме списка добавил его в запрос СписокЗапасы, перетащил на форму. Запускаю В форме элемента он присутствует. На форме списка нет. В списке "Изменить форму" тоже нет. Да вообще в списке маловато реквизитов. Чтобы убедиться, что это та форма, подкрасил колонку Ед.изм. и свою. Запускаю Форма та. Колонка Ед.изм цветная, моей колонки нет. Добавил на форму еще колонку из имеющихся в СписокЗапасы. Запускаю, эта колонка отобразилась. Моей колонки нет. Создаю в расширении обработчик события ПриОткрытииПосле. Ставлю точку останова. Смотрю - Видимость моей колонки установлена.
Обнаружилась проблемка. Существовала база данных. Средствами MS SQL ее удалили. В MS SQL Manager Studio ее нет. А вот в консоли серверов 1С она есть! Никак ее нельзя оттуда удалить.
Создал новый документ. Необходимо включить его в подсистему, позволяющие прикреплять файлы к документам. Что сделал: Создал справочник МойДокументПрисоединенныеФайлы. В нем указал ссылку ВладелецФайла на новый документ Включил МойДокументПрисоединенныеФайлы в подсистему ПрисоединенныеФайлы Добавил в модуль ГрупповоеИзменениеОбъектовПереопределяемый.ПриОпределенииОбъектовСРедактируемымиРеквизитами Добавил в ОпределяемыеТипы.ВладелецПрисоединенныхФайлов
Теперь надо как-то добавить ее в командный интерфейс формы нового документа. Надо чтобы ОбщаяКоманда.ПрисоединенныеФайлыКОбъекту отображалась в списке глобальных команд. Что я упустил?
Молодежь в 1С не идет. Только свичеры. Бывшие бухгалтера, продажники, кладовщики. Качество кода соответствующее.
Как следствие - зарплаты опытных разрабов должны вырасти!))) Начальница говорит - Дождусь, когда за то что открыл конфигуратор будут платить по 100$ в час и уйду.
Впрочем, не только 1С = боль. Сейчас учу С#. Вижу что он отстает лет эдак на 30 от 1С. Начал анализировать другие языки западного рынка - то же самое.
Итак, простейшая задача с виду. На 5 мин. Создать реквизит и вывести его на форму списка Номенклатуры. Что может быть проще? УНФ для Грузии.
Добавляю в запрос СписокЗапасы формы ФормаСписка нужный реквизит. Вывожу его на форму. В конфигураторе он виден. Все галки включены. Проверяю, та ли указана в свойствах справочника форма списка. Крашу колонку Наименование в зеленый цвет, чтобы убедиться, что я там вношу изменения где нужно. Запускаю, открываю список номенклатуры - нового реквизита нет. Колонка Номенклатура зеленая - значит добавил там где нужно.
Ставлю точку останова на событии ПриОткрытии. Проверяю Элементы.МойРеквизит.Видимость = Истина. Доступность тоже. На форме нет.
В режиме предприятия смотру "Изменить форму..." там моего реквизита нет. Запускаю с параметром /С ЗапуститьОбновлениеИнформационнойБазы. Понимаю, что это не про то, ну а вдруг?))) Без толку.
Вопрос первый: как добавить новый реквизит в список номенклатуры?
CapitalistOleg @ Сегодня, 17:17
,
Нашел!) Метод ПолучитьТекстЗапросаСписокЗапасы. Вызывается ПриСозданииНаСервере Потратил почти 3 часа.
Ну а теперь вопрос второй и самый главный:
Скотское отношение компании 1С к своим программистам и что с этим делать?
Предположим Вы выпускник без опыта. Изучаете 1С. Самостоятельно или на курсах. Деньги платите, время тратите. Вам там объясняют как делаются проводки, как верстаются формы. FIFO как организовать
Приходите на свою первую работу и с удивлением узнаете, что алгоритм проведения пишется не в ОбработкаПроведения. Все намного сложнее. Сначала запросы собираются в модуле менеджера:
ИнициализироватьДанныеДокумента
Затем
ПодготовитьНаборыЗаписейКРегистрацииДвижений
и наконец
Отразить***
Вот откуда ему это знать? Это где-то задокументировано? А если он будет писать как учат, он просто все поломает.
Дать/убрать доступ/видимость элементу на форме - новая задача для джуна! Что он делает? Правильно! Ставит галочки в свойствах. Никто не рассказал ему про методы в духе УстановитьВидимостьДостуаность
Я уже не говорю, что не обучают программной части УТ, УНФ, ЗУП, ERP. Все продалбывай методом научного тыка И так везде и так во всем. А на сертификаты все равно - сдай!
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!