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

Привет люди.
Существует ли  взаимодействие Javascript и 1С в типовых решениях
Если да укажите плиз на конфигурацию и местонахождение
Очень спасибо!
Ответ: Очень благодарю всех!!!
Вопрос: Вызов методов языка JavaScript из кода 1С.

Доброго времени суток!

Платформа 8.3.10.2561
IE11
Есть внешняя обработка. На форме обработки "Поле HTML документа".
В процедуре "ПриСозданииНаСервере" вставляется код HTML.
Коде HTML есть функция и кнопка. Как вызвать функцию JavaScript из кода 1С. Eval не работает.

Спасибо.
Ответ:
Вопрос: Может кто подскажет

В связи перехода ЗУП с 2.5 на 3.1 ,возникла необходимость перенести нашу УПП под новую конфигурацию ,но ни как выбрать не можем альтернативу УПП 1.3. (ЕРП слишком очевидно,но мы ее позволить пока не можем) Может кто подскажет конфигурацию под замену УПП.
Ответ: () Может не взлететь даже тогда, когда всё в белую, но: -- техпроцесс имеет регенерационные циклы (петли) с коэффициентами вероятности;
- есть коэффициенты запуска полуфабрикатов и они находятся в прямой зависимости от требований к конечному продукту;
- есть требования сквозного раздельного учета;
- есть ,например, изменяемость производственного плана 20 раз в месяц (вместе с техпроцессом);
- и все это при 12 недельном обеспечении производства.
Вопрос: Возможно, пригодится исправление для ЗУП 3.1.4.120

Обновился до 3.1.4.120. В этой редакции появилось перечисление "КатегорииДоходов", соответственно, измерения в регистрах "СведенияОДоходахПоНДФЛ", "РасчетыНалогоПлательщиковСБюджетомПоНДФЛ" (дальше буду называть его "РасчетыНП")

Сразу заметил, что в первом регистре это измерение дозаполнилось корректно, а во втором - нет. Документ "Начисление по договорам", в табличной части "НДФЛ" все в порядке, значение "Прочие доходы от трудовой деятельности", в движениях документа "Оплата труда".
Если документ перепровести, то ставится верная категория.

Написал про эту проблему в 1с, ответили - на тестовой базе не смогли воспроизвести, сделайте пустую базу с минимальным набором, и если воспроизведется, шлите нам. Проблема не воспроизвелась, тогда из 1с ответили, что у нас какие-то ошибки в учете, и мы должны сами их найти.

Тут я понял, что обновление корректно работает только на сферической базе в вакууме, но на реальной базе - никак, и полез в отладчик. Что обнаружил.

Дозаполнение измерения "КатегорияДохода" выполняется в общем модуле "УчетФактическиПолученныхДоходов", а конкретно по регистру "РасчетыНП" - в процедуре "ЗаполнитьКатегориюДоходаВИсчисленномНДФЛ".

Начал анализировать  результат запроса (выгрузил в таблицу значений), и что я вижу? А два поля, "Категория дохода" со значением NULL, и "КатегорияДохода1" с правильным значением "Прочие доходы от оплаты труда".

Потом внимательно присмотрелся к тесту запроса, тут достаточно привести его самое начало, чтобы понять, в чем дело:

<code>
"ВЫБРАТЬ
РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Регистратор КАК Регистратор,
|    РасчетыНалогоплательщиковСБюджетомПоНДФЛ.НомерСтроки КАК НомерСтроки,
|    КатегорииДоходов.КатегорияДохода КАК КатегорияДохода,
|    КатегорииДоходов.СуммаДохода КАК СуммаДохода,
|    РасчетыНалогоплательщиковСБюджетомПоНДФЛ.*
|ИЗ
</code>

Ну, вы поняли, да? Из регистра "РасчетыНП" выбираются все поля, а там тоже есть поле "Категория дохода". Скажу честно - дальше копать не стал. Посмотрел код обработки результата запроса ниже, дозаполнение категории происходит вот так:

<code>
Запись = НаборЗаписей.Добавить();
ЗаполнитьЗначенияСвойств(Запись, ВременныйНабор[0]);
Если Не ЗначениеЗаполнено(Запись.КатегорияДохода) Тогда
     Запись.КатегорияДохода = Перечисления.КатегорииДоходовНДФЛ.ОплатаТруда;
