Почему то в документе не записывается табличная часть. Имеется 2-ва справочника и данные из них нужно записать в разные реквезиты, т.е Столбец1=Справочнику1, а Столбец2=Справочнику2
ДокНов=Документы.ПодразделенияСценарии.СоздатьДокумент();
ДокНов.Дата=ТекущаяДата();
ВыборкаПодразделения=Справочники.Подразделения.Выбрать();
ВыборкаСценарии=Справочники.Сценарии.Выбрать();
// Определяю мах кол-во элементов в справочнике Сценариев
ВсегоЭлементовСценарии=0;
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| КОЛИЧЕСТВО(ССЫЛКА) КАК ВсегоЭлементов
|ИЗ
| Справочник.Сценарии КАК Сценарии";
РезультатЗапросаСценарии=Запрос.Выполнить().Выгрузить();
ВсегоЭлементовСценарии=ВсегоЭлементовСценарии+РезультатЗапро саСценарии[0].ВсегоЭлементов;
// Определяю мах кол-во элементов в справочнике Подраздиления
ВсегоЭлементовПодразделения=0;
ЗапросПодразделения=Новый Запрос;
ЗапросПодразделения.Текст="ВЫБРАТЬ
| КОЛИЧЕСТВО(ССЫЛКА) КАК ВсегоЭлементов
|ИЗ
| Справочник.Подразделения КАК Подразделения";
РезультатЗапросаПодразделения=ЗапросПодразделения.Выполнить().Выгрузить();
ВсегоЭлементовПодразделения=ВсегоЭлементовПодразделения+Резу льтатЗапросаПодразделения[0].ВсегоЭлементов;
// Перебираю справочник Подраздиления
Если(ВсегоЭлементовПодразделения>=ВсегоЭлементовСценарии) Тогда
НомерСтрокиСчитывания=1;
Пока ВыборкаПодразделения.Следующий() Цикл
НоваяСтрока=ДокНов.Сценарии.Добавить();
переменПодразделение=ВыборкаПодразделения;
ДокНов.Подразделения=переменПодразделение; // по условию задачи реквизит таб части "ПодразделениеТаб"должен заполняться реквизитом "Подразделение" из шапки документа
// Заполняю табличную часть Подразделения
НоваяСтрока.ПодразделениеТаб=переменПодразделение;
// Заполняю Сценарии
Если НомерСтрокиСчитывания<=ВсегоЭлементовСценарии Тогда
переменСценарии=Справочники.Подразделения.НайтиПоКоду(Формат(НомерСтрокиСчитывания,"ЧЦ=9; ЧРГ=; ЧВН=; ЧГ=; ЧФ=Ч"));
НоваяСтрока.Сценарии=переменСценарии;
НомерСтрокиСчитывания=НомерСтрокиСчитывания+1;
КонецЕсли;
КонецЦикла;
Иначе
НомерСтрокиСчитывания=1;
Пока ВыборкаСценарии.Следующий() Цикл
НоваяСтрока=ДокНов.Сценарии.Добавить();
переменСценарии=ВыборкаСценарии;
// Заполняю табличную часть Сценарии
НоваяСтрока.Сценарии=переменСценарии;
// Заполняю Подразделение
Если НомерСтрокиСчитывания<=ВсегоЭлементовПодразделения Тогда
переменПодразделение=Справочники.Подразделения.НайтиПоКоду(Формат(НомерСтрокиСчитывания,"ЧЦ=9; ЧРГ=; ЧВН=; ЧГ=; ЧФ=Ч"));
НоваяСтрока.ПодразделениеТаб=переменПодразделение;
ДокНов.Подразделения=переменПодразделение; // по условию задачи реквизит таб части "ПодразделениеТаб"должен заполняться реквизитом "Подразделение" из шапки документа
НомерСтрокиСчитывания=НомерСтрокиСчитывания+1;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ДокНов.Записать();
Показать
ДокНов=Документы.ПодразделенияСценарии.СоздатьДокумент();
ДокНов.Дата=ТекущаяДата();
ВыборкаПодразделения=Справочники.Подразделения.Выбрать();
ВыборкаСценарии=Справочники.Сценарии.Выбрать();
// Определяю мах кол-во элементов в справочнике Сценариев
ВсегоЭлементовСценарии=0;
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| КОЛИЧЕСТВО(ССЫЛКА) КАК ВсегоЭлементов
|ИЗ
| Справочник.Сценарии КАК Сценарии";
РезультатЗапросаСценарии=Запрос.Выполнить().Выгрузить();
ВсегоЭлементовСценарии=ВсегоЭлементовСценарии+РезультатЗапро
// Определяю мах кол-во элементов в справочнике Подраздиления
ВсегоЭлементовПодразделения=0;
ЗапросПодразделения=Новый Запрос;
ЗапросПодразделения.Текст="ВЫБРАТЬ
| КОЛИЧЕСТВО(ССЫЛКА) КАК ВсегоЭлементов
|ИЗ
| Справочник.Подразделения КАК Подразделения";
РезультатЗапросаПодразделения=ЗапросПодразделения.Выполнить().Выгрузить();
ВсегоЭлементовПодразделения=ВсегоЭлементовПодразделения+Резу
// Перебираю справочник Подраздиления
Если(ВсегоЭлементовПодразделения>=ВсегоЭлементовСценарии) Тогда
НомерСтрокиСчитывания=1;
Пока ВыборкаПодразделения.Следующий() Цикл
НоваяСтрока=ДокНов.Сценарии.Добавить();
переменПодразделение=ВыборкаПодразделения;
ДокНов.Подразделения=переменПодразделение; // по условию задачи реквизит таб части "ПодразделениеТаб"должен заполняться реквизитом "Подразделение" из шапки документа
// Заполняю табличную часть Подразделения
НоваяСтрока.ПодразделениеТаб=переменПодразделение;
// Заполняю Сценарии
Если НомерСтрокиСчитывания<=ВсегоЭлементовСценарии Тогда
переменСценарии=Справочники.Подразделения.НайтиПоКоду(Формат(НомерСтрокиСчитывания,"ЧЦ=9; ЧРГ=; ЧВН=; ЧГ=; ЧФ=Ч"));
НоваяСтрока.Сценарии=переменСценарии;
НомерСтрокиСчитывания=НомерСтрокиСчитывания+1;
КонецЕсли;
КонецЦикла;
Иначе
НомерСтрокиСчитывания=1;
Пока ВыборкаСценарии.Следующий() Цикл
НоваяСтрока=ДокНов.Сценарии.Добавить();
переменСценарии=ВыборкаСценарии;
// Заполняю табличную часть Сценарии
НоваяСтрока.Сценарии=переменСценарии;
// Заполняю Подразделение
Если НомерСтрокиСчитывания<=ВсегоЭлементовПодразделения Тогда
переменПодразделение=Справочники.Подразделения.НайтиПоКоду(Формат(НомерСтрокиСчитывания,"ЧЦ=9; ЧРГ=; ЧВН=; ЧГ=; ЧФ=Ч"));
НоваяСтрока.ПодразделениеТаб=переменПодразделение;
ДокНов.Подразделения=переменПодразделение; // по условию задачи реквизит таб части "ПодразделениеТаб"должен заполняться реквизитом "Подразделение" из шапки документа
НомерСтрокиСчитывания=НомерСтрокиСчитывания+1;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ДокНов.Записать();
Прикрепленные файлы:
По теме из базы знаний
- Как открыть ИП без бумажной волокиты и походов в налоговую
- Бесшовная доменная аутентификация ОС при интеграции 1С:ERP и 1С:Документооборот
- ФинОфис. Контроль и управление финансами. Практика применения
- История одного админа в мире 1С. Как поиски причины тормозов 1С привели к созданию нового продукта
- Как мы автоматизировали башню раздачи воды
Найденные решения
(5)
плюс присваивает другой тип. СправочникВыборка - а надо СправочникСсылку.
плюс присваивает другой тип. СправочникВыборка - а надо СправочникСсылку.
Пока ВыборкаПодразделения.Следующий() Цикл
НоваяСтрока = ДокНов.Сценарии.Добавить();
//переменПодразделение=ВыборкаПодразделения;
ДокНов.Подразделения = ВыборкаПодразделения.Ссылка; // по условию задачи реквизит таб части "ПодразделениеТаб"должен заполняться реквизитом "Подразделение" из шапки документа
// Заполняю табличную часть Подразделения
НоваяСтрока.ПодразделениеТаб = ВыборкаПодразделения.Ссылка;
// Заполняю Сценарии
Если НомерСтрокиСчитывания <= ВсегоЭлементовСценарии Тогда
переменСценарии = Справочники.Сценарии.НайтиПоКоду(Формат(НомерСтрокиСчитывания,"ЧЦ=9; ЧРГ=; ЧВН=; ЧГ=; ЧФ=Ч"));
НоваяСтрока.Сценарии = переменСценарии;
НомерСтрокиСчитывания = НомерСтрокиСчитывания+1;
КонецЕсли;
КонецЦикла;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
преподаватель профнепригоден. Надо его менять, не годится. Не может объяснить элементарные вещи.
Пока ВыборкаПодразделения.Следующий() Цикл
НоваяСтрока=ДокНов.Сценарии.Добавить();
переменПодразделение=ВыборкаПодразделения;
ДокНов.Подразделения=переменПодразделение; // по условию задачи реквизит таб части "ПодразделениеТаб"должен заполняться реквизитом "Подразделение" из шапки документа
// Заполняю табличную часть Подразделения
НоваяСтрока.ПодразделениеТаб=переменПодразделение;
Показать
(5)
плюс присваивает другой тип. СправочникВыборка - а надо СправочникСсылку.
плюс присваивает другой тип. СправочникВыборка - а надо СправочникСсылку.
Пока ВыборкаПодразделения.Следующий() Цикл
НоваяСтрока = ДокНов.Сценарии.Добавить();
//переменПодразделение=ВыборкаПодразделения;
ДокНов.Подразделения = ВыборкаПодразделения.Ссылка; // по условию задачи реквизит таб части "ПодразделениеТаб"должен заполняться реквизитом "Подразделение" из шапки документа
// Заполняю табличную часть Подразделения
НоваяСтрока.ПодразделениеТаб = ВыборкаПодразделения.Ссылка;
// Заполняю Сценарии
Если НомерСтрокиСчитывания <= ВсегоЭлементовСценарии Тогда
переменСценарии = Справочники.Сценарии.НайтиПоКоду(Формат(НомерСтрокиСчитывания,"ЧЦ=9; ЧРГ=; ЧВН=; ЧГ=; ЧФ=Ч"));
НоваяСтрока.Сценарии = переменСценарии;
НомерСтрокиСчитывания = НомерСтрокиСчитывания+1;
КонецЕсли;
КонецЦикла;
Показать
(7)
когда вы присваиваете значения типированные - они должны соответствовать определенному тупу данных.
например если вы приваивате строковую переменную - это строка и если вытуда пихате "123456" - то это строка такая, а не число. и методы работы с ним как со строкой. т.е. "123456" + "1" = "1234561",
а с числами было бы: 123456+1 = 123457
соответственно и с любыми другими типами данных аналогично.
у вас в документе ПодразделенияСценарии в табличной части Сценарии в колонке Подразделения - указан Тип данных СправочникСсылка.Подразделения
И система ни какие другие типы данных просто "не поймет" и приведет к пустой ссылке.
в вашем случае вы именно другой тип данных(СправочникВыборка.Подразделения) пытались туда вставить.
когда вы присваиваете значения типированные - они должны соответствовать определенному тупу данных.
например если вы приваивате строковую переменную - это строка и если вытуда пихате "123456" - то это строка такая, а не число. и методы работы с ним как со строкой. т.е. "123456" + "1" = "1234561",
а с числами было бы: 123456+1 = 123457
соответственно и с любыми другими типами данных аналогично.
у вас в документе ПодразделенияСценарии в табличной части Сценарии в колонке Подразделения - указан Тип данных СправочникСсылка.Подразделения
И система ни какие другие типы данных просто "не поймет" и приведет к пустой ссылке.
в вашем случае вы именно другой тип данных(СправочникВыборка.Подразделения) пытались туда вставить.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот