Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
По теме из базы знаний
- Формирование файла типа xml для формализованных электронных передаточных и корректировочных документов и неформализованного электронного документа Счет на основании документа бухгалтерии
- Автоматическое закрытие этапа производства с формированием производственных документов
- Переход с УПП на ERP с сохранением документов. Фантастика или реальность?
- Робот-загрузчик и архив документов. Распознавание/загрузка сканов документов в 1С8(7.7), архив сканированных документов.
- 1С-ЭДО: внутренний и внешний документооборот в типовых учетных решениях 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
2. DoctorRoza 20.03.13 15:57
(1) Vovus, как насчет количества лицензий, хватает?
3. Vovus 20.03.13 15:58
Да все работало пока свет не вырубился и этот пользователь был в то время в базе
Ответили: (7)
4. Alister 20.03.13 15:59
А под этим пользователем с любого компа такая же картина ?
5. Alister 20.03.13 16:00
Да все работало пока свет не вырубился и этот пользователь был в то время в базе
Картина потихоньку наполняется инфой ;)))
6. Alister 20.03.13 16:01
Тестирование ?
7. setre 20.03.13 16:08
(3) Vovus, не повезло пользователю, все сбежали, а он один не спасся ))) Ди Каприя )))
удалите его и по новой заведите
Изменено: setre - 20.03.13 16:09
+ 1 [ Alister; ]
[+] [−] # Спам Изменить ↓Ответить
8. setre 20.03.13 16:10
если настроек под него замороченных нет, конечно
9. AndrewUs 20.03.13 16:12
А с этого компа можно зайти в 1С под другим пользователем, а то может тут не в 1С дело ... может с сетью трудности у этого компа?
(1) Vovus, как насчет количества лицензий, хватает?
3. Vovus 20.03.13 15:58
Да все работало пока свет не вырубился и этот пользователь был в то время в базе
Ответили: (7)
4. Alister 20.03.13 15:59
А под этим пользователем с любого компа такая же картина ?
5. Alister 20.03.13 16:00
Да все работало пока свет не вырубился и этот пользователь был в то время в базе
Картина потихоньку наполняется инфой ;)))
6. Alister 20.03.13 16:01
Тестирование ?
7. setre 20.03.13 16:08
(3) Vovus, не повезло пользователю, все сбежали, а он один не спасся ))) Ди Каприя )))
удалите его и по новой заведите
Изменено: setre - 20.03.13 16:09
+ 1 [ Alister; ]
[+] [−] # Спам Изменить ↓Ответить
8. setre 20.03.13 16:10
если настроек под него замороченных нет, конечно
9. AndrewUs 20.03.13 16:12
А с этого компа можно зайти в 1С под другим пользователем, а то может тут не в 1С дело ... может с сетью трудности у этого компа?
Реализовывал когда-то что-то похожее...
Для этого делал обработку. В обработке необходимо добавить Табличное поле. В свойствах Табличного поля необходимо очистить поле Данные (shift+F4). Дальше добавить реквизит формы с типом данных ДокументСсылка выбираемого документа. Далее в модуле формы добавить предопределенную процедуру ПередОткрытием (или ПриОткрытии)
и в ней код, например:
Выбор строк можно осуществлять через множественный выбор (для этого в свойствах табличного поля выбираем РежимВыделения - Множественный. Выделенные строки можно будет получить потом методом:
На командную панель добавляем кнопку, которая будет передавать данные из выделенных строк в конечны документ для заполнения.
В форме выбора документа, строки которого будут выбираться, необходимо добавить предопределенную процедуру табличного поля формы "Выбор" и в ней прописать:
Могу помочь с рабочим примером (написать код), если скажите конфигурацию, документы... Вообщем, описать задачу...
Для этого делал обработку. В обработке необходимо добавить Табличное поле. В свойствах Табличного поля необходимо очистить поле Данные (shift+F4). Дальше добавить реквизит формы с типом данных ДокументСсылка выбираемого документа. Далее в модуле формы добавить предопределенную процедуру ПередОткрытием (или ПриОткрытии)
и в ней код, например:
ЭлементыФормы.ТабЧастьДокумента.ТипЗначения = Новый ОписаниеТипов("ДокументТабличнаяЧасть.<Имя документа>.<Имя таб. части>");
ЭлементыФормы.ТабЧастьДокумента.Значение = ДокументСсылка.<Имя таб. части>;
ЭлементыФормы.ТабЧастьДокумента.СоздатьКолонки();
//код, который бы скрывал часть ненужных колонок
...
Выбор строк можно осуществлять через множественный выбор (для этого в свойствах табличного поля выбираем РежимВыделения - Множественный. Выделенные строки можно будет получить потом методом:
ЭлементыФормы.ТабЧастьДокумента.ВыделенныеСтроки;
На командную панель добавляем кнопку, которая будет передавать данные из выделенных строк в конечны документ для заполнения.
В форме выбора документа, строки которого будут выбираться, необходимо добавить предопределенную процедуру табличного поля формы "Выбор" и в ней прописать:
Процедура ДокументСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ФормаПодбора = Обработки.ПодборСтрокВТабличнойЧасти.ПолучитьФорму("Форма");
ФормаПодбора.ДокументСсылка = ВыбраннаяСтрока;
ФормаПодбора.Открыть();
КонецПроцедуры
ПоказатьМогу помочь с рабочим примером (написать код), если скажите конфигурацию, документы... Вообщем, описать задачу...
aguilar, было бы не плохо видит скрины настроек табличного поля обработки + код.
Для открытия формы обработки необходимо в форме выбора документов (из которых будете брать данные в строках ТЧ) табличному полю добавить процедуру "Выбор" и в ней прописать код для открытия формы обработки.
Если хотите, можно выслать мне cf конфигурации, посмотрю.
Для открытия формы обработки необходимо в форме выбора документов (из которых будете брать данные в строках ТЧ) табличному полю добавить процедуру "Выбор" и в ней прописать код для открытия формы обработки.
Если хотите, можно выслать мне cf конфигурации, посмотрю.
aguilar, не нужно было создавать табличную часть в обработке. Табличному полю можно было оставить тип ТаблицаЗначений, а потом программно он бы менялся при открытии.
Возвращаю в оприходование сами строки, но можете и вернуть другом виде (типе значений).
Возвращаю в оприходование сами строки, но можете и вернуть другом виде (типе значений).
Прикрепленные файлы:
1Cv8.cf
Кстати, если форма выбора документов Поступления будете вызывать только из Оприходования, то можно оставить все как есть, а иначе лучше в качестве основной формы лучше сделать "стандартную". А форму выбора, из которой открывается подбор строк, вызывать программно.
Думаю в таком виде с галочками не получится.
Если хочется галочками выбирать строки, то лучше форму обработки переделать.
Добавить реквизит формы с типом данных "ТаблицаЗначений". В свойствах табличного поля в поле "Данные" указать этот реквизит. И заменить код при открытии обработки
на
Если хочется галочками выбирать строки, то лучше форму обработки переделать.
Добавить реквизит формы с типом данных "ТаблицаЗначений". В свойствах табличного поля в поле "Данные" указать этот реквизит. И заменить код при открытии обработки
ЭлементыФормы.ТабЧастьДокумента.ТипЗначения = Новый ОписаниеТипов("ДокументТабличнаяЧасть.ПоступлениеОбъектаПроката.ОбъектыПроката");
ЭлементыФормы.ТабЧастьДокумента.Значение = ДокументСсылка.ОбъектыПроката;
ЭлементыФормы.ТабЧастьДокумента.СоздатьКолонки();
на
ТабЧастьДокумента = ДокументСсылка.ОбъектыПроката.Выгрузить();
ТабЧастьДокумента.Колонки.Вставить(0, "Пометка", Новый ОписаниеТипов("Булево"),,5);
ЭлементыФормы.ТабЧастьДокумента.СоздатьКолонки();
ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.Данные = "";
ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.ДанныеФлажка = "Пометка";
ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
Показать
(25) sannt, "ТабЧастьДокумента" говорит не находит,ставлю ЭлементыФормы.ТабЧастьДокумента. И он возвращается к прежней ошибке
{Обработка.ПодборСтрокВТабличнойЧасти.Форма.Форма.Форма(20)}: Поле объекта не обнаружено (Пометка)
ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.Данные = "";
{Обработка.ПодборСтрокВТабличнойЧасти.Форма.Форма.Форма(20)}: Поле объекта не обнаружено (Пометка)
ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.Данные = "";
Пытаюсь в обработке написать запись в ТЧ документа,уже 3-ий способ и что-то не хочет,не подскажите где ошибся
это без проверки установлен ли флаг еще,пробывал без него
Процедура КнопкаВыполнитьНажатие(Кнопка,Элемент)
Обр = ОбработкаОбъект.ЭтотОбъект.Добавить();
Док = Документы.ОприходованиеОбъектаПроката.СоздатьДокумент();
Для Каждого СтрТЧдок Из Обр Цикл
СтрокаТЧдок = Док.ОприходованиеОбъектаПроката.Добавить();
СтрокаТЧдок.Носитель = Обр.Носитель;
КонецЦикла;
Док.Записать(РежимЗаписиДокумента.Запись);
ОповеститьОВыборе(ТабЧастьДокумента.Скопировать(Новый Структура("Пометка", Истина)));
КонецПроцедуры
Показатьэто без проверки установлен ли флаг еще,пробывал без него
Еще так пытался
Форма = Документы.ОприходованиеОбъектаПроката.ПолучитьФормуНовогоДокумента();
Форма.Открыть();
ДокПоступление = Документы.ОприходованиеОбъектаПроката.СоздатьДокумент();
ДокПоступление.ПолучитьФорму().Открыть();
ЗаполнитьЗначенияСвойств(ДокПоступление, ДокументОбъект);
Для каждого Стр Из ДокументОбъект.ОбъектыПроката Цикл
НовСтр = ДокПоступление.ОбъектыПроката.Добавить();
ЗаполнитьЗначениясвойств(НовСтр, Стр);
КонецЦикла;
Показать
Вы же создаете новый документ Оприходования и из него на вкладеке
В обработке:
Посмотрите в модуле формы документа Оприходования процедура должна быть (я ее создавал) "ПоступлениеПрокатаПоступлениеДокументаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)". В этой процедуре и можно заполнить табличную часть документа
В обработке:
Процедура КнопкаВыполнитьНажатие(Кнопка)
Параметры = Новый Структура;
Параметры.Вставить("Документ", ДокументСсылка);
Параметры.Вставить("Таблица", ТабЧастьДокумента.Скопировать(Новый Структура("Пометка", Истина)));
ОповеститьОВыборе(Параметры);
КонецПроцедуры
ПоказатьПосмотрите в модуле формы документа Оприходования процедура должна быть (я ее создавал) "ПоступлениеПрокатаПоступлениеДокументаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)". В этой процедуре и можно заполнить табличную часть документа
СтандартнаяОбработка = Ложь;
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
Таблица = ВыбранноеЗначение.Таблица;
Для Каждого СтрокаТаблицы Из Таблица Цикл
НоваяСтрока = ОбъектыПроката.Добавить();
НоваяСтрока.Носитель = СтрокаТаблицы.Носитель;
КонецЦикла;
Элемент.Значение = ВыбранноеЗначение.Документ;
КонецЕсли;
Показать
(34) sannt, Я пока еще в 8 слабо ориентируюсь,в основном по примерам учусь) Спасибо за помощь вам большое,везде плюсы ставлю Вам!
А при выборе установлен ли флаг или нет,надо писать в процедуре документа "ПоступлениеПрокатаПоступлениеДокументаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)" как я понимаю?
А при выборе установлен ли флаг или нет,надо писать в процедуре документа "ПоступлениеПрокатаПоступлениеДокументаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)" как я понимаю?
Нет, не нужно. Туда попадают строки только с установленным флагом.
В обработке есть строка
здесь делается отбор этих строк из таблицы
В обработке есть строка
Параметры.Вставить("Таблица", ТабЧастьДокумента.Скопировать(Новый Структура("Пометка", Истина)));
здесь делается отбор этих строк из таблицы
Процедура ДокументСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Опиходовать весь документ?", Режим, 0);
Если Ответ = КодВозвратаДиалога.Нет Тогда
ФормаПодбора = Обработки.ПодборСтрокВТабличнойЧасти.ПолучитьФорму("Форма", ЭтаФорма.ВладелецФормы);
ФормаПодбора.ДокументСсылка = ВыбраннаяСтрока;
ФормаПодбора.Открыть();
Иначе
?????????????????????????
КонецЕсли;
КонецПроцедуры
ПоказатьДелаю выбор диалога,оприходовать весь документ или выбирать таб часть. При выборе таб асти нет проблем,а что писать после Иначе,чтобы он просто выбрал,что-то не могу подобрать)
Процедура ДокументСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Опиходовать весь документ?", Режим, 0);
Если Ответ = КодВозвратаДиалога.Нет Тогда
СтандартнаяОбработка = Ложь;
ФормаПодбора = Обработки.ПодборСтрокВТабличнойЧасти.ПолучитьФорму("Форма", ЭтаФорма.ВладелецФормы);
ФормаПодбора.ДокументСсылка = ВыбраннаяСтрока;
ФормаПодбора.Открыть();
КонецЕсли;
КонецПроцедуры
Показать
Процедура ПоступлениеПрокатаПоступлениеДокументаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
СтандартнаяОбработка = Ложь;
Таблица = ВыбранноеЗначение.Таблица;
Для Каждого СтрокаТаблицы Из Таблица Цикл
НоваяСтрока = ОбъектыПроката.Добавить();
НоваяСтрока.Носитель = СтрокаТаблицы.Носитель;
КонецЦикла;
Элемент.Значение = ВыбранноеЗначение.Документ;
Иначе
Для Каждого СтрокаТаблицы Из ВыбранноеЗначение.ОбъектыПроката Цикл
НоваяСтрока = ОбъектыПроката.Добавить();
НоваяСтрока.Носитель = СтрокаТаблицы.Носитель;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Показать
Как обратиться к ячейке форме выбора документа,если ее оприходование идет через обработку. Нужно устанвливать значение ячей Частично оприходован в истину,если выбираю по строчный выбор. (построчный это через эту обработку)
(43) Можно так:
Можно создать переменную в модуле формы и ее значение менять на +/- 1 при установке/снятии флажка, а потом сравнивать с количеством строк в таблице.
(44) Тут тоже несколько вариантов может быть. Все зависит от цели данной задачи.
МассивСтрок = ТабЧастьДокумента.НайтиСтроки(Новый Структура("Пометка", Истина));
Если МассивСтрок.Количество() = ТабЧастьДокумента.Количество() Тогда
// Обработка ситуации, когда все строки отмечены
КонецЕсли;
Можно создать переменную в модуле формы и ее значение менять на +/- 1 при установке/снятии флажка, а потом сравнивать с количеством строк в таблице.
(44) Тут тоже несколько вариантов может быть. Все зависит от цели данной задачи.
(47) sannt, цель в постах 43 и 44 общая. Смысл в том что можно выставлять флаги к строкам каждого документа,если флаги для конкретного документа все проставлены,получается он полностью оприходован и я передаю команду удалить значения ячейки "Частично оприходован" и ставлю автоматически "Оприходован",Т.к при полном оприходовании у меня стоит запрет на повторное оприходование.Ведь дважды оприходовать нельзя.
Процедура КнопкаВыполнитьНажатие(Кнопка)
Параметры = Новый Структура;
Параметры.Вставить("Документ", ДокументСсылка);
Параметры.Вставить("Таблица", ТабЧастьДокумента.Скопировать(Новый Структура("Пометка", Истина)));
ОповеститьОВыборе(Параметры);
КонецПроцедуры
ПоказатьПроцедура ПередОткрытием(Отказ, СтандартнаяОбработка)
ТабЧастьДокумента = ДокументСсылка.ОбъектыПроката.Выгрузить();
ТабЧастьДокумента.Колонки.Вставить(0, "Пометка", Новый ОписаниеТипов("Булево"),,5);
ЭлементыФормы.ТабЧастьДокумента.СоздатьКолонки();
ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.Данные = "";
ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.ДанныеФлажка = "Пометка";
ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
КонецПроцедуры
ПоказатьЭто код обработки...еще как можно сохранять значение флага,чтобы он оставаля.
(44) aguilar,
ширины под флажок достаточно 3 пункта.
Сделать Перем Стурктуру с видимостью по модулю, и записывать туда значение флага и номер строки.
Структуру динамически менять при удалении\добавлении.
Если нужно помнить галочки после закрытия документа - то хранить через СохранитьЗначение(<Имя>, <Значение>) (или ВременноеХранилище, в зависимости от длительности хранения), если только на время открытия документа - времени сущетсвования структуры вполне хватит для обработки галок.
ТабЧастьДокумента.Колонки.Вставить(0, "Пометка", Новый ОписаниеТипов("Булево"),,5);
ширины под флажок достаточно 3 пункта.
еще как можно сохранять значение флага,чтобы он оставаля.
Сделать Перем Стурктуру с видимостью по модулю, и записывать туда значение флага и номер строки.
Структуру динамически менять при удалении\добавлении.
Если нужно помнить галочки после закрытия документа - то хранить через СохранитьЗначение(<Имя>, <Значение>) (или ВременноеХранилище, в зависимости от длительности хранения), если только на время открытия документа - времени сущетсвования структуры вполне хватит для обработки галок.
Я бы к контролю оприходованных позиций документа поступления подключил бы регистр накопления (остатки). Думаю это самое простое. Хотя, можно и что-нибудь другое придумать.
Поступление делает по регистру движения "приход", а оприходование - "расход". Все что на остатках и есть не отмеченные строки. И при открытии обработки можно смотреть остатки по документу поступления и отмечать те строки, которых нет на остатках. При использовании регистра есть возможность не только оприходования части видов товара, но и количества товара.
Поступление делает по регистру движения "приход", а оприходование - "расход". Все что на остатках и есть не отмеченные строки. И при открытии обработки можно смотреть остатки по документу поступления и отмечать те строки, которых нет на остатках. При использовании регистра есть возможность не только оприходования части видов товара, но и количества товара.
1. СохранитьЗначение() индивидуально для каждой пары "информационная база - пользователь". Кто сохранил, тот и сможет только восстановить это значение.
2. А что, если захотите после оприходования сделать изменения? Отменить оприходование, удалить часть строк. Тогда восстановленное значение в обработке покажет не верную картину.
Если все это не смущает и не мешает, то используйте в качестве параметра Имя в СохранитьЗначение() уникальный идентификатор документа поступления.
2. А что, если захотите после оприходования сделать изменения? Отменить оприходование, удалить часть строк. Тогда восстановленное значение в обработке покажет не верную картину.
Если все это не смущает и не мешает, то используйте в качестве параметра Имя в СохранитьЗначение() уникальный идентификатор документа поступления.
Есть, наверное, и другие способы, все зависит от того, как "далеко" захотите зайти в автоматизации процесса оприходования. Можете поискать... :)
По регистру потом можно будет отчет построить по остаткам, или можно кнопку "Заполнить" в оприходование добавить, по которой остатками (всеми или с отбором) будет заполняться документ, или ... и т.д. и т.п.
По регистру потом можно будет отчет построить по остаткам, или можно кнопку "Заполнить" в оприходование добавить, по которой остатками (всеми или с отбором) будет заполняться документ, или ... и т.д. и т.п.
(58) aguilar, вот пример на Вашей конфигурации. Конечно некоторые моменты стоит доработать. Добавить в документах контроль заполнения "Количество", иначе с остатками ничего не получится. Да и колонки в обработке закройте для редактирования, кроме "Пометка", так будет правильно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот