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

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

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

Оффлайн Alexg45

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


Оффлайн Alexg45

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

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

Оффлайн vitasw

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

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

Оффлайн Alexg45

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

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

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 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

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


Оффлайн Alexg45

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

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

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

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

Оффлайн vitasw

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


Оффлайн Alexg45

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


Теги:
 

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

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

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

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

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

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

Ответов: 14
Просмотров: 7271
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Проверка на "новую" запись в рег. сведений

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

Ответов: 6
Просмотров: 11625
Последний ответ 11 Янв 2011, 10:04
от nomer13
Регистры накопления, Регистры сведений, Документы, Проведение

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

Ответов: 12
Просмотров: 6692
Последний ответ 17 Янв 2014, 21:52
от kot_oo

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
alex0402
115 Сообщений
Norfolk
51 Сообщений
LexaK
45 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
друган
21 Сообщений
alexandr_ll
20 Сообщений
AsadRoman
20 Сообщений
Константин5825
18 Сообщений
Alex55
18 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal