8.х Создание документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем OIT, 18 ноя 2008.

  1. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Код:
    НовыйДокумент=Документы.КорректировкаЗаписейРегистровНакопления.СоздатьДокумент();
    НовыйДокумент.Дата= Дата;
    НовыйДокумент.Ответственный=Ответственный;
    ОбщегоНазначения.УстановитьНомерДокумента(НовыйДокумент);
    НовыйДокумент.Записать();
    Для каждого СтрокаДанных Из тзДанных <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/цикл')">Цикл			</span>  	Движения=НовыйДокумент.Движения.ВзаиморасчетыСРаботникамиОрганизаций.Добавить();
    Движения.ВидДвижения=ВидДвиженияНакопления;
    Движения.Физлицо.Наименование=Сотрудник;
    Движения.СуммаВзаиморасчетов=СтрокаДанных.Сумма;
    Движения.ХарактерВыплаты=Перечисления.ХарактерВыплатыЗарплаты.Задолженность;
    КонецЦикла;
    
    В этом коде выдает сообщение "Поле объекта недоступно для записи(Наименование)"
    Подскажите пожалуйста что здесь не правильно
    Спасибо
  2. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Избавилась от сообщений но документ получатся пустым
    Подскажите пожалуйста в чем дело
    Спасибо
  3. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Надо в документе указать, какой регистр он правит.
    Посмотрите табличные части документа.
  4. dlednev
    Offline

    dlednev Опытный в 1С

    Регистрация:
    23 апр 2008
    Сообщения:
    86
    Симпатии:
    0
    Баллы:
    26
    Движения.Физлицо.Наименование=Сотрудник;

    Вот эта строчка ошибку дает!

    НовыйДокумент.Записать();

    А вот это надо писать после цикла, чтобы документ был не пустым
  5. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Код:
    Движения.Физлицо.Наименование=Сотрудник;
    
    Переделайте в
    Код:
    Движения.Физлицо=Сотрудник;
    
    У движений можно задавать измерения, ресурсы, реквизиты, но не присваивать в какую-то ссылку какое-то наименование!

    Проверьте заодно - Сотрудник - это справочник или строка у вас - по текущему коду непонятно.

    Кроме того - я бы сделал название переменной не Движения (запутаетесь потом), а Движение или ДвиженияПоРегиструИМЯРЕГИСТРА. Ошибки как таковой не будет, но просто читается с трудом. Под Движениями обычно подразумеваются все возможные движения документа.
  6. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Код:
    Движения=НовыйДокумент.Движения.ВзаиморасчетыСРаботникамиОрганизаций.Добавить();
    ПериодВзаиморасчетов=НачалоМесяца(ДатаУдержаний);
    Движения.Физлицо= Справочники.ФизическиеЛица.НайтиПоКоду(ТН,Истина);
    Движения.СуммаВзаиморасчетов=СтрокаДанных.СуммаНачисления;
    Движения.ХарактерВыплаты=Перечисления.ХарактерВыплатыЗарплаты.Задолженность;
    Движения.Организация=Организация;
    Движения.Период =ПериодВзаиморасчетов;
    
    К сожалению незнаю как заполнить этот документ "Корректировка записей регистров накопления"
    заполняла другие документы все получалось
    Как здесь определить какой регистр управляет и как указать имя регистра не знаю
    Будьте добры подскажите пожалуйста
    Спасибо
  7. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Все получилось оказыватся в настройках наверху у документа я только поставила галочку
    то есть тем самым я выбрала нужное имя но как это сделать в коде то есть указать конкретное имя
    я была бы очень благодарна вам
  8. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Эти настройки хранятся в данных документа, посмотрите табличные части или список движений - что-то должно быть в реквизитах. Сейчас точно под рукой нет обработки, но писал не раз.
  9. gamser
    Offline

    gamser Опытный в 1С

    Регистрация:
    27 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Примерно так работал с документом "Корректировка записей регистров"
    Этот док удобен тем, что с его помощью можно писать все что угодно в любые регистры
    Удачи в борьбе ;-)
    Код:
    	Если ОтразитьВБУ Тогда
    ВидыСубконто=ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные;
    Организация		= Справочники.Организации.НайтиПоКоду("000000001").Ссылка;
    ДокРегистратор=Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
    ДокРегистратор.Дата=СтрокаФактическихОпераций.ДатаОперации;
    ДокРегистратор.УстановитьНовыйНомер();
    ДокРегистратор.Комментарий="Формирование проводок по вкладам";
    РегистрБух=ДокРегистратор.ТаблицаРегистровБухгалтерии.Добавить();
    РегистрБух.Имя=Метаданные.РегистрыБухгалтерии.Хозрасчетный.Имя;
    РегистрБух.Представление=Метаданные.РегистрыБухгалтерии.Хозрасчетный.Представление();
    ДокРегистратор.Записать(РежимЗаписиДокумента.Запись);
    СтрокаФактическихОпераций.ДокументДвижения=ДокРегистратор.Ссылка;
    ПроводкиБУ=РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
    ПроводкиБУ.Отбор.Регистратор.Установить(ДокРегистратор.Ссылка);
    ПроводкиБУ.Прочитать();
    Проводка=ПроводкиБУ.Добавить();
    Проводка.Период=СтрокаФактическихОпераций.ДатаОперации;
    Проводка.Регистратор=ДокРегистратор.Ссылка;
    Проводка.Активность=Истина;
    Проводка.СчетДт=ПланыСчетов.Хозрасчетный.ПрочиеРасходы;
    Проводка.СубконтоДт[ВидыСубконто.ПрочиеДоходыИРасходы]=Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Компенсация за пользование займом");
    Проводка.СчетКт=ПланыСчетов.Хозрасчетный.НайтиПоКоду("76.10");
    Проводка.СубконтоКт[ВидыСубконто.Контрагенты]=Пайщик;
    Проводка.СубконтоКт[ВидыСубконто.Договоры]=Договор;
    Проводка.Организация=Организация;
    Проводка.Содержание="Начисление компенсации по вкладу";
    Проводка.Сумма=СтрокаФактическихОпераций.НачислениеКомпенсации;
    Если СтрокаФактическихОпераций.НДФЛ>0 Тогда
    Проводка=ПроводкиБУ.Добавить();
    Проводка.Период=СтрокаФактическихОпераций.ДатаОперации;
    Проводка.Регистратор=ДокРегистратор.Ссылка;
    Проводка.СчетДт=ПланыСчетов.Хозрасчетный.НайтиПоКоду("76.10");
    Проводка.СубконтоДт[ВидыСубконто.Контрагенты]=Пайщик;
    Проводка.СубконтоДт[ВидыСубконто.Договоры]=Договор;
    Проводка.СчетКт=ПланыСчетов.Хозрасчетный.НДФЛ;
    Проводка.СубконтоКт[ВидыСубконто.ВидыПлатежейВГосБюджет]=?(ВидВклада.КапитализацияНачисленнойКомпенсации,Перечисления.ВидыПлатежейВГосБюджет.НачисленПриКапитализации,Перечисления.ВидыПлатежейВГосБюджет.Налог);
    Проводка.Организация=Организация;
    Проводка.Содержание=?(ВидВклада.КапитализацияНачисленнойКомпенсации,"НДФЛ: Начислен при капитализации вклада.","НДФЛ: начислен/уплачен");
    Проводка.Сумма=СтрокаФактическихОпераций.НДФЛ;
    КонецЕсли;
    ЭтотОбъект.Записать(РежимЗаписиДокумента.Запись);
    ПроводкиБУ.Записать();
    КонецЕсли;
    
    
  10. gamser
    Offline

    gamser Опытный в 1С

    Регистрация:
    27 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Этот фрагмент для Бухгалтерия предприятия, редакция 1.6 (1.6.9.4)

Поделиться этой страницей