Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Окт 2017, 23:37
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Не записывается в регистр сведений  (Прочитано 2794 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Alexg45

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-24
  • Сайт: 
Всем добрый день!
У меня есть внешняя обработка. Если зайти в предприятие и вызвать данную обработку там, то в регистр сведений записываются нужные мне данные.
Если же данную обработку добавить во внешние обработки, и добавить регламентное задание, то есть каждые 20 минут будет вызываться метод общего модуля, который будет создавать объект данной обработки на сервере, то не работают строки НаборЗаписей.Записать() и НаборЗаписей.Прочитать(). Регистр сведений периодический, независимый.
То есть всё работает, кроме записи в регистр.


Оффлайн Alexg45

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-24
  • Сайт: 
Код самый простой:
НаборЗаписей = РегистрыСведений.Тест.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Период.Установить(ДатаПериода);
НаборЗаписей.Записать(истина);

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

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Читать кто будет?

НаборЗаписей = РегистрыСведений.Тест.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Период.Установить(ДатаПериода);
НаборЗаписей.Прочитать();
НаборЗаписей.Очистить();
НаборЗаписей.Записать(истина); 

Оффлайн Alexg45

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-24
  • Сайт: 
Вы думаете, что это как-то влияет на разницу работы? Просто по нажатию на кнопку пользователем эта же обработка всё делает. А когда она в фоновом задании, не хочет работать. Тем более в фоновом задании попадаю в исключение на строке НаборЗаписей.Прочитать(). Я читаю потом, перед тем как записывать непустые данные.
Добавлено: 03 Дек 2015, 11:49

Не вышло. Так же падает на Прочитать().

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Не вышло. Так же падает на Прочитать().

очень информативно

Оффлайн Alexg45

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-24
  • Сайт: 
В логах пишет:
[03.12.2015 12:55:44] Ошибка выполнения регламентного задания получения остатков!
[03.12.2015 12:55:44] Описание='Ошибка при вызове метода контекста (Записать)'
[03.12.2015 12:55:44] ИмяМодуля='ВнешняяОбработка.Остатки.МодульОбъекта'
[03.12.2015 12:55:44] НомерСтроки=362
[03.12.2015 12:55:44] ИсходнаяСтрока='      НаборЗаписей.Записать(истина);    '

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Приведите полный текст кода записи
НаборЗаписей.Записать(истина)


Оффлайн Alexg45

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-24
  • Сайт: 
Первый кусок (просто затираю данные за текущий день):
НаборЗаписей = РегистрыСведений.Тест.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Период.Установить(ДатаПериода);
ЗаписатьВЛогСервер(ИмяЛогаРЗ,"Не работает запись в регистр! ...");
Попытка
НаборЗаписей.Записать(истина);
Исключение
Инфо = ИнформацияОбОшибке();
ЗаписатьВЛогСервер(ИмяЛогаРЗ,"Ошибка выполнения регламентного задания получения остатков NC!");
ЗаписатьВЛогСервер(ИмяЛогаРЗ,"Описание='" + Инфо.Описание + "'");
ЗаписатьВЛогСервер(ИмяЛогаРЗ,"ИмяМодуля='" + Инфо.ИмяМодуля + "'");
ЗаписатьВЛогСервер(ИмяЛогаРЗ,"НомерСтроки=" + Инфо.НомерСтроки);
ЗаписатьВЛогСервер(ИмяЛогаРЗ,"ИсходнаяСтрока='" + Инфо.ИсходнаяСтрока + "'");
КонецПопытки;

А вот второй кусок, он в цикле работает:
НаборЗаписей = РегистрыСведений.Тест.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Период.Установить(ДатаПериода);
НаборЗаписей.Отбор.Номенклатура.Установить(Номенклатура);
НаборЗаписей.Отбор.Серия.Установить(Серия);
НаборЗаписей.Отбор.Место.Установить(СтрОбр.Место);
НаборЗаписей.Отбор.Статус.Установить(СтрОбр.Статус);
НаборЗаписей.Отбор.Категория.Установить(СтрОбр.Категория);
НаборЗаписей.Отбор.Стр.Установить(Стр);
НаборЗаписей.Прочитать();
ЗаписатьВЛогСервер(ИмяЛогаРЗ,"Лог обработки: Прочитать() ...");
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Период = ДатаПериода;
НоваяЗапись.Номенклатура = Номенклатура;
НоваяЗапись.Серия = Серия;
НоваяЗапись.Количество = Число(СтрОбр.Колво);
НоваяЗапись.Место = Стробр.Место;
НоваяЗапись.Статус = Стробр.Статус;
НоваяЗапись.Категория = Стробр.Категория;
НоваяЗапись.Стр = Стр;
                        НаборЗаписей.Записать(истина);

У меня этот же код работает на клиенте нормально, всё что нужно стирает и записывает. Проблема скорее всего в том, что как регламентное задание этот код работает уже на сервере, и там не работают строки Прочитать() и Записать(). Может быть проблема в правах или ещё в чём-то?
Добавлено: 03 Дек 2015, 13:40

Функция ЗаписатьВЛогСервер() просто пишет в текстовый файл на сервере. Это ставил для проверки.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Ошибка тут?
ЗаписатьВЛогСервер(ИмяЛогаРЗ,"Не работает запись в регистр! ..."); Попытка НаборЗаписей.Записать(истина); Исключение Инфо = ИнформацияОбОшибке();


Оффлайн Alexg45

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-24
  • Сайт: 
Сама ошибка печатается в исключении, т.к. попытка записи не удаётся. А на одинокую строку перед Попытка можно не смотреть, это я выводил до этого, не стёр просто.


Теги:
 

Отличие проводки по регистру сведений от проводки по регистру накопления?

Автор DirecTwiXРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4733
Последний ответ 18 Апр 2012, 02:19
от Dethmontt
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7556
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

Автор Елена6666666666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 8885
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
В чем отличие регистра сведений от регистра накопления?

Автор Dmitry QweРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 222
Последний ответ 11 Сен 2017, 10:50
от ilyay
Проверка на "новую" запись в рег. сведений

Автор nomer13Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 13645
Последний ответ 11 Янв 2011, 10:04
от nomer13

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
89 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
55 Сообщений
alex0402
53 Сообщений
AIFrame
40 Сообщений
Oldman06
31 Сообщений
vitasw
29 Сообщений
Golickoff Golickoff
26 Сообщений
MuI_I_Ika MuI_I_Ika
18 Сообщений
BuhRust
15 Сообщений
AsadRoman
13 Сообщений

* Кто онлайн

  • Точка Гостей: 294
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal