Архив рубрики: ЗАПИСИ ПРОГРАММИСТА 1С

Модальное открытие формы в 1с 8. Как вернуть результат ОткрытьМодально()

Открытие формы модально — форма появляется на экране и блокирует другие окна, пока не будет закрыта. МодФорма = ПолучитьФорму(«ОсновнаяФорма»,ВладелецФормы); Результат = МодФорма.ОткрытьМодально(); Возникает проблема возврата результата, если форма не «для выбора» В описании функции ОткрытьМодально() написано:   Форма.ОткрытьМодально (Form.DoModal) ОткрытьМодально(<Таймаут>) Параметры: <Таймаут> (необязательный) Тип: Число. Время показа формы в секундах, по истечении которого форма будет закрыта… Читать далее »

Функции для работы со строками в запросе

Прямо скажем механизмов для работы со строками в запросах 1С мало. Во-первых, строки можно складывать. Во-вторых, от строки можно взять подстроку. Во-третьих, строки можно сравнивать, в том числе по шаблону. Вот пожалуй и всё, что можно делать со строками. ВЫБРАТЬ «Жизнь прекрасна!» либо реквизит таблицы, у которого тип СТРОКА: ВЫБРАТЬ Наименование ИЗ Справочник.Еда Сложение строк Для… Читать далее »

Принадлежность элемента к группе (ПринадлежитЭлементу)

Определить находиться ли элемент в указанной папке (группе) или нет вместо запроса можно использовать эту функцию Если ОбъектСсылка.ПринадлежитЭлементу(ЭлементСсылка) Тогда Сообщить(«Принадлежит»); КонецЕсли; Пример: Папка = Справочники.Контрагенты.НайтиПоКоду(«00000011»); Если Контрагент.ПринадлежитЭлементу(Папка) Тогда Сообщить(«Принадлежит»); КонецЕсли;

Скопировать таблицу значений 1С (ЗаполнитьЗначенияСвойств)

Для копирования данных из одной таблицы значения в другую в типовых конфигурациях 1с 8 существует процедура модуля ОбщегоНазначения.ЗагрузитьВТаблицуЗначений. Она добавляет в таблицу значений строки из другой таблицы значений, наименования колонок должны совпадать. Процедура ЗагрузитьВТаблицуЗначений(ТаблицаИсточник, ТаблицаПриемник) Экспорт Для каждого СтрокаТаблицыИсточника Из ТаблицаИсточник Цикл СтрокаТаблицыПриемника = ТаблицаПриемник.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаТаблицыПриемника,СтрокаТаблицыИсточника); КонецЦикла; КонецПроцедуры ТаблицаИсточник — таблица значений, откуда берутся значения.… Читать далее »

Тип значения документа, справочника

Для проверки типа документа или справочника В процедуре или функции Если ТипЗнч(Основание) = Тип(«ДокументСсылка.РеализацияТоваровУслуг») Тогда … КонецЕсли; или Если Документ.Ссылка.Метаданные().Имя = «РеализацияТоваровУслуг» Тогда …. КонецЕсли; В запросе выбор когда (Взаиморасчеты.Документ Ссылка Документ.РеализацияТоваровУслуг)

Как получить сумму всех начислений указанному сотруднику в указанном периоде?

ВЫБРАТЬ БУОсновныеНачисления.Организация КАК Организация, ПРЕДСТАВЛЕНИЕ(БУОсновныеНачисления.Организация), БУОсновныеНачисления.ВидРасчета, ПРЕДСТАВЛЕНИЕ(БУОсновныеНачисления.ВидРасчета), БУОсновныеНачисления.Результат КАК Результат, «»Основные»» КАК ВариантНачислений ИЗ РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления ГДЕ БУОсновныеНачисления.ПериодРегистрации = &НужныйПериод И БУОсновныеНачисления.ФизЛицо = &ФизЛицо ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ БУДополнительныеНачисления.Организация, ПРЕДСТАВЛЕНИЕ(БУДополнительныеНачисления.Организация), БУДополнительныеНачисления.ВидРасчета, ПРЕДСТАВЛЕНИЕ(БУДополнительныеНачисления.ВидРасчета), БУДополнительныеНачисления.Результат, «»Дополнительные»» ИЗ РегистрРасчета.БУДополнительныеНачисления КАК БУДополнительныеНачисления ГДЕ БУДополнительныеНачисления.ПериодРегистрации = &НужныйПериод И БУДополнительныеНачисления.ФизЛицо = &ФизЛицо ИТОГИ СУММА(Результат) ПО ОБЩИЕ, Организация, ВариантНачислений

Как получить сумму начисления по конкретному виду расчета указанному сотруднику в указанном периоде?

Запрос = Новый Запрос; Запрос.Текст = «ВЫБРАТЬ | БУОсновныеНачисления.Результат |ИЗ | РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления |ГДЕ | БУОсновныеНачисления.ПериодРегистрации = &Период | И | БУОсновныеНачисления.ФизЛицо = &ФизЛицо | И | БУОсновныеНачисления.ВидРасчета = &ВидРасчета»; Запрос.УстановитьПараметр(«Период», НачалоМесяца(Период1)); Запрос.УстановитьПараметр(«ВидРасчета», ВидРасчета); Запрос.УстановитьПараметр(«ФизЛицо», ФизЛицо);

Как долларовую сумму вывести прописью по-английски?

ФорматнаяСтрока = «Л=en_US»; ПараметрыПредметаИсчисления = «dollar, dollars, cent, cents, 2»; Сообщить(ЧислоПрописью(Сумма, ФорматнаяСтрока, ПараметрыПредметаИсчисления));

Как вывести прописью число килограммов с указанием дробной части в граммах?

ПараметрыПредметаИсчисления = «килограмм, килограмма, килограммов, м, грамм, грамма, граммов, м, 3»; ФорматнаяСтрока = «Л=ru_RU; ДП=Истина»; Сообщить(ЧислоПрописью(ВыводимоеЧисло, ФорматнаяСтрока, ПараметрыПредметаИсчисления));

Как вывести число прописью по-русски, с указанием сотых в дробной части?

ПараметрыПредметаИсчисления = «целая, целых, целых, ж, сотая, сотой, сотых, ж, 2» ФорматнаяСтрока = «Л=ru_RU; ДП=Истина»; Сообщить(ЧислоПрописью(ВыводимоеЧисло, ФорматнаяСтрока, ПараметрыПредметаИсчисления));