Answer the question
In order to leave comments, you need to log in
How to pass the current date to the 1C request from a python script, connecting to 1C via a COM connection?
In 1C itself, this is done like this:
Запрос = Новый Запрос;
Запрос.Текст = »
ВЫБРАТЬ
...
ИЗ
...
ГДЕ
СчетНаОплатуПокупателю.Дата = &ТекущаяДата«;
Запрос.УстановитьПараметр(«ТекущаяДата», ТекущаяДата());
#coding=cp1251
import pythoncom
import win32com.client
V83_CONN_STRING = 'File="C:\\Users\\user\\Documents\\InfoBase\\";Usr="Иван Иванов";Pwd="123456";'
pythoncom.CoInitialize()
V83 = win32com.client.Dispatch("V83.COMConnector").Connect(V83_CONN_STRING)
q1 = '''
ВЫБРАТЬ
Док.Дата КАК TN_DATE,
Док.Номер КАК TN_NUMBER,
Док.Подразделение.Наименование КАК TN_UNIT_TITLE,
Док.Склад.Наименование КАК TN_STORE_TITLE,
Док.ДокументОснование.Номер КАК ZNP_NUMBER,
Док.ДокументОснование.Дата КАК ZNP_DATE
ИЗ
Документ.ТребованиеНакладная КАК Док
ГДЕ
Док.Ссылка.Дата = ДАТА(2019, 2, 25) #Вот тут нужно сравнивать Док.Ссылка.Дата с текущей датой, а не писать каждый раз ручками!
'''
Answer the question
In order to leave comments, you need to log in
from datetime import date
q1 = f'''
ВЫБРАТЬ
Док.Дата КАК TN_DATE,
Док.Номер КАК TN_NUMBER,
Док.Подразделение.Наименование КАК TN_UNIT_TITLE,
Док.Склад.Наименование КАК TN_STORE_TITLE,
Док.ДокументОснование.Номер КАК ZNP_NUMBER,
Док.ДокументОснование.Дата КАК ZNP_DATE
ИЗ
Документ.ТребованиеНакладная КАК Док
ГДЕ
Док.Ссылка.Дата = ДАТА({date.today().strftime('%Y,%m,%d')}) #Вот тут нужно сравнивать Док.Ссылка.Дата с текущей датой, а не писать каждый раз ручками!
'''
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question