Вопрос № 62010: Здравствуйте! Подскажите пожалуйста кто может: как сделать. чтобы в справочнике Номенклатура выводился только товар с ненулевыми остатками либо сразу, либо по нажатии кнопки. Форма списка имеет следующие столбцы: код, наименование, ед.изм., остаток; ...Вопрос № 62029: Добрый день!
Подскажите, можно ли как-то програмно, без применения внешних компонент по определенному сигналу(нажатие кнопки или заданное врем) завершить работу системы ВСЕХ пользователей кроме подавшего сигнал.
Заранее спасибо!...Вопрос № 62034: Здравствуйте!!!
Уважаемые эксперты. Подскажите, пожалуйста, как узнать номер квартала в 1с 7.7...Вопрос № 62036: Здравствуйте!!!
Можно ли в 1с 7.7 сделать окошко с вводом пароля, т.е. когда пользователь вводит строку, чтоб там были не вводимые им символы, а ************** ?...Вопрос № 62039: Привет!
Есть конфа УПП. В ней есть документ Платежное ПоручениеИсходящее, в свойствах документа есть список документов, на основе которых может создаваться документ ПлатежноеПоручение.
Создаю свой документ ЗаявкаНаОплату, добавляю в вы...Вопрос № 62042: Здравствуйте Уважаемые эксперты. При загрузке данных в 1С из Microsoft Excel
выводит ошибку Спр.Записать(); {Документ.ПрихНакл.Форма.Модуль(51)}: Не определена дата! Элемент не может быть записан!
что делать? ...Вопрос № 62050: Как выбрать из базы 1С 7.7 все документы (например расходные накладные) но так чтобы выводился каждый документ, а не склеивался не по датам не по контрагенту? Спасибо....
Вопрос № 62.010
Здравствуйте! Подскажите пожалуйста кто может: как сделать. чтобы в справочнике Номенклатура выводился только товар с ненулевыми остатками либо сразу, либо по нажатии кнопки. Форма списка имеет следующие столбцы: код, наименование, ед.изм., остаток; где Остаток-НЕ реквизит справочника, а текст с формулой ОстатокТовараНаСкладе().(см.примечание). Заранее спасибо, очень поможете.
Приложение:
Отправлен: 09.11.2006, 23:19
Вопрос задал: Darina (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Elric
Здравствуйте, Darina!
В любой форме списка справочника (с любым набором колонок) можно применить метод ИспользоватьСписокЭлементов(). Т.е. делаете запрос, формируете список нужных Вам элементов справочника (например, как в Вашем случае, товары с ненулевым остатком) и применяете метод, в качестве параметра указывая сформированный список значений.
--------- Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Практикант)
Ответ отправлен: 10.11.2006, 03:01 Оценка за ответ: 4 Комментарий оценки: Да, знаю, что можно создать запрос и применять метод ИспользоватьСписокЭлементов(), но что-то не получается. Задам другой вопрос.
Отвечает: Гребиников Павел Генадьевич
Здравствуйте, Darina!
Скорее всего, вы забыли
создатьобъект(справочник.Номенклатура) и потом "плясать" уже от него
--------- Плох тот юзер, который не мечтает стать админом...
Отвечает: Ovr1970
Здравствуйте, Darina!
ИспользоватьСписокЭлементов работает, но многие почему-то не замечают, что он должен вызываться при каждом изменении родителя и содержать только список элементов из открытой группы. (Или корневой список)
Ответ отправил: Ovr1970 (статус: Студент)
Ответ отправлен: 10.11.2006, 17:59 Оценка за ответ: 3 Комментарий оценки: Я уже решила эту проблему сама методом ИспользоватьСписокЭлементов(). Кому надо могу подсказать, пишите.
Вопрос № 62.029
Добрый день!
Подскажите, можно ли как-то програмно, без применения внешних компонент по определенному сигналу(нажатие кнопки или заданное врем) завершить работу системы ВСЕХ пользователей кроме подавшего сигнал.
Заранее спасибо!
Отвечает: Шальков Павел Владимирович
Здравствуйте, Зайцев Александр!
Я бы предложил Вам извратиться так:
1. Создать константу - ИнициаторСобытия, куда будет помещаться имя пользователя, вызвавшего событие;
2. Создать процедуру в глобальном модуле, которая будет вызывать завершение работы пользователя с помощью процедуры ЗавершитьРаботуСистемы() при условии, что константа в пункте 1 заполнена и она не равна текущему пользователю;
3. В предопред. процедуре ПриНачалеРаботыСистемы() создать обработчик ожидания на процедуру в пункте 2; а также установку константы в пункте 1 в пустую строку.
Все... потом, чтоб завершить всех остальных, вы просто заполняете константу.
Ответ отправил: Шальков Павел Владимирович (статус: 9-ый класс)
Ответ отправлен: 10.11.2006, 07:27 Оценка за ответ: 4 Комментарий оценки: Это не сработает, если у кого-то остался открытым не записанный документ, а необходимо закрыть в любом случае
Отвечает: Vizli
Здравствуйте, Зайцев Александр!
у 1с есть методическая конфа (идет на дисках ИТС) в нем есть такая обработка - завершение работы пользователей и куча прочих программных фич.
механизм таков - есть константа
Константа.СообщениеНеобходимостиЗавершения (тип текст)
в гл. модуле процедура в процедуре ПриНачалеРаботыСистемы() вызывается ОбработкаОжидания("ПроцессОбработкиОжиданияДиспетчера",120) а в процедуре ПроцессОбработкиОжиданияДиспетчера() есть код:
Если ПустаяСтрока(Константа.СообщениеНеобходимостиЗавершения)=0 Тогда
// обрабативается показ сообщенияКонстанта.СообщениеНеобходимостиЗавершения
// и завершается работа системы
ЗавершитьРаботуСистемы();
КонецЕсли;
т.е. ты заносишь в константу сообщение, пользователи его видят и сами звершают работу или система автоматически завершит работу
Ответ отправил: Vizli (статус: 3-ий класс)
Ответ отправлен: 10.11.2006, 07:43 Оценка за ответ: 4 Комментарий оценки: См. комментарий к предыдущему ответу
Отвечает: Elric
Здравствуйте, Зайцев Александр!
Учитывая комментарии к предыдущим ответам, такой возможности однозначно нет.
P.S. Закрытие 1С при незаписанных справочниках или документах явление опасное.
--------- Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Практикант)
Ответ отправлен: 10.11.2006, 11:40 Оценка за ответ: 2 Комментарий оценки: Как оказалось есть
Отвечает: Netizen
Здравствуйте, Зайцев Александр!
Можно 100%. Есть определенные внутренние команды, сейчас не помню ну типа "ЗавершитьРаботуПользователя".
Ответ отправил: Netizen (статус: Студент)
Ответ отправлен: 10.11.2006, 12:06
Вопрос № 62.034
Здравствуйте!!!
Уважаемые эксперты. Подскажите, пожалуйста, как узнать номер квартала в 1с 7.7
Ответ отправил: Зайцев Александр (статус: 10-ый класс)
Ответ отправлен: 10.11.2006, 08:15
Отвечает: Шальков Павел Владимирович
Здравствуйте, Гребиников Павел Генадьевич!
Можно использовать выражение типа:
НомерКвартала = Цел((ДатаМесяц(<Дата>)-1)/3)+1;
Ответ отправил: Шальков Павел Владимирович (статус: 9-ый класс)
Ответ отправлен: 10.11.2006, 08:16 Оценка за ответ: 5
Отвечает: Игорь К.
Здравствуйте, Гребиников Павел Генадьевич!
ДатаМесяц(КонКвартала(Дат+30*ш))/3;
Удачи
Ответ отправил: Игорь К. (статус: 1-ый класс)
Ответ отправлен: 10.11.2006, 08:40
Вопрос № 62.036
Здравствуйте!!!
Можно ли в 1с 7.7 сделать окошко с вводом пароля, т.е. когда пользователь вводит строку, чтоб там были не вводимые им символы, а ************** ?
Отвечает: Besker
Здравствуйте, Гребиников Павел Генадьевич!
В свойствах поля ввода на закладке дополнительно, установите галочку для ввода пароля.
--------- Жизнь игра, а настоящая игра - МАНИЯ.
Ответ отправил: Besker (статус: Студент)
Ответ отправлен: 10.11.2006, 08:39
Отвечает: Шальков Павел Владимирович
Здравствуйте, Гребиников Павел Генадьевич!
в свойствах поля ввода на закладке дополнительно установите галочку для ввода пароля. Удачи!
Привет!
Есть конфа УПП. В ней есть документ Платежное ПоручениеИсходящее, в свойствах документа есть список документов, на основе которых может создаваться документ ПлатежноеПоручение.
Создаю свой документ ЗаявкаНаОплату, добавляю в вышеозначенный список в документе Платежное поручение ссылку на свой документ, в своем документе соответственно ссылку на ПлатежноеПоручение (что на основе документа ЗаявкаНаОплату можно создать ПлатежноеПоручение).
После сохранения платежки смотрю подчиненнность документа - нефига он не подчинен документу, на основании которого создан.
Смотрел в дебагере в модуле объекта ПлатежноеПоручение есть фукция ОбработкаПроведения(Основание), вызываемая при вызове ПлатжкаОбъект.Заполнить(ЭтотОБъект.Ссылка). Там есть следующая строка
Код:
ДокументОснование = Основание.Ссылка;
я так понимаю она и отвечает за присвоение подчиненности документу. Но в дебагере при выполнении этой строки ничего не изменяется, т.е. реквизит ДокументОснование=Неопределено.
Пробовал проделывать то же самое со стандартными документами, указанными в списке ПлатежногоПоручения как документы на оснвании которых можно создавать документ. В частности пробовал с БюджетнойОперацией - здесь все ОК. Ссылка на документ основание создается.
Возникает нехорошее подозрение, что что-то не так с моим документом, но что понять не могу.
Отправлен: 10.11.2006, 09:15
Вопрос задал: Shadow586 (статус: Студент)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Vizli
Здравствуйте, Shadow586!
дело в том, что реквизит ДокументОснование в документе ПлатежноеПоручениеИсходящее - составной, поэтому нужно добавить нужный документ (ЗаявкаНаОплату) в тип данных реквизита ДокументОснование. Тогда для дока ПлатежноеПоручениеИсходящее в структуре пождчиненности появится нужный док.
Ответ отправил: Vizli (статус: 3-ий класс)
Ответ отправлен: 10.11.2006, 10:17 Оценка за ответ: 5 Комментарий оценки: Понятно объяснили. Заочно ставлю "отлично" и жду пример в минифорум. В 1С я начинающий, и мне надо все с примерами.
Вопрос № 62.042
Здравствуйте Уважаемые эксперты. При загрузке данных в 1С из Microsoft Excel
выводит ошибку Спр.Записать(); {Документ.ПрихНакл.Форма.Модуль(51)}: Не определена дата! Элемент не может быть записан!
что делать?
Приложение:
Отправлен: 10.11.2006, 09:37
Вопрос задал: Laziz (статус: Посетитель)
Всего ответов: 5 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зайцев Александр
Здравствуйте, Laziz M. Ismailov!
Попробуйте перед Спр.Записать; добавить строку
Спр.ИспользоватьДату(ТекущаяДата());
или переодические реквизиты (СтавкаНДС, НДС) определять с помощью метода НДС.Установить(ТекущаяДата(), Число(ПолучитьЗначение(Excel,i,7)));
Должно помочь
Ответ отправил: Зайцев Александр (статус: 10-ый класс)
Ответ отправлен: 10.11.2006, 09:50
Отвечает: Vizli
Здравствуйте, Laziz M. Ismailov!
проблема в том, что СтавкаНДС - периодический реквизит неправильно заполнен. Такие реквизиты нельзя заполнить простым присвоением, нужно использовать метод Установить():
Спр.СтавкаНДС.Установить(<Дата>,<Значение>)
Ответ отправил: Vizli (статус: 3-ий класс)
Ответ отправлен: 10.11.2006, 10:07
Отвечает: Гребиников Павел Генадьевич
Здравствуйте, Laziz M. Ismailov!
Такая ошибка обычно выходит когда если у справочника есть периодический реквизит(реквизит со значением на указанную дату), а вы не указываете дату, на которую вы устанавливаете этот реквизит.
у вас в данном случае периодическим может быть либо ставкандс либо себестоимость
Посмотрите в конфигураторе.
Приложение:
--------- Плох тот юзер, который не мечтает стать админом...
Отвечает: Karanskiy Arkadiy
Здравствуйте, Laziz M. Ismailov!
Эта ошибка выдается при записи периодических реквизитов. Для этого просто поставте Спр.ИспользоватьДату(РабочаяДата()) и ошибка исчезнет.
Успехов...
Ответ отправил: Karanskiy Arkadiy (статус: 5-ый класс)
Ответ отправлен: 11.11.2006, 20:16
Вопрос № 62.050
Как выбрать из базы 1С 7.7 все документы (например расходные накладные) но так чтобы выводился каждый документ, а не склеивался не по датам не по контрагенту? Спасибо.
Отправлен: 10.11.2006, 11:07
Вопрос задал: Mum (статус: Посетитель)
Всего ответов: 5 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зайцев Александр
Здравствуйте,
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|РасходнаяНакладная = Документ.РасходнаяНакладная.ТекущийДокумент;
|Группировка РасходнаяНакладная;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей РасходнаяНакладная
Таб.ВывестиСекцию("РасходнаяНакладная");
КонецЦикла;
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
Т.е. определяется групировка по документу, если хотите 'склеивать' по датам или по контрагенту то добавьте в запрос переменную (пр. дата = Документ.РасходнаяНакладная.ДатаДок) и групировка дата
Ответ отправил: Зайцев Александр (статус: 10-ый класс)
Ответ отправлен: 10.11.2006, 11:24
Отвечает: Elric
Здравствуйте, Mum!
В предыдущем ответе один маленький и легко обходимый, но все же недостаток -- необходимо выбирать период выборки. Чтобы выбрать вообще все накладные из базы см. Приложение.
Приложение:
--------- Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Практикант)
Ответ отправлен: 10.11.2006, 11:46
Отвечает: Гребиников Павел Генадьевич
Здравствуйте, Mum!
Док=создатьобъект(Документ.расходнаянаклданая);
Док.выбратьдокументы(дата1,дата2);
Пока док.получитьдокумент()=1 цикл
Сообщить(Док.номердок);
.....................
Конеццикла;
--------- Плох тот юзер, который не мечтает стать админом...
Ответ отправил: Гребиников Павел Генадьевич (статус: 6-ой класс)
Ответ отправлен: 10.11.2006, 12:12 Оценка за ответ: 5 Комментарий оценки: а из таблицы документа как взять данные?
Отвечает: Краюшкин Игорь Валерьевич
Здравствуйте, Mum!
Док = СоздатьОбъект("Документ.хххх"); //где хххх - необходимый вид документа
Док.ВыбратьДокументы(НачальнаяДата, КонечнаяДата); //начальную и конечную даты можно не указывать, тогда выборка будет производиться с самого первого документа до самого последнего
Пока Док.ПолучитьДокумент() = 1 Цикл
//вот здесь в каждом проходе цикла переменная Док будет иметь значение необходимых документов
КонецЦикла;
Отвечает: Karanskiy Arkadiy
Здравствуйте, Mum!
Док = СоздатьОбъект("Документа.РасходнаяНакладная");
Док.ВыбратьДокументы(Дата1, Дата2);
Пока Док.ПолучитьДокумент() = 1 Цикл
Если Док.Проведен()=0 Тогда Продолжить; КонецЕсли;
//Здесь можно обращаться к любому реквизиту документа
КонецЕсли;
Успехов...
Ответ отправил: Karanskiy Arkadiy (статус: 5-ый класс)
Ответ отправлен: 11.11.2006, 20:12 Оценка за ответ: 5 Комментарий оценки: а из талицы почемуто не берет данные?