КонецЕсли;
                    
</code>

Это то самое место, где в значение нового измерения "Категория Дохода" подставляется "Оплата труда". Путем несложных умозаключений понял, что для исправления ошибки достаточно поменять код на следующий:

<code>
Если Не ЗначениеЗаполнено(Запись.КатегорияДохода) Тогда
   Если ЗначениеЗаполнено(Выборка.КатегорияДохода1) Тогда
      Запись.КатегорияДохода = Выборка.КатегорияДохода1;
   Иначе
      Запись.КатегорияДохода = Перечисления.КатегорииДоходовНДФЛ.ОплатаТруда;
   КонецЕсли;
КонецЕсли;
</code>

Эти же рассуждения направил на хотлайн 1с, не знаю, услышат ли меня наконец воины света, которые тщательно скрывают от разработчиков сообщения об ошибках, сваливая все непонятные ситуации на "это ваши ошибки учета". Надеюсь, кому-то это решение пригодится.

И да, я осознаю его минусы. Надо снимать конфу с поддержки сразу после обновления на новую редакцию, но до запуска в режиме предприятия. Надо потом обратно ставить на поддержку. Это время, да.

Все-таки надеюсь, что разработчики образумятся и сделают обновление, которое будет работать не только на пустой базе с минимальным набором документов, но и на реальной рабочей, а пока так.
Ответ: () 3 дня назад я написал причину, а ты все не можешь найти)
Вопрос: Консоль управления (MMC) не может создать оснастку.

Консоль управления работала нормально. Перезагрузили сервер на котором установлена 1с (сам комп) .
После этого консоль управления пишет не может создать оснастку. Может где то еще какую не будь службу надо включить? Прилагается скриншот ошибки

Вложения:

  • Размер файла:
    59,3 КБ
    Просмотров:
    85
Ответ:
Мне это помогло. Огромное спасибо.
Вопрос: Преобразование значения к типу число не может быть выполнено

Добрый день.
При попытке создать документ "Реализация" на основании "Заказа клиента" выскакивает ошибка "Преобразование значения к типу число не может быть выполнено". Ошибка выскакивает, если в документе много строчек с товарами.
--- Объединение сообщений, 1 июн 2018 ---
Вот такую ошибку выдает в отладке
Код:
{ОбщийМодуль.СозданиеНаОснованииУТКлиент.Модуль(245)}: Ошибка при вызове метода контекста (ОткрытьФорму)
        ОткрытьФорму(
по причине:
Ошибка при выполнении обработчика - 'ОбработкаЗаполнения'
по причине:
{Документ.РеализацияТоваровУслуг.МодульМенеджера(562)}: Преобразование значения к типу Число не может быть выполнено
        СтрокаТаб.КоличествоУпаковок = КоличествоКОтгрузке / ВыборкаТовары.Коэффициент;
Ответ:
копать в сторону запроса выборки. Заменить в нем поле на выражение ЕстьNull(ВыборкаТовары.Коэффициент,1) если упаковки не используются, если используются, проставить коэффициенты у единиц измерения.
Вопрос: БП 3.0 приложение не может быть закрыто потому что активен модальный диалог

Добрый день! Есть 7 файловых баз БП 3.0 (платформа 8.3.12.168 релиз 3.0.65.91). Лежат они на Windows Server 2016. Множество пользователей работают одновременно с открытыми базами. При работе в одной из баз, в другой такая ошибка: "приложение не может быть закрыто потому что активен модальный диалог. Закройте диалог и откройте снова" и выбрасывает из программы. Подскажите, в чем может быть дело, пожалуйста.
Ответ: Методом исключения, закрывая каждую базу, выяснить,где и что открыто.
Вопрос: Преобразование значения к типу Число не может быть выполнено

Ошибка такая
Код 1C
1
2
{ОбщийМодуль.РасчетОсаго.Модуль(42)}: Преобразование значения к типу Число не может быть выполнено
    Рез = КТБ * ККТ * ККБМ.Коэффициент * ККВС * ККМ * ККС  * ККП * ?(КоэффициентНарушений = Неопределено, 1, КоэффициентНарушений);
В данном случае коэффициент КВВС не является числовым, т.к. я добавил следующий код:
Код 1C
1
2
3
Если Объект.КО = Перечисления.Ограничение.НеОграничен тогда
        Объект.Возраст = "Не учитывается";
        Объект.Стаж = "Не учитывается";
Код 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
Функция ВернутьВозрастСтаж(Дата, Возраст, Стаж, КО)
    
    Если КО = Перечисления.Ограничение.НеОграничен Тогда 
        Возврат ВернутьЗначениеОграничения(Дата, Перечисления.Ограничение.НеОграничен);
    КонецЕсли;
    
    Если  Не ЗначениеЗаполнено(Возраст) Или Не ЗначениеЗаполнено(Стаж) Тогда 
        Возврат ВернутьЗначениеОграничения(Дата, Перечисления.Ограничение.НеОграничен);
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                    |   КоэффициентВозврастСтажСрезПоследних.Коэффициент
                    |ИЗ
                    |   РегистрСведений.КоэффициентВозврастСтаж.СрезПоследних(
                    |           &Дата,
                    |           Возраст = &Возраст
                    |               И Стаж = &Стаж) КАК КоэффициентВозврастСтажСрезПоследних";
                    
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Возраст", Возраст);
    Запрос.УстановитьПараметр("Стаж", Стаж);
    
    Результат = Запрос.Выполнить();
    
    Выборка = Результат.Выбрать();
    Выборка.Следующий();
    
    Возврат Выборка.Коэффициент;
КонецФункции

Код 1C
1
ККВС = ВернутьВозрастСтаж(Объект.Дата, Объект.Возраст, Объект.Стаж, Объект.КО);
Ответ: исправил ошибку, оказывается у другого коэффициента, был тип не определен)
Вопрос: Обновление 1С 7.7 (Бухгалтерский учет не может быть отключе)

Добрый день.
После объединения конфигураций пытаюсь сохраниться и выпадает окно с текстом.
"Бухгалтерский учет не может быть отключен - существуют проведенные документы! <номер документа>"
Удалить этот документ не получается.
Посоветуйте, что делать в таком случае?
Ответ:

у какого-то из вида документа, снял галку "бухгалтерский учет"...
Вопрос: Преобразование значения к типу Дата не может быть выполнено

Доброго времени суток,
При выполнении в 1С 8.3 выдает ошибку:
Преобразование значения к типу Дата не может быть выполнено
   Запрос.УстановитьПараметр("ДатаН", НачалоДня(НВдат));

Имеется файл формата dbf я из него выгружаю данные, дата была в формате строки, я ее переделал в формат дата:
   НВдатДБФ = (Лев(База.ПолучитьЗначениеПоля("NVdat"), 10));
   Год = Прав(НВдатДБФ, 4);// 2005;

        Месяц1 = СтрЗаменить(НВдатДБФ, Лев(НВдатДБФ,3), "");
   Месяц = СтрЗаменить(Месяц1, Прав(Месяц1,5), "");
   
        День = Лев(НВдатДБФ, 2);    
        НВдат = Дата(Год + Месяц + День);
Я знаю что не учитываются пробелы с лева и точное время создания документа, но из строки в формат даты перевести получается и она "по идее" должна идти дальше в запрос:
Запрос = Новый Запрос("ВЫБРАТЬ
                         |   ПоступлениеТоваровУслуг.Ссылка
                         |ИЗ
                         |   Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
                         |ГДЕ
                         |   ПоступлениеТоваровУслуг.НомерВходящегоДокумента = &НомерКонтрагента
                         |   И ПоступлениеТоваровУслуг.Контрагент = &Контрагент
                         |   И ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаН И &ДатаК");
   Запрос.УстановитьПараметр("НомерКонтрагента", НВход);
   Запрос.УстановитьПараметр("Контрагент", ПоискС(ИНН));
   Запрос.УстановитьПараметр("ДатаН", НачалоДня(НВдат));
   Запрос.УстановитьПараметр("ДатаК", КонецДня(НВдат));
   Результат=Запрос.Выполнить();
   
   Если Результат.Пустой() Тогда
      Возврат Неопределено;
   КонецЕсли;

        Выборка = Результат.Выбрать();
   Выборка.Следующий();
   
   Возврат Выборка.Ссылка.номер;
Я начинающий в 1С. Кто знает в чем ошибка? Прошу помощи исправить.
Ответ: () мда....
Выбирай - метла или утка?